共用方式為


服務掛勾取用者

Azure DevOps 服務 |Azure DevOps Server |Azure DevOps Server 2022

當 Azure DevOps 專案中發生事件時,您可以使用服務攔截在取用者服務上執行動作。 例如,當組建失敗時,服務掛鉤可以通知取用者。

若要設定服務勾點,您可以建立指定事件、取用者和動作的訂用帳戶。 使用某些消費者服務時,您會在消費者服務中建立訂閱,而不是在 Azure DevOps 中建立訂閱。 本文提供您在 Azure DevOps 中 以程式設計方式建立訂 用帳戶時所使用的取用者設定相關信息。

您可以在 Azure DevOps 中建立訂用帳戶時,從下列取用者中選取:

如需關於這些使用者及其他您可以透過服務鉤子整合的資訊,請參閱 可用的服務

Azure 服務匯流排

服務總線是一種傳訊服務,可協助應用程式和服務之間的異步通訊。 身為服務掛勾使用者,它提供與服務匯流排的佇列、主題和 Azure 通知中樞的整合。

將訊息傳送至通知中樞

此動作會將一般範本通知傳送至指定的通知中樞實例。

  • 取用者識別碼: azureServiceBus

  • 動作識別碼: serviceBusNotificationHubSend

  • 支援的事件:所有事件

  • 設定:

    輸入標識碼 名稱 說明 數據類型 為必填項目
    connectionString SAS 連接字串 用來與服務總線連線的共用存取簽章 (SAS) 連接字串。 此 連接字串 可在 Azure 入口網站 中使用。 string 是的
    notificationHubName 通知中樞名稱 要傳送通知的通知中樞名稱。 名稱只能包含字母、數字、句點、連字號、正斜線和底線。 名稱必須以字母或數字為開頭或結尾。 中樞應該已經存在。 string 是的
    tagsExpression 標籤 以一組特定裝置為目標的標記表達式。 如需詳細資訊,請參閱 路由和標記表達式 string

將訊息傳送至服務總線佇列

此動作會將事件的 JSON 字串表示傳送至指定的服務總線佇列。 如需詳細資訊,請參閱 服務總線佇列、主題和訂用帳戶

  • 取用者識別碼: azureServiceBus

  • 動作識別碼: serviceBusQueueSend

  • 支援的事件:所有事件

  • 設定:

    輸入標識碼 名稱 說明 數據類型 為必填項目
    AuthenticationMechanismInputId 驗證模式 要使用的驗證模式:連接字串或服務連線。 string
    ServiceConnectionInputId Azure Resource Manager 連線 服務連線的標識碼。 string
    ServiceBusHostNameInputId 服務總線主機名 Azure 入口網站中的主機名,格式為 sb://<Service-Bus-name>.servicebus.windows.net string
    connectionString SAS 連接字串 用來與服務總線連線的SAS連接字串。 此 連接字串 可在 Azure 入口網站 中使用。 string
    queueName 佇列名稱 要傳送訊息的佇列名稱。 名稱只能包含字母、數字、句點、連字號、正斜線和底線。 名稱必須以字母或數字為開頭或結尾。 如果佇列不存在,且指定的連接字串具有必要的許可權,則會建立佇列。 string 是的
    bypassSerializer 以非串行化字串的形式傳送 將訊息以非串行化字串的形式傳送至服務總線的選項,而不是以 .NET 串行化字串的形式傳送。 例如,當接收者不是 .NET 用戶端時,當用戶端使用適用於 Node 的 Azure 用戶端連結庫時,請選取此設定。 boolean
    resourceDetailsToSend 要傳送的資源詳細數據 要傳送至佇列的資源欄位數目。 可能性為所有欄位、最小數位和無。 string
    messagesToSend 要傳送的訊息 要傳送至佇列的訊息類型。 string
    detailedMessagesToSend 要傳送的詳細訊息 要傳送至佇列的詳細訊息類型。 string

將訊息傳送至服務總線主題

