Azure DevOps extensibility points

Azure Boards | Azure DevOps Server 2019 | TFS 2018 | TFS 2017

Extensions enhance the Azure DevOps user experience by contributing new capabilities. In this article, we highlight the most common extensibility points that your extension can target.

Note

To learn more about the Azure DevOps extensibility model, see the Contribution model for an overview.

Other useful references

The Contributions Guide extension is a sample extension. Install this extension into your organization. Once it's installed, you see the extensibility points that are available. We recommend you install this extension into a personal or test organization. The source for this extension is also available. Also, find a sample of a repository creation extension point in this GitHub pull request.

Hubs and hub groups

Hubs and hub groups are the primary navigation elements in Azure DevOps. Files, Releases Backlog, and Queries are examples of hubs. A hub belongs to a hub group. The Files hub, for example, belongs to the project-level Code hub group. Hub groups can exist at the organization (also known as a collection) level or the project level, but most extensions contribute to the project level.

Targetable hub groups

Here are the most common, Microsoft-provided hub groups that hubs can be contributed to:

Name ID Level Preview
Azure Repos ms.vss-code-web.code-hub-group Project/team azure repos
Azure Boards ms.vss-work-web.work-hub-group Project/team azure boards
Azure Pipelines ms.vss-build-web.build-release-hub-group Project/team azure pipelines
Azure Test Plans ms.vss-test-web.test-hub-group Project/team test plans
Project settings ms.vss-web.project-admin-hub-group Project project admin
Organization settings ms.vss-web.collection-admin-hub-group Organization (or collection) organization admin
Name ID Level Preview
Code ms.vss-code-web.code-hub-group Project/team sources hub
Work ms.vss-work-web.work-hub-group Project/team work hub
Build and Release ms.vss-build-web.build-release-hub-group Project/team build
Test ms.vss-test-web.test-hub-group Project/team build
Project settings ms.vss-web.project-admin-hub-group Project project admin
Account settings ms.vss-web.collection-admin-hub-group Account (or collection) project admin

Example

This example shows how to contribute a hub to the Code hub group:

{
    ...
    "contributions": [
        {
            "id": "my-custom-hub",
            "type": "ms.vss-web.hub",
            "targets": [
                "ms.vss-code-web.code-hub-group"
            ],
            "properties": {
                "name": "Code Hub",
                "order": 30,
                "uri": "/views/code/custom.html"
            }
        }
    ]
}
  • ms.vss-web.hub is the type of this contribution. This type is defined in the vss-web extension published under the ms publisher. This type declares optional and required properties that are required by contributions of this type (for example, name, order, and so on).
  • ms.vss-code-web.code-hub-group is the full ID of the hub group contribution this hub is targeting. This contribution is declared in the vss-code-web extension published under the ms publisher
  • my-custom-hub is the short ID of this contribution; {publisherId}.{extensionId}.my-custom-hub is the full ID

See how to add an action for details on contributing an action to a menu or toolbar.

Add an icon

Add an icon properties, so it can be used directly by name.

We recommend providing your own icon. Using your own icon example:

           "name": "Sample hub",
           "uri": "dist/Hub/Hub.html",
           "icon": "asset://static/sample-icon.png",
           "supportsMobile": true
       }

Using the Office UI Fabric Icons example:

            "iconName": "Code",
            "name": "Code Hub",
            "order": 30,
            "uri": "/views/code/custom.html"
        }

Settings

Name Target ID Preview
Account (collection) overview toolbar ms.vss-admin-web.collection-overview-toolbar-menu
Collection overview projects grid ms.vss-admin-web.projects-grid-menu
Project overview toolbar ms.vss-admin-web.project-overview-toolbar-menu
Project overview teams grid ms.vss-admin-web.teams-grid-menu

Azure Pipelines

