Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
340 lines (248 sloc) 21.9 KB
ms.prod ms.technology title description ms.assetid ms.manager ms.author author ms.topic monikerRange ms.date
devops
devops-ecosystem
Extension Points | Extensions for Azure DevOps
Browse through the places where your extension can extend Azure DevOps.
007954b7-9424-4ea6-916b-8cb2f215f5c4
mijacobs
chcomley
chcomley
article
>= tfs-2017
12/12/2019

Azure DevOps extensibility points

[!INCLUDE version-vsts-tfs-2017-on]

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:

::: moniker range=">= azure-devops-2019"

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

::: moniker-end

::: moniker range=">= tfs-2017 <= tfs-2018"

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

::: moniker-end

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

Menus and toolbars

::: moniker range=">= azure-devops-2019"

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"
        }

::: moniker-end

::: moniker range=">= tfs-2017 <= tfs-2018"

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

::: moniker-end

::: moniker range=">= azure-devops-2019"

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

::: moniker-end

::: moniker range=">= tfs-2017 <= tfs-2018"

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](../../media/extension

::: moniker-end

::: moniker range=">= azure-devops-2019"

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

::: moniker-end

::: moniker range=">= tfs-2017 <= tfs-2018"

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](../../media/

::: moniker-end

::: moniker range=">= azure-devops-2019"

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

::: moniker-end

::: moniker range=">= tfs-2017 <= tfs-2018"

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

::: moniker-end

::: moniker range=">= azure-devops-2019"

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

::: moniker-end

::: moniker range=">= tfs-2017 <= tfs-2018"

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](../../includes/procedures/media

::: moniker-end

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

You can’t perform that action at this time.