Azure DevOps 服務 |Azure DevOps Server |Azure DevOps Server 2022 |Azure DevOps Server 2020
延伸模組會藉由宣告貢獻類型和貢獻實例,將功能新增至 Azure DevOps。 貢獻類型定義了該類型的貢獻必須實現的合約(屬性和行為)。 貢獻是貢獻類型的具體案例(例如,樞紐或建置任務)。
小提示
如果您要啟動新的 Azure DevOps 延伸模組,請先嘗試這些維護的範例集合,它們可與目前的產品組建搭配使用,並涵蓋新式案例 (例如,在提取要求頁面上新增索引標籤) 。
- Azure DevOps 延伸模組範例 (GitHub) — 示範常見延伸模組模式的精簡入門範例: https://github.com/microsoft/azure-devops-extension-sample
- Azure DevOps 延伸模組範例 (舊版集合和貢獻指南) — 安裝以檢查 UI 目標,或檢視來源: https://marketplace.visualstudio.com/items/ms-samples.samples-contributions-guide 和 https://github.com/Microsoft/vso-extension-samples/tree/master/contributions-guide
- Microsoft Learn 範例(瀏覽 Azure DevOps 範例)— Microsoft 文件中精選的最新範例:/samples/browse/?terms=azure%20devops%20extension
如果範例在您的組織中無法運作,請將它安裝到個人或測試組織中,並將擴充功能資訊清單的目標識別碼和 API 版本與現有的文件進行比較。如需參考和 API,請參見:
如需詳細資訊,請參閱:
貢獻類型
貢獻類型定義該類型的貢獻必須遵循的內容和規則。 貢獻類型可以延伸另一個貢獻類型,繼承其內容。
常見的供款類型包括:
hubactionbuild-task
每個屬性定義包括:
- 屬性類型 (例如,字串或布林值)
- 該屬性是否為必填
- 可選的預設值
範例
清單檔中的貢獻類型宣告如下所示:
{
"contributionTypes": [
{
"id": "hub",
"name": "Web Access Hub",
"description": "A hub that appears in the hubs menu at the top of web pages.",
"properties": {
"name": {
"description": "The text to display for the hub",
"type": "string",
"required": true
},
"uri": {
"description": "URI of the contents of the hub page",
"type": "string",
"required": true
},
"order": {
"description": "Optional ordering value indicating the hub's position within the hub group",
"type": "integer"
}
}
}
]
}
貢獻
貢獻 是貢獻類型的一種示例。 例如,工作中樞群組底下的 Queries 中樞是類型 hub,而 Publish Test Results 建置工作是類型為 build-task的貢獻。
所有貢獻都必須指定類型,併為該貢獻類型所需的任何屬性指定值。
範例
以下是延伸模組指令清單中中樞貢獻宣告的範例:
{
"contributions": [
{
"id": "build-explorer-hub",
"type": "ms.vss-web.hub",
"targets": [
".build-hub-group"
],
"properties": {
"name": "Explorer",
"uri": "/_build",
"order": 22
}
}
]
}
目標貢獻
參與可以 目標 一或多個其他貢獻,這會建立參與與其每個目標之間的關聯性。 系統可以在執行時期辨識目標的貢獻。 例如,hub 貢獻(Explorer)可能會以特定的 hub-group 貢獻為目標(Build)。
{
"id": "build-explorer-hub",
"type": "ms.vss-web.hub",
"targets": [
".build-hub-group"
]
}
當中樞群組轉譯時,系統可以查詢以中樞群組為目標的所有中樞貢獻,以瞭解要轉譯的中樞。
識別貢獻和類型
每個參與和貢獻類型在宣告的延伸模組內都必須有唯一標識符。
完整 貢獻識別碼包含下列項目,以點 . 分隔:
- 發行者標識碼
- 擴充套件識別碼
- 貢獻/類型識別碼
例如:ms.vss-web.hub 是下列貢獻的完整標識碼:
- 發行者識別碼:
ms - 擴充功能標識碼:
vss-web - 貢獻/類型標識碼:
hub
您可以在延伸模組清單中使用 相對 的參考引用,以引用該相同擴充功能內的其他貢獻或貢獻類型。 在此情況下,發行者和擴充功能標識符不包括在內,該標識符是由點 . 後接著貢獻標識符構成。 例如,.hub 可以作為 vss-web 的快捷方式,並用於前面提到的 ms.vss-web.hub 擴充功能中。