diff --git a/develop-docs/integrations/azuredevops.mdx b/develop-docs/integrations/azuredevops.mdx deleted file mode 100644 index 7160dace4501a..0000000000000 --- a/develop-docs/integrations/azuredevops.mdx +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: Azure DevOps Integration -sidebar_title: Azure DevOps ---- - -## Create an Azure application - -Log into your Azure DevOps account, creating one if needed. Ensure you have a project set up. - -To use the Azure DevOps integration you'll need to create an application. To start, visit [this page](https://app.vsaex.visualstudio.com/app/register) to register the app. - -When configuring the app, use the following values: - -| Setting | Value | -| ------------------------------- | -------------------------------------------------------------------------------------------------- | -| Authorization callback URL | `{YOUR_DOMAIN}/extensions/vsts/setup/` | -| Authorized Scopes | Code (read), Work Items (read and write), Service Endpoints (read, query and manage), Graph (read) | - -Take note of your App ID and Client Secret (the long one you have to click to show) and add those to `config.yml` like this: - -```yml -# Azure DevOps # -vsts.client-id: your-app-id -vsts.client-secret: your-client-secret -``` - -Follow our [documentation on installing and configuring the Azure DevOps integration](https://docs.sentry.io/organization/integrations/source-code-mgmt/azure-devops/) to finish installation and use the integration. diff --git a/develop-docs/integrations/azuredevops/3p-oauth.png b/develop-docs/integrations/azuredevops/3p-oauth.png new file mode 100644 index 0000000000000..d372479d14731 Binary files /dev/null and b/develop-docs/integrations/azuredevops/3p-oauth.png differ diff --git a/develop-docs/integrations/azuredevops/app-id.png b/develop-docs/integrations/azuredevops/app-id.png new file mode 100644 index 0000000000000..adfa8cd3857e9 Binary files /dev/null and b/develop-docs/integrations/azuredevops/app-id.png differ diff --git a/develop-docs/integrations/azuredevops/client-secret.png b/develop-docs/integrations/azuredevops/client-secret.png new file mode 100644 index 0000000000000..52cef29aae891 Binary files /dev/null and b/develop-docs/integrations/azuredevops/client-secret.png differ diff --git a/develop-docs/integrations/azuredevops/index.mdx b/develop-docs/integrations/azuredevops/index.mdx new file mode 100644 index 0000000000000..79a3a11c79abb --- /dev/null +++ b/develop-docs/integrations/azuredevops/index.mdx @@ -0,0 +1,75 @@ +--- +title: Azure DevOps Integration +sidebar_title: Azure DevOps +--- + +## Create an Azure Application + +Log into your Azure DevOps account or create a new one, and ensure you have a project set up. + +Make sure the organization has third-party access via OAuth enabled in the organization settings. +![3p-oauth](./3p-oauth.png) + + +To use the Azure DevOps integration you'll need to create an application. + +To start, you will need access to a [Microsoft Entra Admin Portal](https://entra.microsoft.com/#home) + +![Register App](./register-app.png) + + +When configuring the app, use the following values: + +| Setting | Value | +| ------------------------------- | -------------------------------------------------------------------------------------------------- | +| Supported account types | Accounts in any organizational directory | +| Redirect URI | `{YOUR_DOMAIN}/extensions/vsts/setup` | + + + +Take note of your App ID as we'll need it later. +![App ID](./app-id.png) + + + +Next go to Manager -> API Permissions to add the following permissions: +* Azure DevOps (`vso.code`, `vso.graph`, `vso.work_item`, `vso.service_endpoint`) +* Microsoft Graph (`User.Read`) (This should be added by default) + +![Permissions](./perms.png) + +Go to the "Certificates & secrets" tab and create a new client secret. Make sure you copy the secret as we'll need it later. + +![Client Secret](./client-secret.png) + +Add the App ID and Client Secret to `devlocal.py` like this: + +```python +# Azure DevOps # +SENTRY_OPTIONS["vsts_new.client-id"] = your-app-id +SENTRY_OPTIONS["vsts_new.client-secret"] = your-client-secret +``` + +You can also add the App ID and Client Secret to `config.yml` like this: + +```yml +# Azure DevOps # +vsts_new.client-id: your-app-id +vsts_new.client-secret: your-client-secret +``` + +You will also need to enable the feature flag to use the new Azure DevOps integration. +Enable the `migrate-azure-devops-integration` feature flag in your organization. +Add the following to your `devlocal.py` file: + +```python +SENTRY_FEATURES["organizations:migrate-azure-devops-integration"] = True +``` + + + +This is a temporary measure until we fully migrate to the new Azure DevOps integration and remove references to the old one. + + + +Follow our [documentation on installing and configuring the Azure DevOps integration](https://docs.sentry.io/organization/integrations/source-code-mgmt/azure-devops/) to finish installation and use the integration. diff --git a/develop-docs/integrations/azuredevops/perms.png b/develop-docs/integrations/azuredevops/perms.png new file mode 100644 index 0000000000000..17031b03ab9bd Binary files /dev/null and b/develop-docs/integrations/azuredevops/perms.png differ diff --git a/develop-docs/integrations/azuredevops/register-app.png b/develop-docs/integrations/azuredevops/register-app.png new file mode 100644 index 0000000000000..67298a9111c8e Binary files /dev/null and b/develop-docs/integrations/azuredevops/register-app.png differ