Extensibility points

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

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. For more information about the Azure DevOps extensibility model, see the Contribution model.

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 here.

For more information, see the following references:

Hubs and hub groups

Hubs and hub groups are the primary navigation elements in Azure DevOps. Files, Releases, Backlogs, and Queries are examples of hubs. A hub belongs to a hub group. The Files hub, for example, belongs to the project-level Azure Repos hub group. Hub groups can exist at the organization or collection level or the project level. Most extensions contribute to the project level.

The following table describes the most common hub groups in Azure DevOps that you can contribute hubs to.

Name ID Level Preview image
Azure Boards ms.vss-work-web.work-hub-group Project/team Custom hub added to Azure Boards.
Azure Repos ms.vss-code-web.code-hub-group Project/team Custom hub added to Azure Repos.
Azure Pipelines ms.vss-build-web.build-release-hub-group Project/team Custom hub added to Azure Pipelines.
Azure Test Plans ms.vss-test-web.test-hub-group Project/team Custom hub added to Azure Test Plans.
Project settings ms.vss-web.project-admin-hub-group Project Custom project admin hub.
Organization settings ms.vss-web.collection-admin-hub-group Organization or collection Custom organization admin hub.

Example

The following 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

Add an icon to your menu or toolbar

Add an icon property, 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 for menus and toolbars

Name Target ID
Organization/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 Boards menu and toolbar

Name Target ID Preview image
Work item query menu ms.vss-work-web.work-item-query-menu Custom query action added to query menu.
Work item query results toolbar menu ms.vss-work-web.work-item-query-results-toolbar-menu Query Results custom toolbar menu action
Work item query results menu item ms.vss-work-web.query-result-work-item-menu Query Result Item Menu custom action.
Work item query results tab ms.vss-work-web.query-tabs Query toolbar custom pivot tab
Work item for context menu ms.vss-work-web.work-item-toolbar-menu Custom work item toolbar actions.
Backlog item menu ms.vss-work-web.backlog-item-menu Backlog item actions custom menu options.
Sprint board pivot filter menu ms.vss-work-web.sprint-board-pivot-filter-menu Sprint Board Pivot Filter Actions.
Board pivot filter menu ms.vss-work-web.backlog-board-pivot-filter-menu Backlog Board Pivot Filter Actions.
Card menu ms.vss-work-web.backlog-board-card-item-menu
Product backlog tab ms.vss-work-web.product-backlog-tabs Product Backlog Custom Tab
Iteration backlog tab ms.vss-work-web.iteration-backlog-tabs Iterations Backlog Custom Tab
Portfolio backlog pane ms.vss-work-web.portfolio-backlog-toolpane Portfolio Backlog Custom Pane
Product backlog pane ms.vss-work-web.requirement-backlog-toolpane Product Backlog Custom Pane
Iteration backlog pane ms.vss-work-web.iteration-backlog-toolpane Iteration Backlog Custom Pane

Azure Pipelines menu and toolbar

Name Target ID Preview
Completed build menu ms.vss-build-web.completed-build-menu Completed Build Actions
Build definitions menu ms.vss-build-web.build-definition-menu Build Definition Actions
Test results toolbar action ms.vss-test-web.test-results-actions-menu Test Results Toolbar Action
Test result details tab ms.vss-test-web.test-result-details-tab-items Test Result Details Tab
Release pipeline explorer context menu ms.vss-releaseManagement-web.release-definition-explorer-context-menu Definition Explorer Context Menu
Release pipeline explorer toolbar menu ms.vss-releaseManagement-web.release-definition-explorer-toolbar-menu Definition Explorer Toolbar Menu
Release summary toolbar menu ms.vss-releaseManagement-web.release-editor-tool-bar-menu Release Summary Toolbar Menu
Release summary tab ms.vss-releaseManagement-web.release-details-view Release Summary Tab
Release summary section ms.vss-releaseManagement-web.release-details-summary-tab Release Summary Section

Azure Pipelines menu and toolbar

Name Target ID Preview
Completed build menu ms.vss-build-web.completed-build-menu Completed Build Actions
Build definitions menu ms.vss-build-web.build-definition-menu Build Definition Actions
Test results toolbar action ms.vss-test-web.test-results-actions-menu Test Results Toolbar Action
Test result details tab ms.vss-test-web.test-result-details-tab-items Test Result Details Tab
Release pipeline explorer context menu ms.vss-releaseManagement-web.release-definition-explorer-context-menu Definition Explorer Context Menu
Release pipeline explorer toolbar menu ms.vss-releaseManagement-web.release-definition-explorer-toolbar-menu Definition Explorer Toolbar Menu
Release summary toolbar menu ms.vss-releaseManagement-web.release-editor-tool-bar-menu Release Summary Toolbar Menu
Release summary tab ms.vss-releaseManagement-web.release-details-view Release Summary Tab
Release summary section ms.vss-releaseManagement-web.release-details-summary-tab Release Summary Section
Pipeline details view, header button ms.vss-build-web.pipelines-header-menu Pipeline details view, header menu
Pipeline details view, folder context menu ms.vss-build-web.pipelines-folder-menu Pipeline details view, folder context menu

Azure Pipelines tasks

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

Azure Repos menu and toolbar

Name Target ID Preview image
Source item (grid) menu ms.vss-code-web.source-grid-item-menu Repos Item Grid Actions
Source item (tree) menu ms.vss-code-web.source-tree-item-menu Repos Item Tree Actions
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 Git Branches Tree
Git pull request actions menu ms.vss-code-web.pull-request-action-menu Git Pull Request Actions
Git pull request tabs (pivots) ms.vss-code-web.pr-tabs Git Pull Request Tab
Git commit listing menu ms.vss-code-web.git-commit-list-menu Git Commit List Menu
Git commit detail menu ms.vss-code-web.git-commit-details-menu Git Commit Detail Menu

Azure Test Plans menu and toolbar

Name Target ID Preview image
Test run grid menu ms.vss-test-web.test-run-grid-menu
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 Test Hub Pivot Tab

Other extensibility points

  • Dashboard widget: 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.
  • Service hooks: A "consumer" is the service that events are sent to in Service Hooks. An extension can contribute consumer services. These services get 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-premises only)
Target ID: ms.vss-web.managed-features-onprem