Releases
Releases enable a "staged rollout" of changes that you make to your Command AI configuration. Combined with your existing QA processes, it can help you make sure that Command AI experiences are always functional and working well within your app.
There are two key advantages to using Releases:
- Staged rollout — Changes made by your team aren't immediately available to your users, so it's harder for someone to ship a bad change that causes a bug by mistake.
- Rollback — If you notice any issue with the changes you've pushed out to your users, you can easily roll back to a previously deployed version.
Some terminology we will use throughout this doc:
- Environment — A place where configuration for Command AI can be deployed. Each Environment has a name (e.g. “qa” or “prod”). The set of Environment names is configurable. If you want to name your environments, ask the Command AI team.
- Latest — The most up-to-date version of your Command AI configuration, including changes that may not be available to users yet.
- Release — A snapshot of the config needed to instantiate Command AI.
- Promotion — A Release is moved forward to the next environment (e.g. from “qa” to “prod”) via Promotion.
- Rollback — An Environment can be rolled back to any previously-deployed release.
Enabling releases
To enable releases, you must either be on an Enterprise plan. Please contact us if you’d like to get releases set up.
Using releases with environments
- To release a change to your QA environment, click on that environment, then click "Promote from Latest" to release your changes to it.
- If you want to release a change to production, click "Production" and promote the changes from QA.
To deploy the changes in your app, in your SDK invocation of the init
method, add the optional "environment" parameter.
Using releases with versions
To deploy the changes in your app, in your SDK invocation of the init
method, add the optional "version" parameter.
Usage
The typical workflow with Releases looks like this:
- Make a change to your Command AI config from the Dashboard or Extension. Add a new nudge, create a new Answer, etc.
- Test your changes "live" as you make them using Latest.
- Periodically, create releases for new versions.
Then, to release the new version to your users, update the version id in your init
method:
init(YOUR_ORG_ID, { version: "v14" })
Using Environments
- Release your changes to QA for someone to review.
- Test your configuration in QA to verify that all changes are working as expected. You can do this by either updating the version or environment parameter in your
init
method, or by manually selecting a release version/environment in the Editor panel.