此動作會將事件的 JSON 字串表示傳送至指定的服務總線主題。 如需詳細資訊,請參閱使用 Azure 入口網站來建立服務匯流排主題及其訂閱

  • 取用者識別碼: azureServiceBus

  • 動作識別碼: serviceBusTopicSend

  • 支援的事件:所有事件

  • 設定:

    輸入標識碼 名稱 說明 數據類型 為必填項目
    AuthenticationMechanismInputId 驗證模式 要使用的驗證模式。 string
    ServiceConnectionInputId Azure Resource Manager 連線 服務連線的標識碼。 string
    ServiceBusHostNameInputId 服務總線主機名 Azure 入口網站中的主機名,格式為 sb://{Service-Bus-name}.servicebus.windows.net string
    connectionString SAS 連接字串 用來與服務總線連線的SAS連接字串。 此 連接字串 可在 Azure 入口網站 中使用。 string
    topicName 主題名稱 要傳送訊息的主題名稱。 名稱只能包含字母、數字、句點、連字號、正斜線和底線。 名稱必須以字母或數字為開頭或結尾。 如果主題不存在,則如果指定的連接字串具有必要的許可權,則會建立該主題。 string 是的
    bypassSerializer 以非串行化字串的形式傳送 將訊息以非串行化字串的形式傳送至服務總線的選項,而不是以 .NET 串行化字串的形式傳送。 例如,當接收者不是 .NET 用戶端時,當用戶端使用適用於 Node 的 Azure 用戶端連結庫時,請選取此設定。 boolean
    resourceDetailsToSend 要傳送的資源詳細數據 要傳送至主題的資源欄位數目。 可能性為所有欄位、最小數位和無。 string
    messagesToSend 要傳送的訊息 要傳送至主題的訊息類型。 string
    detailedMessagesToSend 要傳送的詳細訊息 要傳送至主題的詳細訊息類型。 string

Azure 儲存體

儲存是各種數據類型的雲端儲存解決方案。 Azure 佇列儲存是儲存服務的一部分,提供傳訊佇列,可以作為服務掛鉤消費者。

將訊息插入記憶體佇列

此動作會將事件的 JSON 字串表示插入指定的記憶體佇列中。 如需詳細資訊,請參閱 什麼是 Azure 佇列記憶體?

  • 取用者識別碼: azureStorageQueue

  • 動作識別碼: enqueue

  • 支援的事件:所有事件

  • 設定:

    輸入標識碼 名稱 說明 數據類型 為必填項目
    AuthenticationMechanismInputId 驗證模式 要使用的驗證模式。 string
    ServiceConnectionInputId Azure Resource Manager 連線 服務連線的標識碼。 string
    accountName 儲存體帳戶名稱 與您的記憶體帳戶相關聯的名稱。 此名稱可在 Azure 入口網站中使用。 string 是的
    accountKey 儲存體帳戶金鑰 與您的記憶體帳戶相關聯的金鑰。 string
    queueName 佇列名稱 儲存區內使用的佇列名稱僅限小寫。 如果這個名稱不存在,就會建立具有此名稱的佇列。 string 是的
    visiTimeout 訊息可見性超時 相對於伺服器當前時間,佇列中的訊息可見度逾時值,以秒為單位。 此值必須大於或等於0,且不能大於7天或604,800秒。 可見性逾時必須設定為小於訊息存留時間值的值。 number 是的
    ttl 訊息有效期限 佇列訊息的存留時間間隔,以秒為單位。 您可以使用的最大值為 7 天或 604,800 秒。 number 是的
    resourceDetailsToSend 要傳送的資源詳細數據 要傳送至佇列的資源欄位數目。 可能性為所有欄位、最小數位和無。 string
    messagesToSend 要傳送的訊息 要傳送至佇列的訊息類型。 string
    detailedMessagesToSend 要傳送的詳細訊息 要傳送至佇列的詳細訊息類型。 string

Bamboo

Bamboo 是 Atlassian 的持續整合伺服器。

將建置排入佇列

