搭配 Slack 使用 Azure Pipelines

Azure DevOps Services

透過 適用於 Slack 的 Azure Pipelines 應用程式,Slack 使用者可以輕鬆地追蹤其管線內發生的事件。 應用程式可讓使用者建立及監督各種管線事件的訂用帳戶,例如組建、發行、擱置核准等等。 然後,這些事件的通知會直接傳遞至使用者的 Slack 頻道

注意

此功能僅適用於 Azure DevOps Services。 一般而言,雲端服務會先引進新功能,然後在下一個主要版本或 Azure DevOps Server 的更新中提供內部部署。 若要深入瞭解,請參閱 Azure DevOps 功能時程表

必要條件

  • 在 Slack 中,您必須擁有將應用程式安裝到 Slack 工作區的許可權。
  • 針對 Azure DevOps,您必須位於 Project Collection 管理員 istrators 或 Project 管理員 istrators 群組中,才能設定 Slack 訂用帳戶。

安裝 Azure Pipelines 應用程式

流覽至 Azure Pipelines Slack 應用程式,將 Azure Pipelines 應用程式 安裝到您的 Slack 工作區。 新增之後,您會看到來自應用程式的歡迎訊息,如下所示。 使用句 /azpipelines 柄開始與應用程式互動。

A screenshot showing the Azure Pipelines app welcome message.

連線 至管線

在 Slack 工作區中安裝應用程式之後,您可以將應用程式連線到您想要監視的任何管線。 在執行任何命令之前,系統會要求您向 Azure Pipelines 進行驗證。

A screenshot showing the sign-in prompt message.

若要開始監視專案中的所有管線,請在通道內使用下列斜線命令:

/azpipelines subscribe [project url]

專案 URL 可以連結至專案內的任何頁面(但管線的 URL 除外)。 例如: /azpipelines subscribe https://dev.azure.com/myorg/myproject/

您也可以使用下列命令監視特定管線:

/azpipelines subscribe [pipeline url]

管線 URL 可以連結到管線 definitionId 內具有 或 buildId/releaseId URL 中的任何頁面。 例如:/azpipelines subscribehttps://dev.azure.com/myorg/myproject/_build?definitionId=123 , 或: /azpipelines subscribe https://dev.azure.com/myorg/myproject/_release?definitionId=123&view=mine&_a=releases

訂閱命令預設會讓您開始使用一些訂用帳戶。 以下是針對下列管線類型啟用的預設通知:

建置管線 發行管線 YAML 管線
建置已完成 通知 發行部署已啟動、 發行部署已完成 ,以及 發行部署核准擱置 通知 執行階段狀態已變更 ,並 執行階段等待核准 通知

A screenshot showing notification example.

管理訂閱

若要管理通道的訂用帳戶,請使用下列命令: /azpipelines subscriptions

此命令會列出通道的所有目前訂用帳戶,並可讓您新增或移除訂用帳戶。

注意

小組管理員無法移除或修改 Project 系統管理員所建立的訂用帳戶。

A screenshot showing a list of subscriptions.

自訂訂用帳戶

根據預設,訂閱管線時,會產生數個未套用任何篩選的訂用帳戶。 不過,使用者通常會根據他們的喜好設定來個人化這些訂用帳戶。 例如,使用者可能只想要接收失敗組建的通知,或部署至生產環境時。 Azure Pipelines 應用程式提供套用篩選的選項,讓用戶能夠自定義他們在頻道中收到的訊息。 若要自訂訂用帳戶:

  1. /azpipelines subscriptions執行 命令以列出您的所有訂用帳戶。

  2. 選取 [新增訂用帳戶]。

  3. 選取您想要訂閱的事件,然後選取所需的設定。

  4. 當完成時,選擇儲存

範例:僅取得失敗組建的通知

A screenshot showing a list how to add a custom new subscription.

核准部署

您可以從 Slack 通道內核准部署,而不流覽至 Azure Pipelines 入口網站,方法是訂閱 發行部署核准擱 置通知(傳統版本)或 等候核准 通知的執行階段(YAML 管線)。 當您訂閱管線時,預設會建立這兩個訂用帳戶。

A screenshot showing pipeline approval in Slack.

適用於 Slack 的 Azure Pipelines 應用程式可讓您處理 Azure Pipelines 入口網站中可用的所有檢查和核准案例。 其中包括單一核准者、多個核准者,以及以小組為基礎的核准。 您可以選擇個別或代表小組核准要求。

A screenshot showing a predeployment pipeline approved in Slack.

拿掉所有訂用帳戶

若要解譯通道,您可以使用下列命令取消訂閱專案內的所有管線。 例如: /azpipelines 取消訂閱所有 https://dev.azure.com/myorg/myproject

/azpipelines unsubscribe all [project url]

重要

此命令只能由專案管理員執行。

命令參考

以下是適用於 Slack 的 Azure Pipelines 應用程式支援的所有命令:

Slash 命令 功能
/azpipelines subscribe [pipeline url/ project url] 訂閱專案中的管線或所有管線以接收通知
/azpipelines subscriptions 新增或移除此通道的訂用帳戶
/azpipelines 意見反應 回報問題或建議功能
/azpipelines 說明 取得斜線命令的說明
/azpipelines signin 登入您的 Azure Pipelines 帳戶
/azpipelines signout 從您的 Azure Pipelines 帳戶註銷
/azpipelines unsubscribe all [project url] 從通道中移除所有管線(屬於專案)及其相關聯的訂用帳戶

私人頻道中的通知

Azure Pipelines 應用程式也可以協助您監視私人頻道中的管線活動。 您必須使用 /invite @azpipelines邀請 Bot 到您的私人頻道。 新增 Bot 之後,您可以設定及控制通知的方式與公用通道相同。

注意

  • 您目前只能在 Azure DevOps Services 上裝載的專案使用適用於 Slack 的 Azure Pipelines 應用程式。
  • 用戶必須是包含管線的專案管理員,才能設定訂用帳戶
  • 直接訊息內目前不支援通知
  • 不支援在完成核准之前重新驗證核准者身分識別的部署核准,
  • 「透過 OAuth 進行第三方應用程式存取」必須啟用,才能在 Azure DevOps 中接收組織的通知(組織 設定 - 安全性 ->> 原則)

疑難排解

如果您在使用適用於 Slack 的 Azure Pipelines 應用程式時遇到下列錯誤,請遵循本節中的程式。

抱歉,發生錯誤。 請再試一次

Azure Pipelines 應用程式會使用 OAuth 驗證通訊協定,而且需要 啟用透過 OAuth 的第三方應用程式存取權。 若要啟用此設定,請流覽至 [組織 設定> 安全性>原則],然後針對組織開啟第三方應用程式存取權。

A screenshot showing how to enable third party access via OAuth.

設定失敗。 請確定組織存在,且您有足夠的許可權

流覽至此 URL 以註銷 Azure DevOps: https://aka.ms/VsSignout

開啟私人/incognito 瀏覽器視窗,並流覽至 https://aex.dev.azure.com/me 並登入。 選取包含您要訂閱管線所在組織的目錄。

A screenshot showing how to select your pipeline directory.

使用相同的瀏覽器,開啟新的索引標籤並移至 https://slack.com。 使用 Web 用戶端登入您的工作區,然後執行 /azpipelines signout 命令,後面接著 /azpipelines signin

Sign in選取按鈕,系統會將您重新導向至同意頁面,如下列範例所示。 確認電子郵件位址旁顯示的目錄符合上一個步驟中選取的目錄。 選取 [ 接受 ] 以完成登入程式。

A screenshot showing how to allow pipelines slack integration.