From 0875c0646466a14c5e82f8d27d25513e9ee3cc7f Mon Sep 17 00:00:00 2001 From: emekanwaoma Date: Tue, 16 Sep 2025 16:03:41 +0100 Subject: [PATCH 1/5] fix: add support for environments and deployments --- ...uredevops_exporter_supported_resources.mdx | 3 + .../git/azure-devops/azure-devops.md | 54 ++++++++++++++ ...exporter_example_environment_blueprint.mdx | 45 ++++++++++++ ...er_example_environment_port_app_config.mdx | 26 +++++++ ..._example_pipeline_deployment_blueprint.mdx | 60 +++++++++++++++ ...le_pipeline_deployment_port_app_config.mdx | 29 ++++++++ ...r_example_release_deployment_blueprint.mdx | 73 +++++++++++++++++++ ...ple_release_deployment_port_app_config.mdx | 32 ++++++++ .../git/azure-devops/examples.md | 33 +++++++++ 9 files changed, 355 insertions(+) create mode 100644 docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-environment/_azuredevops_exporter_example_environment_blueprint.mdx create mode 100644 docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-environment/_azuredevops_exporter_example_environment_port_app_config.mdx create mode 100644 docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-pipeline-deployment/_azuredevops_exporter_example_pipeline_deployment_blueprint.mdx create mode 100644 docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-pipeline-deployment/_azuredevops_exporter_example_pipeline_deployment_port_app_config.mdx create mode 100644 docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-release-deployment/_azuredevops_exporter_example_release_deployment_blueprint.mdx create mode 100644 docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-release-deployment/_azuredevops_exporter_example_release_deployment_port_app_config.mdx diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/_azuredevops_exporter_supported_resources.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/_azuredevops_exporter_supported_resources.mdx index d2655584fd..51867e66d8 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/_azuredevops_exporter_supported_resources.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/_azuredevops_exporter_supported_resources.mdx @@ -9,4 +9,7 @@ - [`work-item`](https://learn.microsoft.com/en-us/rest/api/azure/devops/wit/wiql/query-by-wiql?view=azure-devops-rest-7.1&tabs=HTTP) - [`board`](https://learn.microsoft.com/en-us/rest/api/azure/devops/work/boards/list?view=azure-devops-rest-7.1) - [`release`](https://learn.microsoft.com/en-us/rest/api/azure/devops/release/releases?view=azure-devops-rest-7.1) +- [`environment`](https://learn.microsoft.com/en-us/rest/api/azure/devops/distributedtask/environments/list?view=azure-devops-rest-7.1&tabs=HTTP) +- [`release-deployment`](https://learn.microsoft.com/en-us/rest/api/azure/devops/release/deployments/list?view=azure-devops-rest-7.1&tabs=HTTP) +- [`pipeline-deployment`](https://learn.microsoft.com/en-us/rest/api/azure/devops/distributedtask/environments/get-environment-deployment-records?view=azure-devops-rest-7.1&tabs=HTTP) - [`file`](https://learn.microsoft.com/en-us/rest/api/azure/devops/git/items/get-items-batch?view=azure-devops-rest-7.1&tabs=HTTP) diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/azure-devops.md b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/azure-devops.md index 7a8c3b83ce..71499840c5 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/azure-devops.md +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/azure-devops.md @@ -163,6 +163,60 @@ resources: value: '[.reviewers[].uniqueName]' azure_devops_reviewers: '[.reviewers[].id]' azure_devops_creator: .createdBy.id +- kind: environment + selector: + query: 'true' + port: + entity: + mappings: + identifier: .id | tostring + title: .name | tostring + blueprint: '"azureDevopsEnvironment"' + properties: + description: .description + createdOn: .createdOn + lastModifiedOn: .lastModifiedOn + relations: + project: .project.id +- kind: release-deployment + selector: + query: 'true' + includeRelease: true + port: + entity: + mappings: + identifier: .id | tostring + title: .release.name + "-" + (.id | tostring) | gsub(" "; "") + blueprint: '"azureDevopsReleaseDeployment"' + properties: + status: .deploymentStatus + url: .url + reason: .reason + startedOn: .startedOn + completedOn: .completedOn + requestedBy: .requestedBy.displayName + operationStatus: .operationStatus + environment: .releaseEnvironment.name + relations: + release: .release.id | tostring +- kind: pipeline-deployment + selector: + query: 'true' + port: + entity: + mappings: + identifier: .id | tostring + title: .requestIdentifier | tostring + blueprint: '"azureDevopsPipelineDeployment"' + properties: + planType: .planType + stageName: .stageName + jobName: .jobName + result: .result + startTime: .startTime + finishTime: .finishTime + relations: + environment: .environment.id | tostring ``` diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-environment/_azuredevops_exporter_example_environment_blueprint.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-environment/_azuredevops_exporter_example_environment_blueprint.mdx new file mode 100644 index 0000000000..dbbbd5f11e --- /dev/null +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-environment/_azuredevops_exporter_example_environment_blueprint.mdx @@ -0,0 +1,45 @@ +
+Environment blueprint + +```json showLineNumbers + { + "identifier": "azureDevopsEnvironment", + "title": "Azure DevOps Environment", + "icon": "AzureDevops", + "schema": { + "properties": { + "description": { + "title": "Description", + "type": "string", + "icon": "DefaultProperty", + "description": "The description of the environment" + }, + "createdOn": { + "title": "Created On", + "type": "string", + "format": "date-time", + "description": "The date and time when the environment was created" + }, + "lastModifiedOn": { + "title": "Last Modified On", + "type": "string", + "format": "date-time", + "description": "The date and time when the environment was last modified" + } + }, + "required": [] + }, + "mirrorProperties": {}, + "calculationProperties": {}, + "aggregationProperties": {}, + "relations": { + "project": { + "title": "Project", + "target": "project", + "required": true, + "many": false + } + } + } +``` +
diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-environment/_azuredevops_exporter_example_environment_port_app_config.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-environment/_azuredevops_exporter_example_environment_port_app_config.mdx new file mode 100644 index 0000000000..c3b8e638dd --- /dev/null +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-environment/_azuredevops_exporter_example_environment_port_app_config.mdx @@ -0,0 +1,26 @@ +
+ +Integration mapping + +```yaml showLineNumbers +resources: + - kind: environment + selector: + query: 'true' + port: + entity: + mappings: + identifier: .id | tostring + title: .name | tostring + blueprint: '"azureDevopsEnvironment"' + properties: + description: .description + createdOn: .createdOn + lastModifiedOn: .lastModifiedOn + relations: + project: .project.id + + +``` + +
diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-pipeline-deployment/_azuredevops_exporter_example_pipeline_deployment_blueprint.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-pipeline-deployment/_azuredevops_exporter_example_pipeline_deployment_blueprint.mdx new file mode 100644 index 0000000000..a39babb33c --- /dev/null +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-pipeline-deployment/_azuredevops_exporter_example_pipeline_deployment_blueprint.mdx @@ -0,0 +1,60 @@ +
+Pipeline Deployment blueprint + +```json showLineNumbers + { + "identifier": "azureDevopsPipelineDeployment", + "title": "Azure DevOps Pipeline Deployment", + "icon": "AzureDevops", + "schema": { + "properties": { + "planType": { + "title": "Plan Type", + "type": "string", + "icon": "DefaultProperty", + "description": "The type of deployment plan" + }, + "stageName": { + "title": "Stage Name", + "type": "string", + "description": "The name of the deployment stage" + }, + "jobName": { + "title": "Job Name", + "type": "string", + "description": "The name of the deployment job" + }, + "result": { + "title": "Result", + "type": "string", + "description": "The result of the deployment" + }, + "startTime": { + "title": "Start Time", + "type": "string", + "format": "date-time", + "description": "The date and time when the deployment started" + }, + "finishTime": { + "title": "Finish Time", + "type": "string", + "format": "date-time", + "description": "The date and time when the deployment finished" + } + }, + "required": [] + }, + "mirrorProperties": {}, + "calculationProperties": {}, + "aggregationProperties": {}, + "relations": { + "environment": { + "title": "Environment", + "target": "azureDevopsEnvironment", + "required": true, + "many": false + } + } + } +``` +
diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-pipeline-deployment/_azuredevops_exporter_example_pipeline_deployment_port_app_config.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-pipeline-deployment/_azuredevops_exporter_example_pipeline_deployment_port_app_config.mdx new file mode 100644 index 0000000000..4a700dae2d --- /dev/null +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-pipeline-deployment/_azuredevops_exporter_example_pipeline_deployment_port_app_config.mdx @@ -0,0 +1,29 @@ +
+ +Integration mapping + +```yaml showLineNumbers +resources: + - kind: pipeline-deployment + selector: + query: 'true' + port: + entity: + mappings: + identifier: .id | tostring + title: .requestIdentifier | tostring + blueprint: '"azureDevopsPipelineDeployment"' + properties: + planType: .planType + stageName: .stageName + jobName: .jobName + result: .result + startTime: .startTime + finishTime: .finishTime + relations: + environment: .environment.id | tostring + + +``` + +
diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-release-deployment/_azuredevops_exporter_example_release_deployment_blueprint.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-release-deployment/_azuredevops_exporter_example_release_deployment_blueprint.mdx new file mode 100644 index 0000000000..5e07f97641 --- /dev/null +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-release-deployment/_azuredevops_exporter_example_release_deployment_blueprint.mdx @@ -0,0 +1,73 @@ +
+Release Deployment blueprint + +```json showLineNumbers + { + "identifier": "azureDevopsReleaseDeployment", + "title": "Azure DevOps Release Deployment", + "icon": "AzureDevops", + "schema": { + "properties": { + "status": { + "title": "Status", + "type": "string", + "icon": "DefaultProperty", + "description": "The deployment status" + }, + "url": { + "title": "URL", + "type": "string", + "format": "url", + "icon": "AzureDevops", + "description": "Link to the deployment in Azure DevOps" + }, + "reason": { + "title": "Reason", + "type": "string", + "description": "The reason for the deployment" + }, + "startedOn": { + "title": "Started On", + "type": "string", + "format": "date-time", + "description": "The date and time when the deployment started" + }, + "completedOn": { + "title": "Completed On", + "type": "string", + "format": "date-time", + "description": "The date and time when the deployment completed" + }, + "requestedBy": { + "title": "Requested By", + "type": "string", + "icon": "User", + "description": "The person who requested the deployment" + }, + "operationStatus": { + "title": "Operation Status", + "type": "string", + "description": "The operation status of the deployment" + }, + "environment": { + "title": "Environment", + "type": "string", + "description": "The target environment name" + } + }, + "required": [] + }, + "mirrorProperties": {}, + "calculationProperties": {}, + "aggregationProperties": {}, + "relations": { + "release": { + "title": "Release", + "target": "release", + "required": true, + "many": false + } + } + } +``` +
diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-release-deployment/_azuredevops_exporter_example_release_deployment_port_app_config.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-release-deployment/_azuredevops_exporter_example_release_deployment_port_app_config.mdx new file mode 100644 index 0000000000..5f885f6f38 --- /dev/null +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-release-deployment/_azuredevops_exporter_example_release_deployment_port_app_config.mdx @@ -0,0 +1,32 @@ +
+ +Integration mapping + +```yaml showLineNumbers +resources: + - kind: release-deployment + selector: + query: 'true' + includeRelease: true + port: + entity: + mappings: + identifier: .id | tostring + title: .release.name + "-" + (.id | tostring) | gsub(" "; "") + blueprint: '"azureDevopsReleaseDeployment"' + properties: + status: .deploymentStatus + url: .url + reason: .reason + startedOn: .startedOn + completedOn: .completedOn + requestedBy: .requestedBy.displayName + operationStatus: .operationStatus + environment: .releaseEnvironment.name + relations: + release: .release.id | tostring + + +``` + +
diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/examples.md b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/examples.md index ef7a2041fd..65ec38f345 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/examples.md +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/examples.md @@ -35,6 +35,15 @@ import PortUsersAndTeamsAppConfig from './example-users-and-teams/\_azuredevops_ import UsersBlueprint from './example-users-and-teams/\_azuredevops_exporter_example_user_blueprint.mdx' import TeamsBlueprint from './example-users-and-teams/\_azuredevops_exporter_example_team_blueprint.mdx' +import EnvironmentBlueprint from './example-environment/\_azuredevops_exporter_example_environment_blueprint.mdx' +import PortEnvironmentAppConfig from './example-environment/\_azuredevops_exporter_example_environment_port_app_config.mdx' + +import ReleaseDeploymentBlueprint from './example-release-deployment/\_azuredevops_exporter_example_release_deployment_blueprint.mdx' +import PortReleaseDeploymentAppConfig from './example-release-deployment/\_azuredevops_exporter_example_release_deployment_port_app_config.mdx' + +import PipelineDeploymentBlueprint from './example-pipeline-deployment/\_azuredevops_exporter_example_pipeline_deployment_blueprint.mdx' +import PortPipelineDeploymentAppConfig from './example-pipeline-deployment/\_azuredevops_exporter_example_pipeline_deployment_port_app_config.mdx' + # Examples @@ -249,6 +258,30 @@ The following example shows how to ingest your Azure Devops repositories and the +## Mapping environments + +The following example demonstrates how to ingest Azure DevOps environments to Port. Environments represent deployment targets in Azure DevOps and are used to track deployments across different stages. + + + + + +## Mapping release deployments + +The following example demonstrates how to ingest Azure DevOps release deployments to Port. Release deployments track the deployment of releases to specific environments, providing visibility into your Classic Release pipeline deployments. + + + + + +## Mapping pipeline deployments + +The following example demonstrates how to ingest Azure DevOps pipeline deployments to Port. Pipeline deployments track deployments from YAML pipelines to environments, providing visibility into your modern CI/CD pipeline deployments. + + + + + ## Mapping supported resources The above examples shows a specific use cases, but Port's Azure Devops integration supports the ingestion of many other Azure Devops objects, to adapt the examples above, use the Azure Devops API reference to learn about the available fields for the different supported objects: From cae8675750b282e75654341c05ef39e0b3aa0861 Mon Sep 17 00:00:00 2001 From: emekanwaoma Date: Fri, 19 Sep 2025 09:24:00 +0100 Subject: [PATCH 2/5] fix: add doc for test run --- ...uredevops_exporter_supported_resources.mdx | 1 + ...ps_exporter_example_test_run_blueprint.mdx | 87 +++++++++++++++++++ ...orter_example_test_run_port_app_config.mdx | 51 +++++++++++ .../git/azure-devops/examples.md | 26 ++++++ 4 files changed, 165 insertions(+) create mode 100644 docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-test-run/_azuredevops_exporter_example_test_run_blueprint.mdx create mode 100644 docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-test-run/_azuredevops_exporter_example_test_run_port_app_config.mdx diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/_azuredevops_exporter_supported_resources.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/_azuredevops_exporter_supported_resources.mdx index a51d9574bd..6ed1b60e84 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/_azuredevops_exporter_supported_resources.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/_azuredevops_exporter_supported_resources.mdx @@ -15,4 +15,5 @@ - [`environment`](https://learn.microsoft.com/en-us/rest/api/azure/devops/distributedtask/environments/list?view=azure-devops-rest-7.1&tabs=HTTP) - [`release-deployment`](https://learn.microsoft.com/en-us/rest/api/azure/devops/release/deployments/list?view=azure-devops-rest-7.1&tabs=HTTP) - [`pipeline-deployment`](https://learn.microsoft.com/en-us/rest/api/azure/devops/distributedtask/environments/get-environment-deployment-records?view=azure-devops-rest-7.1&tabs=HTTP) +- [`test-run`](https://learn.microsoft.com/en-us/rest/api/azure/devops/test/runs/list?view=azure-devops-rest-7.1&tabs=HTTP) - [`file`](https://learn.microsoft.com/en-us/rest/api/azure/devops/git/items/get-items-batch?view=azure-devops-rest-7.1&tabs=HTTP) diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-test-run/_azuredevops_exporter_example_test_run_blueprint.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-test-run/_azuredevops_exporter_example_test_run_blueprint.mdx new file mode 100644 index 0000000000..804c27deb6 --- /dev/null +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-test-run/_azuredevops_exporter_example_test_run_blueprint.mdx @@ -0,0 +1,87 @@ +
+Test Run blueprint + +```json showLineNumbers +{ + "identifier": "azureDevopsTestRun", + "title": "Azure DevOps Test Run", + "icon": "AzureDevops", + "schema": { + "properties": { + "name": { + "type": "string", + "title": "Name" + }, + "state": { + "type": "string", + "title": "State" + }, + "isAutomated": { + "type": "boolean", + "title": "Is Automated", + "description": "Whether the test run is automated" + }, + "totalTests": { + "type": "number", + "title": "Total Tests", + "description": "Total number of tests in the run" + }, + "incompleteTests": { + "type": "number", + "title": "Incomplete Tests", + "description": "Number of incomplete tests" + }, + "notApplicableTests": { + "type": "number", + "title": "Not Applicable Tests", + "description": "Number of not applicable tests" + }, + "startedDate": { + "type": "string", + "format": "date-time", + "title": "Started Date" + }, + "completedDate": { + "type": "string", + "format": "date-time", + "title": "Completed Date" + }, + "totalTests": { + "type": "number", + "title": "Total Tests" + }, + "passedTests": { + "type": "number", + "title": "Passed Tests" + }, + "unanalyzedTests": { + "type": "number", + "title": "Unanalyzed Tests", + "description": "Number of unanalyzed tests" + }, + "revision": { + "type": "number", + "title": "Revision", + "description": "Revision number of the test run" + } + }, + "required": [ + "name", + "state" + ] + }, + "mirrorProperties": {}, + "calculationProperties": {}, + "aggregationProperties": {}, + "relations": { + "project": { + "title": "Project", + "target": "project", + "required": true, + "many": false + } + } +} +``` + +
diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-test-run/_azuredevops_exporter_example_test_run_port_app_config.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-test-run/_azuredevops_exporter_example_test_run_port_app_config.mdx new file mode 100644 index 0000000000..61cd0682f0 --- /dev/null +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-test-run/_azuredevops_exporter_example_test_run_port_app_config.mdx @@ -0,0 +1,51 @@ +
+ +Integration mapping + +```yaml showLineNumbers +resources: + - kind: project + selector: + query: 'true' + defaultTeam: 'false' + port: + entity: + mappings: + identifier: .id | gsub(" "; "") + blueprint: '"project"' + title: .name + properties: + state: .state + revision: .revision + visibility: .visibility + defaultTeam: .defaultTeam.name + link: .url | gsub("_apis/projects/"; "") + - kind: test-run + selector: + query: 'true' + includeResults: true # Set to false to disable fetching detailed test results for each test run + codeCoverage: + - flags: null # Value of flags determine the level of code coverage details to be fetched. `flags` values can be null, 1 for Modules, 2 for Functions, 4 for BlockData + # (https://learn.microsoft.com/en-us/rest/api/azure/devops/test/code-coverage/get-test-run-code-coverage?view=azure-devops-rest-7.1&tabs=HTTP#testruncoverage). + port: + entity: + mappings: + identifier: .id | tostring + title: .name + blueprint: '"azureDevopsTestRun"' + properties: + name: .name + state: .state + isAutomated: .isAutomated + totalTests: .totalTests + incompleteTests: .incompleteTests + notApplicableTests: .notApplicableTests + passedTests: .passedTests + unanalyzedTests: .unanalyzedTests + revision: .revision + relations: + project: .project.id + +``` + +
diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/examples.md b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/examples.md index c4753b3068..3d454ad617 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/examples.md +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/examples.md @@ -53,6 +53,9 @@ import PortReleaseDeploymentAppConfig from './example-release-deployment/\_azure import PipelineDeploymentBlueprint from './example-pipeline-deployment/\_azuredevops_exporter_example_pipeline_deployment_blueprint.mdx' import PortPipelineDeploymentAppConfig from './example-pipeline-deployment/\_azuredevops_exporter_example_pipeline_deployment_port_app_config.mdx' +import TestRunBlueprint from './example-test-run/\_azuredevops_exporter_example_test_run_blueprint.mdx' +import PortTestRunAppConfig from './example-test-run/\_azuredevops_exporter_example_test_run_port_app_config.mdx' + # Examples @@ -183,6 +186,29 @@ You can use the following Port blueprint definitions and integration configurati After creating the blueprints and saving the integration configuration, you will see new entities in Port matching your pipeline runs. +## Mapping test runs + +:::caution Performance impact +Enabling `includeResults` or `codeCoverage` on the `test-run` kind may significantly slow down your integration. These configs make additional API calls for each test run, which can be very resource-intensive. Consider disabling them to improve performance. +::: + +The following example demonstrates how to ingest Azure DevOps test runs to Port. Test runs track test execution results and can include detailed test results and code coverage data. + + + + + + + +:::tip To Learn more + +- Refer to the [setup](azure-devops.md#setup) section to learn more about the integration configuration setup process. +- We leverage [JQ JSON processor](https://stedolan.github.io/jq/manual/) to map and transform Azure DevOps objects to Port entities. +- Click [Here](https://learn.microsoft.com/en-us/rest/api/azure/devops/test/runs/list?view=azure-devops-rest-7.1&tabs=HTTP#testrun) for the Azure DevOps test-run object structure. +::: + +After creating the blueprints and saving the integration configuration, you will see new entities in Port matching your test runs. + ## Mapping users and teams :::caution Azure DevOps Server limitation From 8cfda9418c3dcc44f4d181132f90237f73b211bc Mon Sep 17 00:00:00 2001 From: emekanwaoma Date: Mon, 22 Sep 2025 10:57:50 +0100 Subject: [PATCH 3/5] fix: bolden collapsables --- .../_azuredevops_exporter_example_pull_request_blueprint.mdx | 2 +- .../_azuredevops_exporter_example_repository_blueprint.mdx | 2 +- .../_azuredevops_exporter_example_board_blueprint.mdx | 2 +- .../_azuredevops_exporter_example_board_port_app_config.mdx | 3 +-- .../_azuredevops_exporter_example_build_blueprint.mdx | 2 +- .../_azuredevops_exporter_example_build_port_app_config.mdx | 3 +-- .../_azuredevops_exporter_example_column_blueprint.mdx | 2 +- .../_azuredevops_exporter_example_environment_blueprint.mdx | 2 +- ...zuredevops_exporter_example_environment_port_app_config.mdx | 3 +-- .../_azuredevops_exporter_example_file_blueprint.mdx | 2 +- .../_azuredevops_exporter_example_file_port_app_config.mdx | 3 +-- ...redevops_exporter_example_pipeline_deployment_blueprint.mdx | 2 +- ...ps_exporter_example_pipeline_deployment_port_app_config.mdx | 3 +-- .../_azuredevops_exporter_example_pipeline_run_blueprint.mdx | 2 +- ...uredevops_exporter_example_pipeline_run_port_app_config.mdx | 3 +-- .../_azuredevops_exporter_example_pipeline_stage_blueprint.mdx | 2 +- ...edevops_exporter_example_pipeline_stage_port_app_config.mdx | 3 +-- .../_azuredevops_exporter_example_pipeline_blueprint.mdx | 2 +- .../_azuredevops_exporter_example_pipeline_port_app_config.mdx | 3 +-- .../_azuredevops_exporter_example_project_blueprint.mdx | 2 +- .../_azuredevops_exporter_example_work_item_blueprint.mdx | 2 +- ...uredevops_exporter_example_release_deployment_blueprint.mdx | 2 +- ...ops_exporter_example_release_deployment_port_app_config.mdx | 3 +-- .../_azuredevops_exporter_example_release_blueprint.mdx | 2 +- .../_azuredevops_exporter_example_release_port_app_config.mdx | 3 +-- .../_azuredevops_exporter_example_member_blueprint.mdx | 2 +- .../_azuredevops_exporter_example_team_blueprint.mdx | 2 +- .../_azuredevops_exporter_example_test_run_blueprint.mdx | 2 +- .../_azuredevops_exporter_example_test_run_port_app_config.mdx | 3 +-- .../_azuredevops_exporter_example_team_blueprint.mdx | 2 +- .../_azuredevops_exporter_example_user_blueprint.mdx | 2 +- 31 files changed, 31 insertions(+), 42 deletions(-) diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/_azuredevops_exporter_example_pull_request_blueprint.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/_azuredevops_exporter_example_pull_request_blueprint.mdx index c12694508a..b44300c476 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/_azuredevops_exporter_example_pull_request_blueprint.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/_azuredevops_exporter_example_pull_request_blueprint.mdx @@ -1,5 +1,5 @@
-Pull request blueprint +Pull request blueprint (click to expand) ```json showLineNumbers { diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/_azuredevops_exporter_example_repository_blueprint.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/_azuredevops_exporter_example_repository_blueprint.mdx index 5967fad08e..05b8afc573 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/_azuredevops_exporter_example_repository_blueprint.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/_azuredevops_exporter_example_repository_blueprint.mdx @@ -1,5 +1,5 @@
-Repository blueprint +Repository blueprint (click to expand) ```json showLineNumbers { diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-board/_azuredevops_exporter_example_board_blueprint.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-board/_azuredevops_exporter_example_board_blueprint.mdx index 8873127adf..2a74ea5121 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-board/_azuredevops_exporter_example_board_blueprint.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-board/_azuredevops_exporter_example_board_blueprint.mdx @@ -1,5 +1,5 @@
-Board blueprint +Board blueprint (click to expand) ```json showLineNumbers { diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-board/_azuredevops_exporter_example_board_port_app_config.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-board/_azuredevops_exporter_example_board_port_app_config.mdx index 363a2e4edb..f09cba05c9 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-board/_azuredevops_exporter_example_board_port_app_config.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-board/_azuredevops_exporter_example_board_port_app_config.mdx @@ -1,6 +1,5 @@
- -Integration mapping +Integration mapping (click to expand) ```yaml showLineNumbers resources: diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-build/_azuredevops_exporter_example_build_blueprint.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-build/_azuredevops_exporter_example_build_blueprint.mdx index ff8ea406f5..6089202850 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-build/_azuredevops_exporter_example_build_blueprint.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-build/_azuredevops_exporter_example_build_blueprint.mdx @@ -1,5 +1,5 @@
-Build blueprint +Build blueprint (click to expand) ```json showLineNumbers { diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-build/_azuredevops_exporter_example_build_port_app_config.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-build/_azuredevops_exporter_example_build_port_app_config.mdx index aca5edaf5e..0feac7d8a9 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-build/_azuredevops_exporter_example_build_port_app_config.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-build/_azuredevops_exporter_example_build_port_app_config.mdx @@ -1,6 +1,5 @@
- -Integration mapping +Integration mapping (click to expand) ```yaml showLineNumbers resources: diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-columns/_azuredevops_exporter_example_column_blueprint.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-columns/_azuredevops_exporter_example_column_blueprint.mdx index 7fe7f4234d..6dedb1d6a6 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-columns/_azuredevops_exporter_example_column_blueprint.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-columns/_azuredevops_exporter_example_column_blueprint.mdx @@ -1,5 +1,5 @@
-Column blueprint +Column blueprint (click to expand) ```json showLineNumbers { diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-environment/_azuredevops_exporter_example_environment_blueprint.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-environment/_azuredevops_exporter_example_environment_blueprint.mdx index dbbbd5f11e..f4cd721901 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-environment/_azuredevops_exporter_example_environment_blueprint.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-environment/_azuredevops_exporter_example_environment_blueprint.mdx @@ -1,5 +1,5 @@
-Environment blueprint +Environment blueprint (click to expand) ```json showLineNumbers { diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-environment/_azuredevops_exporter_example_environment_port_app_config.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-environment/_azuredevops_exporter_example_environment_port_app_config.mdx index c3b8e638dd..2e98348da2 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-environment/_azuredevops_exporter_example_environment_port_app_config.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-environment/_azuredevops_exporter_example_environment_port_app_config.mdx @@ -1,6 +1,5 @@
- -Integration mapping +Integration mapping (click to expand) ```yaml showLineNumbers resources: diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-file/_azuredevops_exporter_example_file_blueprint.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-file/_azuredevops_exporter_example_file_blueprint.mdx index b59991ba2b..406037def5 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-file/_azuredevops_exporter_example_file_blueprint.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-file/_azuredevops_exporter_example_file_blueprint.mdx @@ -1,5 +1,5 @@
-File blueprint +File blueprint (click to expand) ```json showLineNumbers { diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-file/_azuredevops_exporter_example_file_port_app_config.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-file/_azuredevops_exporter_example_file_port_app_config.mdx index 1bbed91d41..9cfd137d2c 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-file/_azuredevops_exporter_example_file_port_app_config.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-file/_azuredevops_exporter_example_file_port_app_config.mdx @@ -1,6 +1,5 @@
- -Integration mapping +Integration mapping (click to expand) :::tip Configuration Mapping for Azure DevOps File Ingestion The `selector` section within a `file` resource demonstrates how to configure file ingestion from Azure DevOps repositories. You can control: diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-pipeline-deployment/_azuredevops_exporter_example_pipeline_deployment_blueprint.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-pipeline-deployment/_azuredevops_exporter_example_pipeline_deployment_blueprint.mdx index a39babb33c..3d4a452895 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-pipeline-deployment/_azuredevops_exporter_example_pipeline_deployment_blueprint.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-pipeline-deployment/_azuredevops_exporter_example_pipeline_deployment_blueprint.mdx @@ -1,5 +1,5 @@
-Pipeline Deployment blueprint +Pipeline Deployment blueprint (click to expand) ```json showLineNumbers { diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-pipeline-deployment/_azuredevops_exporter_example_pipeline_deployment_port_app_config.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-pipeline-deployment/_azuredevops_exporter_example_pipeline_deployment_port_app_config.mdx index 4a700dae2d..f5bce54b32 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-pipeline-deployment/_azuredevops_exporter_example_pipeline_deployment_port_app_config.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-pipeline-deployment/_azuredevops_exporter_example_pipeline_deployment_port_app_config.mdx @@ -1,6 +1,5 @@
- -Integration mapping +Integration mapping (click to expand) ```yaml showLineNumbers resources: diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-pipeline-run/_azuredevops_exporter_example_pipeline_run_blueprint.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-pipeline-run/_azuredevops_exporter_example_pipeline_run_blueprint.mdx index f7b9cf0417..cc952ad45b 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-pipeline-run/_azuredevops_exporter_example_pipeline_run_blueprint.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-pipeline-run/_azuredevops_exporter_example_pipeline_run_blueprint.mdx @@ -1,5 +1,5 @@
-Pipeline-run blueprint +Pipeline-run blueprint (click to expand) ```json showLineNumbers { diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-pipeline-run/_azuredevops_exporter_example_pipeline_run_port_app_config.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-pipeline-run/_azuredevops_exporter_example_pipeline_run_port_app_config.mdx index 574f9651a6..7cf77f7222 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-pipeline-run/_azuredevops_exporter_example_pipeline_run_port_app_config.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-pipeline-run/_azuredevops_exporter_example_pipeline_run_port_app_config.mdx @@ -1,6 +1,5 @@
- -Integration mapping +Integration mapping (click to expand) ```yaml showLineNumbers resources: diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-pipeline-stage/_azuredevops_exporter_example_pipeline_stage_blueprint.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-pipeline-stage/_azuredevops_exporter_example_pipeline_stage_blueprint.mdx index e50bb07111..b0c43cb1c2 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-pipeline-stage/_azuredevops_exporter_example_pipeline_stage_blueprint.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-pipeline-stage/_azuredevops_exporter_example_pipeline_stage_blueprint.mdx @@ -1,5 +1,5 @@
-Pipeline-stage blueprint +Pipeline-stage blueprint (click to expand) ```json showLineNumbers { diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-pipeline-stage/_azuredevops_exporter_example_pipeline_stage_port_app_config.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-pipeline-stage/_azuredevops_exporter_example_pipeline_stage_port_app_config.mdx index 36ee3de3ea..6f916b6177 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-pipeline-stage/_azuredevops_exporter_example_pipeline_stage_port_app_config.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-pipeline-stage/_azuredevops_exporter_example_pipeline_stage_port_app_config.mdx @@ -1,6 +1,5 @@
- -Integration mapping +Integration mapping (click to expand) ```yaml showLineNumbers resources: diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-pipeline/_azuredevops_exporter_example_pipeline_blueprint.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-pipeline/_azuredevops_exporter_example_pipeline_blueprint.mdx index 13136dcc3a..3820d59d94 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-pipeline/_azuredevops_exporter_example_pipeline_blueprint.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-pipeline/_azuredevops_exporter_example_pipeline_blueprint.mdx @@ -1,5 +1,5 @@
-Pipeline blueprint +Pipeline blueprint (click to expand) ```json showLineNumbers { diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-pipeline/_azuredevops_exporter_example_pipeline_port_app_config.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-pipeline/_azuredevops_exporter_example_pipeline_port_app_config.mdx index 46c68961e6..8c3fbaa8cb 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-pipeline/_azuredevops_exporter_example_pipeline_port_app_config.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-pipeline/_azuredevops_exporter_example_pipeline_port_app_config.mdx @@ -1,6 +1,5 @@
- -Integration mapping +Integration mapping (click to expand) ```yaml showLineNumbers resources: diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-project/_azuredevops_exporter_example_project_blueprint.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-project/_azuredevops_exporter_example_project_blueprint.mdx index c178c343fb..d308d76b0b 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-project/_azuredevops_exporter_example_project_blueprint.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-project/_azuredevops_exporter_example_project_blueprint.mdx @@ -1,5 +1,5 @@
-Project blueprint +Project blueprint (click to expand) ```json showLineNumbers diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-project/_azuredevops_exporter_example_work_item_blueprint.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-project/_azuredevops_exporter_example_work_item_blueprint.mdx index d166539170..9ac761a372 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-project/_azuredevops_exporter_example_work_item_blueprint.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-project/_azuredevops_exporter_example_work_item_blueprint.mdx @@ -1,5 +1,5 @@
-Work item blueprint +Work item blueprint (click to expand) ```json showLineNumbers { diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-release-deployment/_azuredevops_exporter_example_release_deployment_blueprint.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-release-deployment/_azuredevops_exporter_example_release_deployment_blueprint.mdx index 5e07f97641..d2d67db73f 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-release-deployment/_azuredevops_exporter_example_release_deployment_blueprint.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-release-deployment/_azuredevops_exporter_example_release_deployment_blueprint.mdx @@ -1,5 +1,5 @@
-Release Deployment blueprint +Release Deployment blueprint (click to expand) ```json showLineNumbers { diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-release-deployment/_azuredevops_exporter_example_release_deployment_port_app_config.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-release-deployment/_azuredevops_exporter_example_release_deployment_port_app_config.mdx index 5f885f6f38..f9b77fb007 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-release-deployment/_azuredevops_exporter_example_release_deployment_port_app_config.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-release-deployment/_azuredevops_exporter_example_release_deployment_port_app_config.mdx @@ -1,6 +1,5 @@
- -Integration mapping +Integration mapping (click to expand) ```yaml showLineNumbers resources: diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-release/_azuredevops_exporter_example_release_blueprint.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-release/_azuredevops_exporter_example_release_blueprint.mdx index 138022ca5e..7a31f396fb 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-release/_azuredevops_exporter_example_release_blueprint.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-release/_azuredevops_exporter_example_release_blueprint.mdx @@ -1,5 +1,5 @@
-Release blueprint +Release blueprint (click to expand) ```json showLineNumbers { diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-release/_azuredevops_exporter_example_release_port_app_config.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-release/_azuredevops_exporter_example_release_port_app_config.mdx index 98d22f8069..01d2c9e3c6 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-release/_azuredevops_exporter_example_release_port_app_config.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-release/_azuredevops_exporter_example_release_port_app_config.mdx @@ -1,6 +1,5 @@
- -Integration mapping +Integration mapping (click to expand) ```yaml showLineNumbers resources: diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-teams/_azuredevops_exporter_example_member_blueprint.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-teams/_azuredevops_exporter_example_member_blueprint.mdx index 05647ccade..e5c35a6082 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-teams/_azuredevops_exporter_example_member_blueprint.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-teams/_azuredevops_exporter_example_member_blueprint.mdx @@ -1,5 +1,5 @@
-Member blueprint +Member blueprint (click to expand) ```json showLineNumbers { diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-teams/_azuredevops_exporter_example_team_blueprint.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-teams/_azuredevops_exporter_example_team_blueprint.mdx index e930f78271..f214c74fcd 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-teams/_azuredevops_exporter_example_team_blueprint.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-teams/_azuredevops_exporter_example_team_blueprint.mdx @@ -1,5 +1,5 @@
-Team blueprint +Team blueprint (click to expand) ```json showLineNumbers { diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-test-run/_azuredevops_exporter_example_test_run_blueprint.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-test-run/_azuredevops_exporter_example_test_run_blueprint.mdx index 804c27deb6..eaad0c65a4 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-test-run/_azuredevops_exporter_example_test_run_blueprint.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-test-run/_azuredevops_exporter_example_test_run_blueprint.mdx @@ -1,5 +1,5 @@
-Test Run blueprint +Test Run blueprint (click to expand) ```json showLineNumbers { diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-test-run/_azuredevops_exporter_example_test_run_port_app_config.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-test-run/_azuredevops_exporter_example_test_run_port_app_config.mdx index 61cd0682f0..dfff007d0a 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-test-run/_azuredevops_exporter_example_test_run_port_app_config.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-test-run/_azuredevops_exporter_example_test_run_port_app_config.mdx @@ -1,6 +1,5 @@
- -Integration mapping +Integration mapping (click to expand) ```yaml showLineNumbers resources: diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-users-and-teams/_azuredevops_exporter_example_team_blueprint.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-users-and-teams/_azuredevops_exporter_example_team_blueprint.mdx index 3909663fd3..1b16024d45 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-users-and-teams/_azuredevops_exporter_example_team_blueprint.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-users-and-teams/_azuredevops_exporter_example_team_blueprint.mdx @@ -1,5 +1,5 @@
-Team blueprint +Team blueprint (click to expand) ```json showLineNumbers { diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-users-and-teams/_azuredevops_exporter_example_user_blueprint.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-users-and-teams/_azuredevops_exporter_example_user_blueprint.mdx index 436d805b8a..0cc3f5637c 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-users-and-teams/_azuredevops_exporter_example_user_blueprint.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-users-and-teams/_azuredevops_exporter_example_user_blueprint.mdx @@ -1,5 +1,5 @@
-User blueprint +User blueprint (click to expand) ```json showLineNumbers { From c423e7601c4dc67512514ea40aa760cb68c0d687 Mon Sep 17 00:00:00 2001 From: emekanwaoma Date: Fri, 26 Sep 2025 16:32:17 +0100 Subject: [PATCH 4/5] fix: update test runs doc --- ...orter_example_monorepo_port_app_config.mdx | 2 +- ...evops_exporter_example_port_app_config.mdx | 2 +- .../git/azure-devops/azure-devops.md | 32 +++++++++---------- ...xporter_example_column_port_app_config.mdx | 2 +- ...porter_example_project_port_app_config.mdx | 2 +- ...rter_example_work_item_port_app_config.mdx | 2 +- ...exporter_example_teams_port_app_config.mdx | 2 +- ...exporter_example_teams_port_app_config.mdx | 2 +- 8 files changed, 23 insertions(+), 23 deletions(-) diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/_azuredevops_exporter_example_monorepo_port_app_config.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/_azuredevops_exporter_example_monorepo_port_app_config.mdx index ff7044b0ed..d2e5488339 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/_azuredevops_exporter_example_monorepo_port_app_config.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/_azuredevops_exporter_example_monorepo_port_app_config.mdx @@ -1,6 +1,6 @@
- Port port-app-config.yml +Port port-app-config.yml (Click to expand) ```yaml showLineNumbers resources: diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/_azuredevops_exporter_example_port_app_config.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/_azuredevops_exporter_example_port_app_config.mdx index caefa344ae..1496f61ff1 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/_azuredevops_exporter_example_port_app_config.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/_azuredevops_exporter_example_port_app_config.mdx @@ -1,6 +1,6 @@
- Integration mapping +Integration mapping (Click to expand) ```yaml showLineNumbers resources: diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/azure-devops.md b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/azure-devops.md index a48847924a..ddc04e065d 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/azure-devops.md +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/azure-devops.md @@ -715,7 +715,7 @@ This section includes a sample response data from Azure DevOps. In addition, it Here is an example of the payload structure from Azure DevOps:
- Project response data +Project response data (Click to expand) ```json showLineNumbers { @@ -750,7 +750,7 @@ Here is an example of the payload structure from Azure DevOps:
- Repository response data +Repository response data (Click to expand) ```json showLineNumbers { @@ -779,7 +779,7 @@ Here is an example of the payload structure from Azure DevOps:
- Work-item response data +Work-item response data (Click to expand) ```json showLineNumbers { @@ -859,7 +859,7 @@ Here is an example of the payload structure from Azure DevOps:
- Pipeline response data +Pipeline response data (Click to expand) ```json showLineNumbers { @@ -882,7 +882,7 @@ Here is an example of the payload structure from Azure DevOps:
- Pull request response data +Pull request response data (Click to expand) ```json showLineNumbers { @@ -971,7 +971,7 @@ Here is an example of the payload structure from Azure DevOps:
- Build response data +Build response data (Click to expand) ```json showLineNumbers { @@ -1010,7 +1010,7 @@ Here is an example of the payload structure from Azure DevOps:
- Pipeline-stage response data +Pipeline-stage response data (Click to expand) ```json showLineNumbers { @@ -1032,7 +1032,7 @@ Here is an example of the payload structure from Azure DevOps:
- Pipeline-run response data +Pipeline-run response data (Click to expand) ```json showLineNumbers { @@ -1065,7 +1065,7 @@ Here is an example of the payload structure from Azure DevOps: The combination of the sample payload and the Ocean configuration generates the following Port entity:
- Project entity in Port +Project entity in Port (Click to expand) ```json showLineNumbers { @@ -1085,7 +1085,7 @@ The combination of the sample payload and the Ocean configuration generates the
- Repository entity in Port +Repository entity in Port (Click to expand) ```json showLineNumbers { @@ -1106,7 +1106,7 @@ The combination of the sample payload and the Ocean configuration generates the
- Work-item entity in Port +Work-item entity in Port (Click to expand) ```json showLineNumbers { @@ -1134,7 +1134,7 @@ The combination of the sample payload and the Ocean configuration generates the
- Pipeline entity in Port +Pipeline entity in Port (Click to expand) ```json showLineNumbers { @@ -1155,7 +1155,7 @@ The combination of the sample payload and the Ocean configuration generates the
- Pull request entity in Port +Pull request entity in Port (Click to expand) ```json showLineNumbers { @@ -1181,7 +1181,7 @@ The combination of the sample payload and the Ocean configuration generates the
- Build entity in Port +Build entity in Port (Click to expand) ```json showLineNumbers { @@ -1207,7 +1207,7 @@ The combination of the sample payload and the Ocean configuration generates the
- Pipeline-stage entity in Port +Pipeline-stage entity in Port (Click to expand) ```json showLineNumbers { @@ -1231,7 +1231,7 @@ The combination of the sample payload and the Ocean configuration generates the
- Pipeline-run entity in Port +Pipeline-run entity in Port (Click to expand) ```json showLineNumbers { diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-columns/_azuredevops_exporter_example_column_port_app_config.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-columns/_azuredevops_exporter_example_column_port_app_config.mdx index d7444f700c..8e9c02ac12 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-columns/_azuredevops_exporter_example_column_port_app_config.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-columns/_azuredevops_exporter_example_column_port_app_config.mdx @@ -1,6 +1,6 @@
- Integration mapping +Integration mapping (Click to expand) ```yaml showLineNumbers resources: diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-project/_azuredevops_exporter_example_project_port_app_config.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-project/_azuredevops_exporter_example_project_port_app_config.mdx index 9526b94f44..5b0b9933b7 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-project/_azuredevops_exporter_example_project_port_app_config.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-project/_azuredevops_exporter_example_project_port_app_config.mdx @@ -1,6 +1,6 @@
- Integration mapping +Integration mapping (Click to expand) ```yaml showLineNumbers resources: diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-project/_azuredevops_exporter_example_work_item_port_app_config.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-project/_azuredevops_exporter_example_work_item_port_app_config.mdx index 1dc528a87a..d4c9fbe55a 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-project/_azuredevops_exporter_example_work_item_port_app_config.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-project/_azuredevops_exporter_example_work_item_port_app_config.mdx @@ -1,6 +1,6 @@
- Integration mapping +Integration mapping (Click to expand) ```yaml showLineNumbers resources: diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-teams/_azuredevops_exporter_example_teams_port_app_config.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-teams/_azuredevops_exporter_example_teams_port_app_config.mdx index 7ad6b0066a..8d93516653 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-teams/_azuredevops_exporter_example_teams_port_app_config.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-teams/_azuredevops_exporter_example_teams_port_app_config.mdx @@ -1,6 +1,6 @@
- Integration mapping +Integration mapping (Click to expand) ```yaml showLineNumbers resources: diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-users-and-teams/_azuredevops_exporter_example_teams_port_app_config.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-users-and-teams/_azuredevops_exporter_example_teams_port_app_config.mdx index 0406a36c07..806cf12268 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-users-and-teams/_azuredevops_exporter_example_teams_port_app_config.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/example-users-and-teams/_azuredevops_exporter_example_teams_port_app_config.mdx @@ -1,6 +1,6 @@
- Integration mapping +Integration mapping (Click to expand) ```yaml showLineNumbers resources: From 17e30fae025aac47b88db9959e9dad0cc6d99f91 Mon Sep 17 00:00:00 2001 From: emekanwaoma Date: Fri, 26 Sep 2025 16:32:33 +0100 Subject: [PATCH 5/5] fix: update azure devops examples md --- .../git/azure-devops/examples.md | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/examples.md b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/examples.md index 3d454ad617..0a7cb5e89d 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/examples.md +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/examples.md @@ -56,6 +56,8 @@ import PortPipelineDeploymentAppConfig from './example-pipeline-deployment/\_azu import TestRunBlueprint from './example-test-run/\_azuredevops_exporter_example_test_run_blueprint.mdx' import PortTestRunAppConfig from './example-test-run/\_azuredevops_exporter_example_test_run_port_app_config.mdx' +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" # Examples @@ -187,6 +189,42 @@ You can use the following Port blueprint definitions and integration configurati After creating the blueprints and saving the integration configuration, you will see new entities in Port matching your pipeline runs. ## Mapping test runs + + + + +The `includeResults` selector allows you to enable fetching detailed test results for each test run. It is set to `true` by default. + +Allowed values: +- `true`: Enable test results for each test run. +- `false`: Disable test results for each test run. + +```yaml + - kind: test-run + selector: + query: 'true' + includeResults: true +``` + + + + +The `codeCoverage` selector allows you to include code coverage data from AzureDevOps Test Runs. It extracts coverage information from pipeline artifacts. + +**Configuration options:** + +- `flags`: Value of flags determine the level of code coverage details to be fetched. `flags` values can be `null`, `1` for Modules, `2` for Functions, `4` for BlockData (https://learn.microsoft.com/en-us/rest/api/azure/devops/test/code-coverage/get-test-run-code-coverage?view=azure-devops-rest-7.1&tabs=HTTP#testruncoverage). + +```yaml + - kind: test-run + selector: + query: 'true' + codeCoverage: + - flags: null +``` + + + :::caution Performance impact Enabling `includeResults` or `codeCoverage` on the `test-run` kind may significantly slow down your integration. These configs make additional API calls for each test run, which can be very resource-intensive. Consider disabling them to improve performance.