Skip to main content

Integrate Azure DevOps issue tracking


Prerequisites​

  • The APIsec platform requires the Personal Access Token, Organization Name, Project, and optionally the Area Path to connect with Azure DevOps using the Personal Access Token method.

    Personal Access Token​

    Follow the steps below to obtain a Personal Access Token

    • Log in to your Azure DevOps account

    • Click on User Setting and select Personal Access Token User Setting menu with Personal Access Token option

    • Click on New Token New Token button

    • Enter token name and select scope Token name and scope fields

    • Click on Create and copy the token Create button

      Copy the generated token

    • Organization Name: Copy Organization name from the dashboard

    • Project: Copy Project from the dashboard

    • Area Path (optional): Teams use it to determine what shows up on the team's backlog and what work items the team is responsible for.

      • Follow the steps below to obtain the Area Path

        • Click on Project Settings Project Settings
        • Click on Project configuration Project configuration
        • Select Areas Areas option
        • Click on New Child, New Child option
        • Enter the Area name, click Save and close, and copy the name Area name and Save and close button

Service Principal​

Follow the steps below to obtain a Service Principal

  • 1. Create a Service Principal

    • Go to the Azure Portal → Microsoft Entra ID → App registrations → New registration.

    • Enter a name (e.g., ADOServicePrincipal).

    • Select "Accounts in this organizational directory only".

    • Set the Redirect URI (optional for service principals).

    • Click Register.

      New app registration in Microsoft Entra ID

  • 2. Retrieve Tenant ID and Client ID

    • After registering the application:
    • Go to the Overview page of your registered app.
    • Copy the following values:
      • Application (client) ID → This is your CLIENT_ID.
      • Directory (tenant) ID → This is your TENANT_ID.
    • Save both securely — you will need them to configure the connection in APIsec. Application (client) ID and Directory (tenant) ID on the Overview page
  • 3. Generate a Client Secret

    • Open your newly created app.
    • Navigate to Certificates & secrets → New client secret.
    • Add a description and set an expiration (e.g., 6 or 12 months).
    • Copy and securely store the generated value — this is your CLIENT_SECRET. New client secret in Certificates & secrets
  • 4. Add Microsoft Graph Permission

    • Navigate to API Permissions → Add a permission → Microsoft Graph → Delegated permissions.
    • Select User.Read.
    • Click Add Permissions
    • Click Grant admin consent for Default Directory. Microsoft Graph delegated permissions
  • 5. Create a Project and Define Area Path

    • In ADO, create a new Project (if not already available) under Organization Settings → Projects → New Project.
    • Under the project, go to Boards → Project Configuration → Areas and Iterations.
    • Define an Area Path (used to categorize and track bugs created by APIsec). Area Path in project configuration

