title | titleSuffix | description | ms.assetid | ms.subservice | ms.custom | ms.author | author | monikerRange | ms.topic | ms.date |
---|---|---|---|---|---|---|---|---|---|---|
Extensibility points |
Azure DevOps |
Browse through the places where your extension can extend Azure DevOps. |
007954b7-9424-4ea6-916b-8cb2f215f5c4 |
azure-devops-ecosystem |
engagement-fy23 |
chcomley |
chcomley |
<= azure-devops |
overview |
10/12/2022 |
[!INCLUDE version-lt-eq-azure-devops]
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:
- azure-devops-extension-api
- azure-devops-extension-sdk
- azure-devops-extension-sample
- installed extension api
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.
::: moniker range=">= azure-devops-2019"
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 thevss-web
extension published under thems
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 thevss-code-web
extension published under thems
publishermy-custom-hub
is the short ID of this contribution;{publisherId}.{extensionId}.my-custom-hub
is the full ID
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"
}
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 |
::: moniker range=">= azure-devops-2019"
::: moniker-end
::: moniker range=">= azure-devops-2019 <= azure-devops-2020"
::: moniker range="azure-devops"
Tasks perform work in a build or release. For more information, learn how to contribute a build or release task.
::: moniker-end
::: moniker range=">= azure-devops-2019"
::: moniker-end
::: moniker range=">= azure-devops-2019"
::: moniker-end
- 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:
::: moniker range="azure-devops"
Name: Preview feature (hosted only)
Target ID: ms.vss-web.managed-features
::: moniker-end
::: moniker range="< azure-devops"
Name: Feature (on-premises only)
Target ID: ms.vss-web.managed-features-onprem
::: moniker-end