IcePanel Docs
  • 🧊Welcome
  • 🏁Getting started
  • Core Features
    • Modelling
      • Model objects view
      • Connections list
      • Groups
    • Diagramming
      • Diagrams section
    • Organizations
    • Landscapes
    • Domains
    • Global search
    • Dependencies view
    • Imports
    • Exports
  • COLLABORATION
    • Comments
    • Share links & embeds
  • Ownership teams
  • Roles & permissions
  • Visual Storytelling
    • Flows
      • Flows section
    • Tags
    • Technology choices
  • Future state design
    • Drafts
    • Versioning
  • Reality linking and integrations
    • Linking to reality
    • Code repo linking
      • GitLab
      • GitHub
      • Bitbucket Server
      • Azure DevOps
    • Inaccuracy score
    • REST API
  • 🎓Expert help
    • Training
    • Pilot
  • 🎨Templates
    • IcePanel
    • E-commerce
    • Low-code
    • Marketplace
    • RSS feed
    • Bank
  • ❓Other information
    • Glossary
    • SSO - SAML
    • UI theme
    • Hotkeys
    • Troubleshooting
Powered by GitBook
On this page
  • Using Azure DevOps
  • Using dev.azure.com
  • Whitelist the IcePanel repo scanner
  • Using self-hosted Azure DevOps
  • CLI command reference
  • Self-signed certificates

Was this helpful?

  1. Reality linking and integrations
  2. Code repo linking

Azure DevOps

PreviousBitbucket ServerNextInaccuracy score

Last updated 2 months ago

Was this helpful?

Only organization Admins can create, edit and delete integrations.

Link your model objects to reality, such as code repos, branches, folders and files. When those links move, change names or get deleted, we’ll notify you that the object may need to be updated in your IcePanel landscape.

Learn more here: Linking to reality

Using Azure DevOps

Using

IcePanel uses OAuth to authenticate with 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

Whitelist the IcePanel repo scanner

You may find that no code repos show if your organization has enabled IP filtering or whitelisting in your integration. To resolve this whitelist the IcePanel repo scanner IP address:

34.168.47.236

Using self-hosted Azure DevOps

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

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

  2. Create an API key with admin permissions

⠀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]

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
  --filter-repos <pattern>    Filter code repo names to include, supports wildcards
  --delete-all                Delete all code repos and trees for this integration
  --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
  FORCE                       Force refresh of code repos and trees
  FILTER_REPOS                Filter code repo names to include, supports wildcards
  CONCURRENCY                 Number of jobs that can be processed in parallel
  LOG_LEVEL                   Options are fatal, error, warn, info, debug, trace, silent

Self-signed certificates

To use a self signed the certificates NODE_TLS_REJECT_UNAUTHORIZED=0must be specified as an environment variable to the CLI container.

Create an Azure DevOps with the code read scope

Run the docker image in azure-devops-sync mode with the following parameters

dev.azure.com
dev.azure.com
personal access token
IcePanel CLI