Create an Azure DevOps connection​

  • Open your browser and visit: https://<your-tenant>.apisecapps.com

  • Click on Integrations

    Integrations tab

  • Click on the Issue Tracker tab

    Issue Tracker tab

  • You can find the Azure DevOps Issue Tracker.

    • Click Manage

      Manage button for the Azure DevOps issue tracker

    • There are two scenarios here. If Azure DevOps Connections already exist, they are listed along with a New Connection button.

      Existing Azure DevOps connections list

      • In this case, click New Connection. Otherwise, the form to create an Azure DevOps Connection is displayed directly.

        New Connection button

      • The Azure DevOps connection form is displayed.

        Azure DevOps connection form

      APIsec supports two authentication methods for connecting your Azure DevOps account:

      1. Personal Access Token (PAT)
      2. Service Principal.

      PAT is the default method shown when you create a new Azure DevOps issue tracker. Fill in the form with all the required fields.

      • Name - Specify a unique name for the connection.

      • Authentication Method - Personal Access Token (PAT)

      • Personal Access Token - Personal Access Token (PAT) generated from your account

      • Organization Name - Enter the name of your organization as registered in your service

      • Work Item Type - Choose whether vulnerabilities create an Issue or a User Story in Azure DevOps.

      • Project - Enter target project within your organization

      • Severity Selection – A multi-select dropdown with options Critical, High, Medium, and Low. This gives you control over which severity levels are synced to your issue tracker.

      • Area Path - Enter Area Path without the project name.

      • Labels – Enter single-word labels without spaces. For multiple labels, separate them with commas (,).

      • Make Connection Private - Toggle this switch to make the connection private

        Azure DevOps PAT connection form

    If you are using Service Principal to create a new Azure DevOps issue tracker then select Service Principal as the authentication method and fill in the form with all the required fields.

    • Name - Specify a unique name for the connection.

    • Authentication Method - Service Principal

    • Client ID - Enter the Client ID

    • Secret - Enter the Client Secret associated with your Azure AD application.

    • Tenant ID - Provide the Tenant ID

    • Organization Name - Enter the name of your organization as registered in your service

    • Work Item Type - Choose whether vulnerabilities create an Issue or a User Story in Azure DevOps.

    • Project - Enter target project within your organization

    • Severity Selection – A multi-select dropdown with options Critical, High, Medium, and Low. This gives you control over which severity levels are synced to your issue tracker.

    • Area Path - Enter Area Path without the project name.

    • Labels – Enter single-word labels without spaces. For multiple labels, separate them with commas (,).

    • Make Connection Private - Toggle this switch to make the connection private

      Azure DevOps Service Principal connection form

    • Click Test Connection

      Test Connection button

    • Test connection successful

      Connection test success message

    • Now click Create Connection

      Create Connection button

    • You can now view the created connection in the list below

      Azure DevOps connections list


Edit an Azure DevOps connection​

  • Open your browser and visit: https://<your-tenant>.apisecapps.com

  • Click on Integrations

    Integrations tab

  • Click on the Issue Tracker tab

    Issue Tracker tab

  • You can find the Azure DevOps Issue Tracker.

    • Click Manage

      Manage button for the Azure DevOps issue tracker

  • Click the Pencil icon for the Azure DevOps connection you want to edit.

    Pencil icon next to a connection

  • Edit the connection details. You can also update severity filters for the existing connection (if they are not updated). Changes apply to future scans and automatically close tickets that don't match the selected severities to maintain consistency. However, the corresponding vulnerabilities will still exist in the platform.

    Azure DevOps connection update form

  • Click Test Connection

    Test Connection button

  • Test connection successful

    Connection test success message

  • Click Update Connection

    Update Connection button

  • The connections list is displayed

    Updated connections list


Delete an Azure DevOps integration​

  • Open your browser and visit: https://<your-tenant>.apisecapps.com

  • Click on Integrations

    Integrations tab

  • Click on the Issue Tracker tab

    Issue Tracker tab

  • You can find the Azure DevOps Issue Tracker.

    • Click Manage

      Manage button for the Azure DevOps issue tracker

  • Click Delete icon for the Azure DevOps connection you want to delete

    Delete icon next to a connection

  • Click Delete to confirm

    Delete confirmation dialog


Set up an Azure DevOps connection with the application​

You can integrate Azure DevOps with the application to automatically track and manage issues. This integration creates tickets in Azure DevOps for easier tracking and resolution.

  • Navigate to: https://<your-tenant>.apisecapps.com

  • Click on Application

    Select the application

  • From the left navigation select Issue Tracker

    Issue Tracker in the left navigation

  • The list of Issue Trackers available in the tenant is displayed.

    Issue Trackers list

  • To create a new Azure DevOps connection from here, click New Issue Tracker, select AzureDevOps, and create a new connection.

    New Issue Tracker with AzureDevOps option

  • From that list, select the Azure DevOps connection and click Test Connection.

    Test Connection button

  • Test connection successful.

    Connection test success message

  • Now click on the Activate Connection

    Activate Connection button

  • Connection activated.

    Connection activated message

    The configured connection appears in the list as First connection.

    note

    A user role with View permissions cannot configure the Azure DevOps issue tracker in a shared application.

  • To remove the connection from the application, click the Delete icon beside the configured connection

    Delete icon beside the configured connection

  • Click Confirm to remove the connection

    Delete confirmation

    note

    A user role with View permissions cannot remove the Azure DevOps issue tracker from a shared application.