此動作會將 Bamboo 構建加入排程。

  • 取用者識別碼: bamboo

  • 動作識別碼: queueBuild

  • 支援的事件:git.push、、 build.completetfvc.checkin

  • 設定:

    輸入標識碼 名稱 說明 數據類型 為必填項目
    serverBaseUrl Bamboo 基底 URL 包含 Bamboo 伺服器的主機名的 URI。 uri 是的
    basicAuthCredentials 基本身份驗證認證 用來向 Bamboo 伺服器進行驗證的標準認證。 若要避免以純文本傳送認證,請使用 HTTPS 通訊協定透過傳輸層安全性 (TLS) 加密認證。 建議您 在 Azure DevOps 中使用服務主體和受控識別 string 是的
    planName 計畫 排隊的計劃名稱。 string 是的

數據狗

Datadog 是雲端環境的監視和分析平臺。

在 Datadog 中張貼事件

此動作會在 Datadog 中建立事件和對應的計量。

  • 取用者識別碼: datadog

  • 動作識別碼: postEventInDatadog

  • 支援的事件:所有事件

  • 設定:

    輸入標識碼 名稱 說明 數據類型 為必填項目
    apiKey Datadog API 金鑰 Datadog 帳戶的存取金鑰。 您可以在 Datadog 入口網站中找到您的 API 金鑰。 前往您的個人檔案,然後選取組織設定>API 金鑰 string 是的
    accountType Datadog 帳戶類型 Datadog 帳戶的類型。 您可以從 Datadog 帳戶所使用的 URL 主機名來判斷您的帳戶類型:
    - app.datadoghq.com: US
    - app.datadoghq.eu: EU
    - us3.datadoghq.com: US3
    - us5.datadoghq.com: US5
    - ap1.datadoghq.com: AP1
    - app.dog-gov.com: GOV
    string 是的

Grafana

Grafana 是開放原始碼儀錶板和圖形編輯器。

將批註新增至 Grafana 資料庫

此動作會在 Grafana 中建立註釋。

  • 取用者識別碼: grafana

  • 動作識別碼: addAnnotation

  • 支援的事件: ms.vss-release.deployment-completed-event

  • 設定:

    輸入標識碼 名稱 說明 數據類型 為必填項目
    url Grafana 網址 用來在 Grafana 中張貼批注的 URL。 uri 是的
    apiToken API 令牌 將批注張貼至 Grafana 資料庫的存取令牌。 如需建立令牌的相關信息,請參閱 建立組織的服務帳戶令牌和儀錶板 string 是的
    tags 標籤 要用於新增批註的逗號分隔標籤清單。 string 是的
    annotationDeploymentDurationWindow 標註部署持續時間視窗 配置批注時間範圍的選項。
    - 選取時,批注會套用至開始和完成部署之間的時間。
    當未選取時,註解將適用於部署完成之後。
    boolean
    text 文字 註釋的自定義描述。 未指定時,此設定會描述發行和狀態。 這個設定可以包含連結,例如 <a href="https://www.contoso.com" target="_blank">Contoso</a> string
    dashboardId 儀表板 要加入批注的儀錶板ID。 未指定標識碼時,批註會在全域層級新增。 string

Jenkins

Jenkins 是持續整合伺服器,可用來持續建置及測試軟體專案。

觸發 Git 組建

此動作會使用 Jenkins Git 外掛程式 來觸發 Git 存放庫中的組建。

  • 取用者識別碼: jenkins

  • 動作識別碼: triggerGitBuild

  • 支援的事件: git.pushgit.pullrequest.merged

  • 設定:

    輸入標識碼 名稱 說明 數據類型 為必填項目
    serverBaseUrl Jenkins 基底 URL 包含 Jenkins 伺服器的主機名的 URI。 uri 是的
    basicAuthCredentials 基本身份驗證認證 標準 HTTP 驗證認證。 若要避免以純文本傳送認證,請使用 HTTPS 通訊協定透過 TLS 加密認證。 建議您 在 Azure DevOps 中使用服務主體和受控識別 string 是的
    useTfsPlugin 整合層級 選取的整合層級,這是兩個值的其中一個:
    - 內建的 Jenkins API
    - Azure DevOps Server 外掛程式在 Jenkins 伺服器上安裝時提供擴充整合功能
    string

