-
Notifications
You must be signed in to change notification settings - Fork 85
Catalog: Azure DevOps Integration #3647
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
miko-bautista
merged 32 commits into
main
from
feat-catalog-azure-devops-integration-3335
Dec 18, 2025
Merged
Changes from all commits
Commits
Show all changes
32 commits
Select commit
Hold shift + click to select a range
4eb4fa8
draft needs codeblocks and icon
TuannasCodeCatastrophe a0da190
tweak
TuannasCodeCatastrophe b3cb0ff
Draft code completed pre fabian tweak
TuannasCodeCatastrophe 75307df
Waiting on Icon ready all content completed
TuannasCodeCatastrophe b215d1a
added discovery_support: true
TuannasCodeCatastrophe 7e70121
Added icon
TuannasCodeCatastrophe e9757c5
icon tweak
TuannasCodeCatastrophe 2638024
Merge branch 'main' into feat-catalog-azure-devops-integration-3335
TuannasCodeCatastrophe ba93868
parallelism w/ other articles
TuannasCodeCatastrophe a1ad51f
Merge branch 'feat-catalog-azure-devops-integration-3335' of https://…
TuannasCodeCatastrophe ef19647
refinement UI howto
TuannasCodeCatastrophe 378d4e1
refinement
TuannasCodeCatastrophe cc03e13
D.F. review adjustments
TuannasCodeCatastrophe e3c7631
Added note for paralellism
TuannasCodeCatastrophe f6a3a61
tweak
TuannasCodeCatastrophe bfefb44
Merge branch 'main' into feat-catalog-azure-devops-integration-3335
jharmn d298bf6
Update app/_how-tos/connect-azure-devops-to-the-konnect-catalog-with-…
TuannasCodeCatastrophe 00cc00c
Update app/_how-tos/connect-azure-devops-to-the-konnect-catalog-with-…
TuannasCodeCatastrophe 0dbbb43
refined name of azure devops resource display names and added click m…
TuannasCodeCatastrophe b496950
tweak
TuannasCodeCatastrophe e14c887
tweak
TuannasCodeCatastrophe ade3d26
update
TuannasCodeCatastrophe 259c40a
reshuffled order
TuannasCodeCatastrophe 738f5e1
refined for accuracy - checkbox
TuannasCodeCatastrophe cba77e7
reorganised info to better place
TuannasCodeCatastrophe 07873d3
Final review and successful runthrough
TuannasCodeCatastrophe c897c32
updated UI in reference tab
TuannasCodeCatastrophe 7b80514
vale fix
TuannasCodeCatastrophe 6472fac
added bindable_entities: "Repositories"
TuannasCodeCatastrophe 93cb9cf
vale fix
TuannasCodeCatastrophe d6b1190
dictionary add
TuannasCodeCatastrophe 42c46da
Merge branch 'main' into feat-catalog-azure-devops-integration-3335
TuannasCodeCatastrophe File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
163 changes: 163 additions & 0 deletions
163
app/_how-tos/connect-azure-devops-to-the-konnect-catalog-with-the-konnect-api.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,163 @@ | ||
| --- | ||
| title: Connect Azure DevOps repositories to Catalog with the {{site.konnect_short_name}} API | ||
| content_type: how_to | ||
| description: Learn how to connect Azure DevOps repositories to your {{site.konnect_catalog}} services in {{site.konnect_short_name}} using the Konnect API. | ||
| products: | ||
| - catalog | ||
| works_on: | ||
| - konnect | ||
| tools: | ||
| - konnect-api | ||
| tags: | ||
| - integrations | ||
|
|
||
| search_aliases: | ||
| - azure repos | ||
| - devops | ||
| - service catalog | ||
| related_resources: | ||
| - text: "{{site.konnect_catalog}}" | ||
| url: /catalog/ | ||
| - text: Integrations | ||
| url: /catalog/integrations/ | ||
| - text: Azure DevOps reference | ||
| url: /catalog/integrations/azure-devops/ | ||
| - text: "Connect Azure DevOps repositories to Catalog with the Konnect UI" | ||
| url: /how-to/connect-azure-devops-with-konnect-ui/ | ||
| automated_tests: false | ||
| tldr: | ||
| q: How do I connect Azure DevOps to {{site.konnect_short_name}} using the API? | ||
| a: Use the Konnect Integrations API to create and authorize an Azure DevOps integration instance with your organization name and PAT, then map an ingested repository to a {{site.konnect_catalog}} service. | ||
| prereqs: | ||
| inline: | ||
| - title: "{{site.konnect_short_name}} roles" | ||
| include_content: prereqs/service-catalog-integration-role | ||
| icon_url: /assets/icons/kogo-white.svg | ||
| - title: Create and configure an Azure account | ||
| content: | | ||
| 1. You need to configure the following in Azure DevOps: | ||
| - An [Azure DevOps account](https://azure.microsoft.com/en-gb/pricing/purchase-options/azure-account?icid=devops). | ||
| - An [Azure DevOps personal access token (PAT)](https://learn.microsoft.com/en-us/azure/devops/organizations/accounts/use-personal-access-tokens-to-authenticate?view=azure-devops&tabs=Windows) with `Code:Read` permission. | ||
| {:.warning} | ||
| > Your PAT can be created with an expiration period of your choice, up to a maximum of one year. Make sure to renew the PAT before it expires to avoid interruptions. | ||
| 1. Set the personal access token as an environment variable: | ||
| ```sh | ||
| export AZUREDEVOPS_PAT='YOUR-AZURE-DEV-OPS-PERSONAL-ACCESS-TOKEN' | ||
| ``` | ||
| --- | ||
|
|
||
| ## Configure the Azure DevOps integration | ||
|
|
||
| Before you can discover Azure DevOps repositories in {{site.konnect_catalog}}, export your Azure DevOps organization name exactly as it appears in Azure DevOps: | ||
|
|
||
| ```sh | ||
| export AZURE_DEVOPS_ORG_NAME="YOUR-ORG-NAME" | ||
| ``` | ||
|
|
||
| Now, configure the integration: | ||
|
|
||
| <!--vale off--> | ||
| {% konnect_api_request %} | ||
| url: /v1/integration-instances | ||
| status_code: 201 | ||
| method: POST | ||
| body: | ||
| integration_name: "azure-devops" | ||
| name: "azure-devops" | ||
| display_name: "Azure DevOps" | ||
| config: | ||
| organization: "$AZURE_DEVOPS_ORG_NAME" | ||
| extract_body: | ||
| - name: 'id' | ||
| variable: AZUREDEVOPS_INTEGRATION_ID | ||
| capture: AZUREDEVOPS_INTEGRATION_ID | ||
| jq: ".id" | ||
| {% endkonnect_api_request %} | ||
| <!--vale on--> | ||
|
|
||
| Next, authorize the integration with your Azure DevOps PAT: | ||
|
|
||
| <!--vale off--> | ||
| {% konnect_api_request %} | ||
| url: /v1/integration-instances/$AZUREDEVOPS_INTEGRATION_ID/auth-credential | ||
| status_code: 201 | ||
| method: POST | ||
| body: | ||
| type: multi_key_auth | ||
| config: | ||
| headers: | ||
| - name: authorization | ||
| key: $AZUREDEVOPS_PAT | ||
| {% endkonnect_api_request %} | ||
| <!--vale on--> | ||
|
|
||
| Once authorized, resources from your Azure DevOps account are discoverable in the UI. | ||
|
|
||
| ## Create a Service in Catalog | ||
|
|
||
| Create a service to map to your Azure DevOps resources: | ||
|
|
||
| <!--vale off--> | ||
| {% konnect_api_request %} | ||
| url: /v1/catalog-services | ||
| status_code: 201 | ||
| method: POST | ||
| body: | ||
| name: "user-service" | ||
| display_name: "User Service" | ||
| extract_body: | ||
| - name: 'id' | ||
| variable: AZUREDEVOPS_SERVICE_ID | ||
| capture: AZUREDEVOPS_SERVICE_ID | ||
| jq: ".id" | ||
| {% endkonnect_api_request %} | ||
| <!--vale on--> | ||
|
|
||
| ## List Azure DevOps resources | ||
|
|
||
| Before you map Azure DevOps resources to a service in Catalog, locate the resources that {{site.konnect_short_name}} ingests from Azure DevOps: | ||
|
|
||
| <!--vale off--> | ||
| {% konnect_api_request %} | ||
| url: /v1/resources?filter%5Bintegration.name%5D=azure-devops | ||
| status_code: 200 | ||
| method: GET | ||
| extract_body: | ||
| - name: 'id' | ||
| variable: AZUREDEVOPS_RESOURCE_ID | ||
| capture: AZUREDEVOPS_RESOURCE_ID | ||
| jq: ".data[0].id" | ||
| {% endkonnect_api_request %} | ||
| <!--vale on--> | ||
|
|
||
| {:.info} | ||
| > {{site.konnect_short_name}} uses the first resource in the list when you run this command. To select a different resource, replace `.data[0].id` in the `jq` filter with the index of the resource you want to use or manually specify the resource ID. | ||
| ## Map resources to a service | ||
|
|
||
| Now, map the Azure DevOps resource to the service: | ||
|
|
||
| <!--vale off--> | ||
| {% konnect_api_request %} | ||
| url: /v1/resource-mappings | ||
| status_code: 201 | ||
| method: POST | ||
| body: | ||
| service: $AZUREDEVOPS_SERVICE_ID | ||
| resource: $AZUREDEVOPS_RESOURCE_ID | ||
| {% endkonnect_api_request %} | ||
| <!--vale on--> | ||
|
|
||
| ## Validate the mapping | ||
|
|
||
| To confirm that the Azure DevOps resource is now mapped to the intended service, list the service’s mapped resources: | ||
|
|
||
| <!--vale off--> | ||
| {% konnect_api_request %} | ||
| url: /v1/catalog-services/$AZUREDEVOPS_SERVICE_ID/resources | ||
| status_code: 200 | ||
| method: GET | ||
| {% endkonnect_api_request %} | ||
| <!--vale on--> |
85 changes: 85 additions & 0 deletions
85
app/_how-tos/connect-azure-devops-to-the-konnect-catalog-with-the-konnect-ui.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,85 @@ | ||
| --- | ||
| title: Connect Azure DevOps repositories to Catalog with the {{site.konnect_short_name}} UI | ||
| content_type: how_to | ||
| description: Learn how to connect Azure DevOps repositories to your {{site.konnect_catalog}} services in {{site.konnect_short_name}} using the UI. | ||
| products: | ||
| - catalog | ||
| works_on: | ||
| - konnect | ||
| tags: | ||
| - integrations | ||
| search_aliases: | ||
| - devops | ||
| - azure repos | ||
| - service catalog | ||
| related_resources: | ||
| - text: "{{site.konnect_catalog}}" | ||
| url: /catalog/ | ||
| - text: Integrations | ||
| url: /catalog/integrations/ | ||
| - text: Azure DevOps reference | ||
| url: /catalog/integrations/azure-devops/ | ||
| - text: "Connect Azure DevOps repositories to Catalog with the Konnect API" | ||
| url: /how-to/connect-azure-devops-with-konnect-api/ | ||
|
|
||
| automated_tests: false | ||
| tldr: | ||
| q: How do I connect an Azure DevOps repository to a service in {{site.konnect_short_name}}? | ||
| a: Configure the Azure DevOps integration with your organization name and PAT, create a {{site.konnect_catalog}} service, then map the discovered Azure DevOps repository resource to that {{site.konnect_catalog}} service. | ||
| prereqs: | ||
| skip_product: true | ||
| inline: | ||
| - title: "{{site.konnect_short_name}} roles" | ||
| include_content: prereqs/service-catalog-integration-role | ||
| icon_url: /assets/icons/kogo-white.svg | ||
| - title: Create and configure an Azure account | ||
| content: | | ||
| You need to configure the following in Azure DevOps: | ||
| - An [Azure DevOps account](https://azure.microsoft.com/en-gb/pricing/purchase-options/azure-account?icid=devops). | ||
| - An [Azure DevOps personal access token (PAT)](https://learn.microsoft.com/en-us/azure/devops/organizations/accounts/use-personal-access-tokens-to-authenticate?view=azure-devops&tabs=Windows) with `Code: Read` permission. | ||
| {:.warning} | ||
| > Your PAT can be created with an expiration period of your choice, up to a maximum of one year. Make sure to renew the PAT before it expires to avoid interruptions. | ||
| --- | ||
|
|
||
| ## Configure the Azure DevOps integration | ||
|
|
||
| Before you can discover Azure DevOps repositories in {{site.konnect_catalog}}, you must configure the integration: | ||
|
|
||
| 1. In the {{site.konnect_short_name}} sidebar, click **Catalog**. | ||
| 1. In the {{site.konnect_catalog}} sidebar, click **Integrations**. | ||
| 1. Click **Azure DevOps**. | ||
| 1. Click **Add Azure DevOps instance**. | ||
| 1. In the **Azure DevOps organization name** field, enter your organization name exactly as it appears in Azure DevOps. | ||
| 1. In the **Azure DevOps personal access token (PAT)** field, enter your Azure DevOps token. | ||
| 1. In the **Display name** field, enter `azure-devops-repository-service`. | ||
| 1. In the **Instance name** field, enter `azure-devops-repository-service`. | ||
| 1. (Optional) In the **Description** field, enter a description for this instance. | ||
| 1. Click **Save**. | ||
|
|
||
| If you don't immediately see resources, try manually syncing your Azure DevOps integration. From the {{site.konnect_short_name}} UI, navigate to the Azure DevOps integration that you just installed. Then, from the **Actions** dropdown menu, select **Sync Now**. | ||
|
|
||
| ## Create a {{site.konnect_catalog}} service and map the Azure DevOps resources | ||
|
|
||
| After you configure the Azure DevOps integration, create a service in {{site.konnect_catalog}} and map an Azure DevOps repository resource to it. | ||
|
|
||
| {:.info} | ||
| > In this tutorial, we’ll refer to your Azure DevOps repository as `azure-devops-repository`. | ||
| 1. In the {{site.konnect_short_name}} sidebar, click **Catalog**. | ||
| 1. In the {{site.konnect_catalog}} sidebar, click **Services**. | ||
| 1. Click **New service**. | ||
| 1. In the **Display Name** field, enter `azure-devops-repository-service`. | ||
| 1. Click **Create**. | ||
| 1. Click **Map Resources**. | ||
| 1. Select the `azure-devops-repository` checkbox. | ||
| 1. Click **Map 1 Resource**. | ||
|
|
||
| ## Validate the mapping | ||
| To confirm that the Azure DevOps resource is now mapped to the intended service, navigate to the new service: | ||
| 1. In the {{site.konnect_short_name}} sidebar, click **Catalog**. | ||
| 1. In the {{site.konnect_catalog}} sidebar, click **Services**. | ||
| 1. Click the `azure-devops-repository-service` service. | ||
| 1. Click the **Resources** tab. | ||
|
|
||
| You'll see the `azure-devops-repository-service` resource listed. | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.