共用方式為


使用 Trello 建立 Azure DevOps Services 和 TFS 的服務勾點

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

在 Trello 中建立卡片和清單,以回應來自 Azure DevOps 的事件。 例如,推送程式代碼或建置時。

先決條件

類別 要求
權限 - 專案集合管理員群組的成員。 組織擁有者會自動成為此群組的成員。
- [編輯訂閱] 和 [檢視訂用帳戶] 許可權設定為 [允許]。 根據預設,只有專案管理員具有這些許可權。 若要將許可權授與其他使用者,您可以使用命令行工具或 Security REST API。
工具 Trello

取得 Trello 授權令牌

  1. 如果您沒有 Trello 帳戶,請註冊 Trello

  2. 移至 授權 Azure DevOps Services 給 Trello 的頁面,然後使用你的 Trello 帳戶資訊登入。

  3. 允許 Azure DevOps 使用 Trello 帳戶。

    允許 Azure DevOps Services

  4. 複製授權令牌。

    Trello 授權令牌

從 Azure DevOps Services 事件建立 Trello 卡片或清單。

  1. 前往您的專案服務掛鉤頁面:

    https://{orgName}/{project_name}/_settings/serviceHooks

    [專案管理] 頁面

    選取 [建立訂用帳戶]

  2. 挑選 Trello 服務。

    服務頁面,Trello 已被選取

  3. 設定觸發 Visual Studio 的事件。 在此情況下,我們會在建立工作專案時讓訂用帳戶回應。

    觸發程式組態頁面

  4. 設定 Trello 將採取的行為來因應觸發器,無論是建立卡片還是清單。

    動作組態頁面

    您可以使用佔位元件,將事件中的內容插入訂閱功能所建立卡片或清單的名稱和描述中。 例如,當我們執行測試通知時,所建立的卡片會命名為 “Bug #5:一些很棒的新想法!”,因為測試工作專案是一個錯誤 (ID=5), 標題為 “Some Great New idea!”。

  5. 測試服務掛勾訂閱並完成向導。

    測試通知

現在已設定。 前往 Trello,查看卡片的顯示。

歡迎板上的 Bug #5 卡片

佔位符

您可以在清單名稱或您訂閱所建立卡片的名稱或描述中插入佔位符。 建立清單或卡片時,佔位符將會由觸發事件中的值取代。 我們在此頁面中用於卡片名稱的範例會使用:

    {{workitem.workItemType}} #{{workitem.id}}: {{workitem.title}}

因此,使用標識碼 5 建立 Bug 並標題為「一些很棒的新想法!」時,卡片名稱為「Bug #5:一些很棒的新想法!」。

佔位元的基本形式是 {{resource.field}},其中資源為引發事件的資源名稱(如工作專案、建置等),而欄位是事件資源區段中的欄位,例如 ID。 因此,如果訂閱是針對已完成的組建,可能會是類似這樣

    Build {{build.id}} completed at {{build.finishTime}}

其中 build 是資源和標識碼的名稱,finishTime 是此資源中可用的欄位。 若要瞭解可供使用的事件類型、字段和資源,請參閱 事件參考

工項欄位

工作專案欄位會出現在欄位陣列的事件中,如下列範例所示:

    " fields": {
                " System.AreaPath": "Fabrikam-Fiber-Git", 
                " System.TeamProject": "Fabrikam-Fiber-Git", 
                " System.IterationPath": "Fabrikam-Fiber-Git", 
                " System.WorkItemType": "Product Backlog Item", 
                " System.State": "New", 
                " System.Reason": "New backlog item", 
                " System.CreatedDate": "2014-11-05T21:11:28.85Z", 
                " System.CreatedBy": "Normal Paulk", 
                " System.ChangedDate": "2014-11-05T21:11:29.23Z", 
                " System.ChangedBy": "Normal Paulk", 
                " System.Title": "Test PBI", 
                " Microsoft.Azure DevOps Services.Common.BacklogPriority": 999999999, 
                " WEF_6CB513B6E70E43499D9FC94E5BBFB784_Kanban.Column": "New"
           },

直接根據活動定義,我們將創建卡片名稱,如以下範例所示:

    {{workitem.fields["System.workItemType"]}} #{{workitem.fields["System.id"]}: {{workitem.fields["System.title"]}}

在快捷方式中,您可以參考 System 或 Microsoft.Azure DevOps Services.Common 命名空間中的任何字段,就好像它們是資源的字段一樣。 因此,{{workitem.fields["System.workItemType"]}} 會變成 {{workitem.workItemType}}

佔位元表達式

這些佔位符會使用 Handlebars 模板, 實作與 Mustache在很大程度上相容。 一些有用的表達式包括

表達式的類型 例子
基本表達式 {{workitem.name}}
陣列表達式 {{pullRequest.reviewers.[0].displayName}}
鬍鬚區段 {{#workitem.assignedTo}} 此WI被指派 {{/workitem.assignedTo}}
鬍子反轉區段 {{^workitem.assignedTo}} 此WI 尚未指派 {{/workitem.assignedTo}}
句柄欄封鎖協助程式
if/else
除非
句柄列路徑 ...

例如,{{../comment/id}}{{this/title}}
範本批注 {{!-- this is a handlebar comment --}}

定價

Azure DevOps 不會收取與外部服務整合的架構費用。 請查看特定服務的網站,以取得與其服務相關的價格詳情。

Q & A

問:我是否可以以程序設計方式建立訂用帳戶?

答:是的,請參閱 這裡的詳細資訊。

問:我可以取得 Trello 的詳細資訊嗎?

答:是,trello.com