Azure DevOps Services extensibility points

Extensions extend and enhance the Azure DevOps Services user experience by contributing new capabilities. This guide highlights the most common extensibility points that your extension can target.

Note

To learn more about the Azure DevOps Services extensibility model, see 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 Services. 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.

Extensions can contribute both hubs and hub groups. A common extensibility scenario is to contribute a hub to an existing hub group. For example:

sources hub

Targetable hub groups

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

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.

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

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

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

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

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

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.

Build and release 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