Skip to main content

Generate an API Token

1

Navigate to the tokens page

Click on your avatar and select Integrations.Drop Down Menu
2

Generate a new token

A new window will open. Click the Generate a new API token button.Generate TokenProvide your login credentials, if prompted. You’ll be redirected to your new API Token.Generate TokenUse the Copy icon to copy the token and store it in a secure place.
This is the only time you’ll see the token here and there will be no way to retrieve it later. If you lose it, you will have to revoke all your API tokens and regenerate new ones.

Set up your CI/CD platform

1

Store the Diversion client ID

Store it as an environment variable named USER_POOL_CLIENT_ID with the value j084768v4hd6j1pf8df4h4c47.
It will be read and used by the dv client in the workflow.
Here are some relevant docs for storing environment variables in popular CI/CD platforms:
2

Store the API Token securely

Don’t store the API Token as a plain environment variable! If your CI/CD platform provides a secure secret storage, use it.
Here are some relevant docs for storing secrets in popular CI/CD platforms:
If your platform doesn’t support secure secrets handling, you can use external secret handling tools:

Create a build step in your CI/CD workflow

Install the Diversion client, authenticate it and clone your repo

In your CI/CD step editor or yml file, create a new Shell build step with the following content:
Replace $API_TOKEN with the appropriate way to reference your secret from the secure storage. Consult your platform’s docs and the secure storage docs.
Replace my-repository with the name of your repository.
dv status will block until all the files are downloaded. This is important before starting to work. It will also output the workspace ID if you want to reuse it for the next runs or view it in the web app.
-new-workspace will create a new workspace for each run of the CI/CD workflow. Passing a workspace argument here is important, or else the clone command will prompt for user input and block. See dv help clone for details.

Add the rest of your CI/CD workflow

That’s it. You’re all set to use your Diversion repo in your CI/CD workflow. You can also use any CLI commands you would use with dv when running locally.

A Jenkins example

Be sure to replace the placeholders with your actual values. Also note that this syntax is for a Windows node, so you may need to adjust it for your specific setup.