觸發泛型組建

此動作會觸發叫用 Jenkins 組建 URL 的一般 Jenkins 組建。

  • 取用者識別碼: jenkins

  • 動作識別碼: triggerGenericBuild

  • 支援的事件:git.pushgit.pullrequest.mergedbuild.completetfvc.checkinms.vss-release.deployment-completed-event

  • 設定:

    輸入標識碼 名稱 說明 數據類型 為必填項目
    serverBaseUrl Jenkins 基底 URL 包含 Jenkins 伺服器的主機名的 URI。 uri 是的
    basicAuthCredentials 基本身份驗證認證 標準 HTTP 驗證認證。 若要避免以純文本傳送認證,請使用 HTTPS 通訊協定透過 TLS 加密認證。 建議您 在 Azure DevOps 中使用服務主體和受控識別 string 是的
    buildName 建立 要觸發的建置名稱。 string 是的
    useTfsPlugin 整合層級 選取的整合層級,這是兩個值的其中一個:
    - 內建的 Jenkins API
    - Azure DevOps Server 外掛程式在 Jenkins 伺服器上安裝時提供擴充整合功能
    string
    buildAuthToken 建置令牌 組建的授權令牌。 只有知道令牌的使用者才能從遠端觸發組建。 string
    buildParameterized 接受參數 選項,指定組建是否接受參數。 boolean
    buildParams 建置參數 以名稱/值組的形式建置參數。 在每個配對中,名稱和值會以冒號分隔,例如 <parameter>:<value>。 每個名稱/值組都會出現在自己的行上。 string

Slack

Slack 是小組通訊的可搜尋平臺。

將訊息發佈至頻道

此動作會將事件的相關訊息張貼至 Slack 通道。 如需詳細資訊,請參閱 使用 Slack 建立 Azure DevOps 的服務勾點

  • 取用者識別碼: slack

  • 動作識別碼: postMessageToChannel

  • 支援的事件:所有事件

  • 設定:

    輸入標識碼 名稱 說明 數據類型 為必填項目
    url Slack Webhook 網址 Slack 提供的 Webhook URL,用來傳送 HTTP POST 要求給 。 uri 是的

Trello

Trello 是一種專案管理工具,使用面板、清單和卡片來協助小組追蹤工作流程。

建立卡片

此動作會在 Trello 的現有清單上建立卡片。 卡片可以代表任務、問題、事件或其他專案相關項目。 如需詳細資訊,請參閱 使用 Trello 建立 Azure DevOps Services 和 TFS 的服務勾點

  • 取用者識別碼: trello

  • 動作識別碼: createCard

  • 支援的事件:所有事件

  • 設定:

    輸入標識碼 名稱 說明 數據類型 為必填項目
    userToken 使用者權杖 提供 Trello 資源存取權的使用者令牌。 若要取得令牌,請移至 Trello 授權頁面 string 是的
    boardId 董事會 Trello 卡片建立所在的面板名稱。 string 是的
    listId 清單​​ 建立 Trello 卡片的清單名稱。 string 是的
    labels 標籤 已建立的卡片需要套用的標籤顏色逗號分隔列表。 有效的標籤色彩名稱為 red、、orange、、yellowgreenbluepurple string
    addToTop 在清單開頭建立 指出是否要在 Trello 清單開頭或結尾建立卡片的選項。 當此欄位為 true 時,卡片會在一開始建立。 boolean
    cardName 卡片名稱 新卡片的名稱。 根據預設,事件的文字描述會當做名稱使用。 您可以使用佔位符將事件的內容插入名稱中。 如需詳細資訊,請參閱 使用 Trello 建立 Azure DevOps Services 和 TFS 的服務勾點 string
    cardDescription 卡片描述 新卡片的描述。 根據預設,事件的詳細 Markdown 描述會當做描述使用。 您可以使用佔位符將事件的內容插入描述中。 如需詳細資訊,請參閱 使用 Trello 建立 Azure DevOps Services 和 TFS 的服務勾點 string

