Azure Devops

Only organization Admins can create, edit and delete integrations.

Code Repo - Azure DevOps

IcePanel uses OAuth to authenticate with dev.azure.com users.

Linking an account

  1. Navigate to Integrations in IcePanel by clicking Manage in the organization dropdown

  2. Click on the New integration button and select Azure DevOps

  3. Accept the requested permissions and choose an Azure DevOps organization that you’d like to sync with IcePanel

  4. You should now see your code repos in the Links section of an object

Unlinking an account

  1. Navigate to Integrations in IcePanel by clicking Manage in the organization dropdown

  2. Select the Azure DevOps tab and click Remove

  3. Navigate to your Azure DevOps Security > Authorizations tab and revoke the authorization for IcePanel

Using self-hosted Azure DevOps

IcePanel uses personal access tokens to authenticate with self-hosted Azure DevOps instances.

  1. Create an Azure DevOps personal access token with the code read scope

  2. Navigate to API keys in IcePanel by clicking Manage in the organization dropdown

  3. Create an API key with admin permissions

  4. Run the IcePanel CLI docker image in azure-devops-sync mode with the following parameters

⠀docker run icepanel/cli azure-devops-sync \\
  --api-key $ICEPANEL_KEY \\
  --url <https://dev.azure.com> \\
  --token $AZURE_DEVOPS_TOKEN
  --organization $AZURE_DEVOPS_ORGANIZATION

Or with environment variables.

docker run \\
  -e API_KEY=$ICEPANEL_KEY \\
  -e AZURE_DEVOPS_URL=https://dev.azure.com \\
  -e AZURE_DEVOPS_TOKEN=$AZURE_DEVOPS_TOKEN \\
  -e AZURE_DEVOPS_ORGANIZATION=$AZURE_DEVOPS_ORGANIZATION \\
  icepanel/cli azure-devops-sync
  1. Once the synchronization is complete you should see your code repos in the IcePanel reality tab.

CLI command reference

Usage: IcePanel azure-devops-sync [options]

Synchronize IcePanel code repos with an Azure DevOps instance

Options:
  --api-url <value>           IcePanel API URL (default: "<https://api.icepanel.io/v1>")
  -k, --api-key <value>       IcePanel API key
  -s, --url <value>           Azure DevOps URL (default: "<https://dev.azure.com>")
  -t, --token <value>         Azure DevOps token
  -o, --organization <value>  Azure DevOps organization name, comma seperated
  -i, --interval <secs>       Interval for synchronization (default: "1800")
  -f, --force                 Force refresh of code repos and trees
  --concurrency <value>       Number of jobs that can be processed in parallel (default: "10")
  -h, --help                  display help for command

Environment variables:
  API_URL                     IcePanel API URL
  API_KEY                     IcePanel API key
  AZURE_DEVOPS_URL            Azure DevOps URL
  AZURE_DEVOPS_TOKEN          Azure DevOps token
  AZURE_DEVOPS_ORGANIZATION   Azure DevOps organization name, comma-separated
  SYNC_INTERVAL               Interval for synchronization
  CONCURRENCY                 Number of jobs that can be processed in parallel
  LOG_LEVEL                   Options are fatal, error, warn, info, debug, trace, silent

Last updated