Code Repo - Azure DevOps
Using dev.azure.com
IcePanel uses OAuth to authenticate with dev.azure.com
users.
Linking an account
Navigate to Code repo integrations in IcePanel by clicking Manage in the organization dropdown.
Click Azure DevOps and accept the requested permissions.
Choose a Azure DevOps organization that you would like to synchronize with IcePanel.
You should now see your code repos in the IcePanel reality tab.
Unlinking an account
Navigate to Code repo integrations in IcePanel by clicking Manage in the organization dropdown.
Select the Azure DevOps tab and click Remove.
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.
Create an Azure DevOps personal access token with the code read scope.
Navigate to API keys in IcePanel by clicking Manage in the organization dropdown.
Create an API key with admin permissions.
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
- Once the synchronization is complete you should see your code repos in the IcePanel reality tab.
CLI command rererence
Usage: IcePanel azure-devops-sync [options]
Syncronize IcePanel code repos with a 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 syncronization (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 seperated
SYNC_INTERVAL Interval for syncronization
CONCURRENCY Number of jobs that can be processed in parallel
LOG_LEVEL Options are fatal, error, warn, info, debug, trace, silent