Skip to main content
This guide walks you through setting up an Entra service principal and granting it access to Azure DevOps so that Adclear can authenticate, fetch, create, and update work items (tickets) in your DevOps projects.
1

Create service principal in Microsoft Entra ID

Generate credentials (tenant ID, client ID, client secret)
2

Grant access in Azure DevOps

Add the service principal to your organization and projects
3

Share credentials with Adclear

Securely provide the credentials to complete the integration

Create the Entra Service Principal

Register a New Application

1

Navigate to Entra Admin Center

Go to the Microsoft Entra admin center at https://entra.microsoft.com and sign in with your Global Administrator or Cloud Application Administrator account.
2

Access App Registrations

In the left sidebar, select Entra ID, then under Manage, select App registrations.
3

Create New Registration

Click + New registration.
Entra admin center showing the New registration button

Configure the App Registration

On the registration form, fill in the following details:
FieldValueNotes
NameAdclear-Azure-DevOps-IntegrationChoose a descriptive name for your app
Supported account typesAccounts in this organizational directory onlySingle-tenant (recommended for security)
Redirect URILeave blankNot needed for service principal authentication
Click Register.
App registration form with name and account type fields

Collect Application Credentials

You now have your service principal. Collect these values – you’ll need them to configure the Adclear integration:
1

Copy Application IDs

On the app’s overview page, copy and save the following:
  • Application (client) ID – This is your client_id
  • Directory (tenant) ID – This is your tenant_id
2

Store Securely

Store these securely (e.g., in a password manager or Azure Key Vault).
App overview page showing client ID and tenant ID

Create a Client Secret

Client secrets are passwords that grant access to your Azure resources. Treat them like passwords—never commit them to version control or share them publicly.
1

Navigate to Certificates & Secrets

In the left sidebar under your app registration, click Certificates & secrets.
2

Add New Secret

Under Client secrets, click + New client secret.
Certificates and secrets page with New client secret button
3

Configure Secret Details

Fill in the secret details:
  • Description: Adclear Integration Secret (or similar)
  • Expires: Select an appropriate expiration (e.g., 12 months)
Shorter expiration is more secure but requires regular rotation.
Click Add.
New client secret form with description and expiry fields
4

Copy and Store the Secret

Copy the secret value immediately – it will only be displayed once. If you navigate away, you cannot retrieve it again.
Store the secret securely alongside your client ID and tenant ID.

Grant Access in Azure DevOps

Add Service Principal to Your Organization

1

Navigate to Organization Settings

Go to your Azure DevOps organization: https://dev.azure.com/{your-organization} and click Organization settings (bottom-left corner).
Azure DevOps organization page with settings link highlighted
2

Access User Management

Under General, click Users, then click Add users.
Users page with Add users button

Configure Service Principal Access

In the Add users dialog, fill in:
FieldValue
Users or Service PrincipalsSearch for and select your service principal by its application name (e.g., Adclear-Azure-DevOps-Integration)
Access levelBasic (required for work item read/write)
Add to projectsSelect all projects where Adclear needs access, or add them later
Azure DevOps GroupsProject Contributors (default; recommended for most use cases)
Click Add.
Add users dialog with access level and project settings
The service principal is now added to your organization and has Basic access level.

Add Service Principal to Individual Projects

If you didn’t add the service principal to projects earlier, or need to add it to additional projects:
1

Navigate to Project Settings

Navigate to the specific Project and click Project settings (bottom-left).
2

Access Permissions

Under General, click Permissions.
3

Add to Contributors Group

Select the Contributors group (or create a custom group for Adclear), click the Members tab, then click Add.
4

Select Service Principal

Search for your service principal by name and select it.
Contributors group members page with Add button
The service principal now has Contributor access to the project, which includes permissions to create, read, and update work items.

Complete the Integration

Share Credentials with Adclear

Once you’ve created the service principal and granted access, securely share the following information with the Adclear team:
InformationWhere to Find It
Tenant IDEntra app overview page
Client IDEntra app overview page
Client SecretThe secret value you saved
Organization NameYour Azure DevOps organization (from https://dev.azure.com/{organization})
Project NameThe project(s) where you granted access
Share these credentials through a secure channel (e.g., password manager sharing, encrypted message). Never send credentials via plain email.

Configure Status Mapping

The Adclear team will work with you to map your Azure DevOps work item statuses to Adclear promotion statuses. Please provide a list of your work item statuses (e.g., New, Active, Resolved, Closed) so we can configure the correct mappings.

What the Integration Does

Once configured, the Azure DevOps integration enables the following:
FeatureDescription
Automatic ticket creationWhen a promotion is created in Adclear, a corresponding work item is created in Azure DevOps
Status synchronisationWhen a promotion’s status changes in Adclear, the linked work item status is updated
Version commentsWhen a new version of a promotion is uploaded, a comment with a link is added to the work item
Ticket linkingThe linked Azure DevOps work item URL is displayed in Adclear for easy access

Troubleshooting

Cause: Service principal is not added to Azure DevOps or doesn’t have correct permissions.Solution:
  1. Verify the service principal is visible in Organization settingsUsers
  2. Confirm it has Basic access level
  3. Ensure it’s a member of Project Contributors (or equivalent) in the project
  4. Wait 5–10 minutes for permission changes to propagate
Cause: Incorrect client ID, secret, or tenant ID values.Solution:
  1. Re-verify all credentials from Step 1.3 and 1.4
  2. Ensure the client secret hasn’t expired (check expiration date in Entra)
  3. If expired, create a new secret and share the updated value with Adclear
Cause: Service principal is not a member of the Contributors group.Solution:
  1. Go to Project settingsPermissions
  2. Select the Contributors group
  3. Click Members and verify the service principal is listed
  4. If not, add it following Step 2.3

Security Best Practices

Rotate Secrets Regularly

Set a calendar reminder to rotate your client secret every 6–12 months before expiration. Share the new secret with Adclear when rotated.

Limit Project Scope

Only grant the service principal access to projects it actually needs.

Monitor Activity

Periodically review Azure DevOps audit logs to verify the service principal’s activity.

Audit Permissions

Regularly review and remove unnecessary permissions.

Additional Resources


Glossary

TermDefinition
Service PrincipalAn identity for an application that allows it to authenticate with Azure services without user interaction
Tenant IDUnique identifier for your Microsoft Entra directory
Client IDUnique identifier for your registered application
Client SecretPassword/credential used by the application to prove its identity to Azure
Access LevelDetermines what features a user/principal can access (e.g., Stakeholder, Basic, Basic + Test)
ContributorDefault Azure DevOps security group with permissions to contribute to projects (create/edit work items, etc.)
OAuth 2.0Open authorization standard used for secure, token-based authentication