建立清單

此動作會在 Trello 的現有面板上建立清單。 清單用來組織面板上的卡片,通常代表狀態。 如需詳細資訊,請參閱 使用 Trello 建立 Azure DevOps Services 和 TFS 的服務勾點

  • 取用者識別碼: trello

  • 動作識別碼: createList

  • 支援的事件:所有事件

  • 設定:

    輸入標識碼 名稱 說明 數據類型 為必填項目
    userToken 使用者權杖 提供 Trello 資源存取權的使用者令牌。 若要取得令牌,請移至 Trello 授權頁面 string 是的
    boardId 董事會 Trello 清單建立所在的面板名稱。 string 是的
    addToBottom 在面板底部建立 指出是否要在面板開頭或結尾建立卡片的選項。 當此欄位為 true時,卡片會在最後创建。 boolean
    listName 清單名稱 新清單的名稱。 根據預設,事件的文字描述會當做名稱使用。 您可以使用佔位符將事件的內容插入名稱中。 如需詳細資訊,請參閱 使用 Trello 建立 Azure DevOps Services 和 TFS 的服務勾點 string

Webhooks (網路掛鉤)

Webhook 提供一種方式,將 Azure DevOps 事件的 JSON 表示法傳送至具有公用端點的任何服務。

透過 HTTP 張貼

此動作會將事件的 JSON 物件表示張貼至指定的 URL。 建議使用 HTTPS 端點,因為可能會有事件承載中的私用數據。 如需詳細資訊,請參閱 Webhook

  • 取用者識別碼: webHooks

  • 動作識別碼: httpRequest

  • 支援的事件:所有事件

  • 設定:

    輸入標識碼 名稱 說明 數據類型 為必填項目
    url URL 要傳送 HTTP POST 至的 URL。 uri 是的
    acceptUntrustedCerts 接受不受信任的 SSL 憑證 不需要信任的安全套接字層(SSL)憑證的端點選項。 只有在開發和測試期間才使用此選項。 boolean
    basicAuthCredentials 基本身份驗證認證 標準 HTTP 驗證認證。 若要避免以純文本傳送認證,請使用 HTTPS 通訊協定透過 TLS 加密認證。 建議您 在 Azure DevOps 中使用服務主體和受控識別 string 是的
    httpHeaders HTTP 標頭 HTTP 標頭鍵和值以鍵值對形式呈現。 在每一組中,鍵和值之間以冒號分隔,例如 <key>:<value>。 每個鍵值對都會出現在它自己的行上。 這些值可由任何可存取服務勾點訂用帳戶的人員檢視。 string
    resourceDetailsToSend 要傳送的資源詳細數據 要傳送至佇列的資源欄位數目。 可能性為所有欄位、最小數位和無。 string
    messagesToSend 要傳送的訊息 要傳送至佇列的訊息類型。 string
    detailedMessagesToSend 要傳送的詳細訊息 要傳送至佇列的詳細訊息類型。 string

Zendesk

Zendesk 是一種軟體即服務 (SaaS) 套件,可提供技術支援中心票證、問題追蹤和客戶服務支援。

在票證中建立私人批注

此動作會在 Zendesk 票證中建立私人評論。

  • 取用者識別碼: zendesk

  • 動作識別碼: createPrivateComment

  • 支援的事件: workitem.commented

  • 設定:

    輸入標識碼 名稱 說明 數據類型 為必填項目
    accountName 帳戶名稱 Zendesk 帳戶名稱。 您可以在 Zendesk 帳戶的網址中找到帳戶名稱,其格式為 https://<account-name>.zendesk.com string 是的
    username 使用者名稱 更新工單的 Zendesk 使用者之用戶名稱。 string 是的
    apiToken API 令牌 Zendesk API 令牌。 若要尋找令牌,請移至 Zendesk 應用程式,然後選取 [ 系統管理>通道>API]。 string 是的