Name Target ID Preview
Completed build menu ms.vss-build-web.completed-build-menu completedBuildActions
Build definitions menu ms.vss-build-web.build-definition-menu buildDefinitionActions
Test results toolbar action ms.vss-test-web.test-results-actions-menu testResultsToolbarAction
Test result details tab ms.vss-test-web.test-result-details-tab-items testResultDetailsTab
Release pipeline explorer context menu ms.vss-releaseManagement-web.release-definition-explorer-context-menu definitionExplorerContextMenu
Release pipeline explorer toolbar menu ms.vss-releaseManagement-web.release-definition-explorer-toolbar-menu definitionExplorerToolbarMenu
Release summary toolbar menu ms.vss-releaseManagement-web.release-editor-tool-bar-menu releaseSummaryToolbarMenu
Release summary tab ms.vss-releaseManagement-web.release-details-view releaseSummaryTab
Release summary section ms.vss-releaseManagement-web.release-details-summary-tab releaseSummarySection

Build

Name Target ID Preview
Completed build menu ms.vss-build-web.completed-build-menu completedBuildActions
Build definitions menu ms.vss-build-web.build-definition-menu buildDefinitionActions
Test results toolbar action ms.vss-test-web.test-results-actions-menu testResultsToolbarAction
Test result details tab ms.vss-test-web.test-result-details-tab-items ![testResultDetailsTab](../../_img/extension

Azure Repos

Name Target ID Preview
Source item (grid) menu ms.vss-code-web.source-grid-item-menu sourceItemGridActions
Source item (tree) menu ms.vss-code-web.source-tree-item-menu sourceItemTreeActions
Source item (grid and tree) menu ms.vss-code-web.source-item-menu
Change list item menu ms.vss-code-web.change-list-item-menu
Change list summary item menu ms.vss-code-web.change-list-summary-item-menu
Git branches tree menu ms.vss-code-web.git-branches-tree-menu gitBranchesTree
Git pull request actions menu ms.vss-code-web.pull-request-action-menu gitPullRequestActions
Git pull request tabs (pivots) ms.vss-code-web.pr-tabs gitPullRequestTab
Git commit listing menu ms.vss-code-web.git-commit-list-menu gitCommitListMenu
Git commit detail menu ms.vss-code-web.git-commit-details-menu gitCommitDetailMenu

Release

Name Target ID Preview
Release pipeline explorer context menu ms.vss-releaseManagement-web.release-definition-explorer-context-menu definitionExplorerContextMenu
Release pipeline explorer toolbar menu ms.vss-releaseManagement-web.release-definition-explorer-toolbar-menu definitionExplorerToolbarMenu
Release summary toolbar menu ms.vss-releaseManagement-web.release-editor-tool-bar-menu releaseSummaryToolbarMenu
Release summary tab ms.vss-releaseManagement-web.release-details-view releaseSummaryTab
Release summary section ms.vss-releaseManagement-web.release-details-summary-tab ![releaseSummarySection

Code

Name Target ID Preview
Source item (grid) menu ms.vss-code-web.source-grid-item-menu sourceItemGridActions
Source item (tree) menu ms.vss-code-web.source-tree-item-menu sourceItemTreeActions
Source item (grid and tree) menu ms.vss-code-web.source-item-menu
Change list item menu ms.vss-code-web.change-list-item-menu
Change list summary item menu ms.vss-code-web.change-list-summary-item-menu
Git branches tree menu ms.vss-code-web.git-branches-tree-menu gitBranchesTree
Git pull request actions menu ms.vss-code-web.pull-request-action-menu gitPullRequestActions
Git pull request tabs (pivots) ms.vss-code-web.pr-tabs gitPullRequestTab
Git commit listing menu ms.vss-code-web.git-commit-list-menu gitCommitListMenu
Git commit detail menu ms.vss-code-web.git-commit-details-menu ![gitCommitDetailMenu](../../_img/

Azure Test Plans

Name Target ID Preview
Test run toolbar ms.vss-test-web.test-run-toolbar-menu
Test run grid menu ms.vss-test-web.test-run-grid-menu
Test plan suites toolbar ms.vss-test-web.test-plans-suites-toolbar
Test plan suites tree menu ms.vss-test-web.test-plans-suites-context
Test plan hub pivot tab ms.vss-test-web.test-plan-pivot-tabs testHubPivotTab

Test

Name Target ID Preview
Test run toolbar ms.vss-test-web.test-run-toolbar-menu
Test run grid menu ms.vss-test-web.test-run-grid-menu
Test plan suites toolbar ms.vss-test-web.test-plans-suites-toolbar
Test plan suites tree menu ms.vss-test-web.test-plans-suites-context
Test plan hub pivot tab ms.vss-test-web.test-plan-pivot-tabs testHubPivotTab

Azure Boards

Name Target ID Preview
Work item query menu ms.vss-work-web.work-item-query-menu queryActions
Work item query results toolbar menu ms.vss-work-web.work-item-query-results-toolbar-menu queryResultsToolbarMenu
Work item query results menu item ms.vss-work-web.query-result-work-item-menu queryResultItemMenu
Work item query results tab ms.vss-work-web.query-tabs queryResultsPivotTab
Work item for context menu ms.vss-work-web.work-item-toolbar-menu workItemActions
Backlog item menu ms.vss-work-web.backlog-item-menu backlogItemActions
Sprint board pivot filter menu ms.vss-work-web.sprint-board-pivot-filter-menu sprintBoardPivotFilterActions
Board pivot filter menu ms.vss-work-web.backlog-board-pivot-filter-menu backlogBoardPivotFilterActions
Card menu ms.vss-work-web.backlog-board-card-item-menu
Product backlog tab ms.vss-work-web.product-backlog-tabs productBacklogTab
Iteration backlog tab ms.vss-work-web.iteration-backlog-tabs iterationBacklogTab
Portfolio backlog pane ms.vss-work-web.portfolio-backlog-toolpane portfolioBacklogPane
Product backlog pane ms.vss-work-web.requirement-backlog-toolpane productBacklogPane
Iteration backlog pane ms.vss-work-web.iteration-backlog-toolpane iterationBacklogPane

Work

Name Target ID Preview
Work item query menu ms.vss-work-web.work-item-query-menu queryActions
Work item query results toolbar menu ms.vss-work-web.work-item-query-results-toolbar-menu queryResultsToolbarMenu
Work item query results menu item ms.vss-work-web.query-result-work-item-menu queryResultItemMenu
Work item query results tab ms.vss-work-web.query-tabs queryResultsPivotTab
Work item for context menu ms.vss-work-web.work-item-toolbar-menu workItemActions
Backlog item menu ms.vss-work-web.backlog-item-menu backlogItemActions
Sprint board pivot filter menu ms.vss-work-web.sprint-board-pivot-filter-menu sprintBoardPivotFilterActions
Board pivot filter menu ms.vss-work-web.backlog-board-pivot-filter-menu backlogBoardPivotFilterActions
Card menu ms.vss-work-web.backlog-board-card-item-menu
Product backlog tab ms.vss-work-web.product-backlog-tabs productBacklogTab
Iteration backlog tab ms.vss-work-web.iteration-backlog-tabs iterationBacklogTab
Portfolio backlog pane ms.vss-work-web.portfolio-backlog-toolpane portfolioBacklogPane
Product backlog pane ms.vss-work-web.requirement-backlog-toolpane productBacklogPane
Iteration backlog pane ms.vss-work-web.iteration-backlog-toolpane ![iterationBacklogPane](../../_shared/procedures/_img

Dashboards

An extension can contribute a new type of widget that can be added by users to a dashboard. Learn how to contribute a dashboard widget.

Work item form

The work item form is enhanced by extensions with new sections, tabs, actions, and custom field renderers. For more information, learn how to extend the work item form.

Azure Pipelines tasks

Tasks perform work in a build or release. For more information, learn how to contribute a build or release task.

Service hooks

A "consumer" is the service that events are sent to in Service Hooks. An extension can contribute consumer services. These services are configured by a user (or programmatically), to send events to that service. For more information, see contribute a service hooks consumer.

Features

Name: Preview feature (hosted only) Target ID: ms.vss-web.managed-features

Name: Feature (on-prem only) Target ID: ms.vss-web.managed-features-onprem