使用 Slack 的 Azure Repos

Azure DevOps Services

如果您使用 Slack,則可以使用適用於 Slack 的 Azure Repos 應用程式,輕鬆地監視您的 Azure Repos 存放庫。 設定和管理訂閱,以在每當程式代碼推送或存回時,以及每當提取要求 (PR) 建立、更新或合併時,在您的通道中接收通知。 此應用程式同時支援 Git 和 Team Foundation 版本控制 (TFVC) 事件。

必要條件

  • 若要在 Slack 通道中建立存放庫相關事件的訂用帳戶,您必須是 Project 管理員 istrators 群組的成員,或是小組管理員。 若要新增,請參閱 變更專案層級許可權新增小組管理員
  • 若要接收通知, 組織必須啟用透過OAuth 設定的第三方應用程式存取。 如需詳細資訊,請參閱 變更組織的應用程式存取原則。

注意

  • 您目前只能將適用於 Slack 的 Azure Repos 應用程式連結至裝載於 Azure DevOps Services 上的專案。
  • 直接訊息內目前不支援通知。

將 Azure Repos 應用程式新增至 Slack 工作區

  1. 移至 Azure Repos Slack 應用程式 ,然後選取 [新增至 Slack]。

    Slack 應用程式目錄、Azure Repos 和按鈕的螢幕快照,新增至 Slack。

    新增之後,您會收到類似下列歡迎訊息的內容。

    Slack 中歡迎訊息的螢幕快照。

  2. /azrepos使用 Slack 句柄與應用程式互動。 本文的 [命令參考 ] 區段中會提供完整的命令清單。

將 Azure Repos 應用程式 連線 至您的存放庫

  1. 連線 並使用 命令向 Azure Repos /azrepos signin 驗證自己。

    Slack 登入提示的螢幕快照。

  2. 選取 [登入]

  3. 接受 Azure Repos Slack 整合。

    結果登入畫面中 [接受] 按鈕的螢幕快照。

    驗證碼會顯示在聊天應用程式中用來完成驗證。

  4. 複製驗證碼。

    Azure Repos 所提供的驗證碼螢幕快照。

  5. 選取 [ 輸入程序代碼],貼上程式代碼,然後選取 [ 提交]。

    貼上驗證碼,然後選取 [提交] 按鈕時,最終驗證畫面的螢幕快照。

    確認聊天中會顯示登入。

    聊天中的登入確認螢幕快照。

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

/azrepos subscribe [project url]

專案 URL 可以是您專案內的任何頁面(但存放庫的 URL 除外)。 例如:

/azrepos subscribe https://dev.azure.com/myorg/myproject/

您也可以使用下列命令來監視特定存放庫:

/azrepos subscribe [repository url]

存放庫 URL 可以是存放庫內具有存放庫名稱的任何頁面。 例如,針對 Git 存放庫,請使用:

/azrepos subscribe https://dev.azure.com/myorg/myproject/_git/myrepository

針對 TFVC 存放庫,請使用:

/azrepos subscribe https://dev.azure.com/myorg/myproject/_versionControl

注意

您只能訂閱公用存放庫。

訂閱命令可讓您開始使用預設訂用帳戶。 針對 Git 存放庫,通道會 訂閱提取要求建立 事件(目標分支 = main),而針對 TFVC 存放庫,通道會訂閱 簽入事件中的 程式代碼。

顯示預設訂用帳戶建立訊息的螢幕快照。

管理訂閱

若要檢視、新增或移除通道的訂用帳戶,請使用下列 subscriptions 命令:

/azrepos subscriptions

此命令會列出通道的所有目前訂用帳戶,並可讓您新增訂用帳戶或移除現有的訂用帳戶。 新增訂用帳戶時,您可以使用各種篩選來自定義您取得的通知,如下一節所述。

注意

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

顯示 [檢視訂用帳戶] 列表的螢幕快照。

使用篩選來自定義訂用帳戶

當使用者使用 /azrepos subscribe 命令訂閱存放庫時,就會建立預設訂閱。 使用者通常需要自定義這些訂用帳戶。 例如,使用者可能只想在PR有特定檢閱者時收到通知。

下列步驟示範如何自定義訂用帳戶。

  1. 執行 /azrepos subscriptions 命令。
  2. 在訂用帳戶清單中,如果有不需要或必須修改的訂用帳戶(例如:在頻道中建立雜訊),請選取 [ 移除 ] 按鈕。
  3. 選取 [新增訂用 帳戶] 按鈕。
  4. 選取所需的存放庫和所需的事件。
  5. 選取適當的篩選。

範例:只有在我的小組位於PR的檢閱者清單中時,才會取得通知

顯示檢閱者有我的小組的螢幕快照。

範例:當合併嘗試因原則違規而失敗時,請告訴我

顯示合併嘗試失敗的螢幕快照 – 因為違反原則。

注意

  • 所有篩選通常是下拉式清單。 但是,如果下拉式清單有大於100個專案,則用戶必須手動輸入值。
  • 針對 TFVC 程式代碼簽入 事件,篩選 [路徑 底下] 必須是 格式 $/myproject/path

預覽提取要求 URL

當使用者貼上 PR 的 URL 時,預覽會顯示如下影像,有助於保持與 PR 相關的交談內容和正確性。

顯示 URL 展開的螢幕快照。

使用者登入之後,此功能適用於工作區中的所有通道。

從通道移除訂用帳戶和存放庫

使用下列命令,藉由移除存放庫和訂用帳戶來清除您的通道。

/azrepos unsubscribe all [project url]

例如,下列命令會刪除與專案中任何存放庫相關的所有訂用帳戶,並從通道中移除存放庫。 只有專案管理員可以執行此命令。

/azrepos unsubscribe all https://dev.azure.com/myorg/myproject

命令參考資料

下表列出您可以在 Slack 通道中使用的所有 /azrepos commands

Slash 命令 功能
/azrepos subscribe [repository url/ project url] 訂閱專案中的存放庫或所有存放庫以取得通知
/azrepos subscriptions 新增或移除此通道的訂用帳戶
/azrepos signin 登入您的 Azure Repos 組織
/azrepos signout 從您的 Azure Repos 組織註銷
/azrepos feedback 回報問題或建議功能
/azrepos unsubscribe all [project url] 從通道移除所有存放庫(屬於專案)及其相關聯的訂用帳戶

私人頻道中的通知

Azure Repos 應用程式也可以協助您監視私人頻道中的存放庫事件。 使用 /invite @azrepos邀請 Bot 加入您的私人頻道。 然後,您可以管理通知的方式與公用頻道相同。

疑難排解

如果您在使用 Azure Repos App for Slack 時遇到下列錯誤,請遵循本節中的程式。

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

Azure Repos 應用程式會使用 OAuth 驗證通訊協定,並要求 透過 OAuth 存取第三方應用程式,才能啟用組織 。 若要啟用此設定,請流覽至 [組織 設定> 安全性>原則],並將 [透過 OAuth 存取的第三方應用程式存取權] 設定[開啟]。

針對組織設定,透過 OAuth 啟用第三方應用程式存取

設定失敗。 請確定組織 『{organization name}』 存在,而且您有足夠的許可權。

流覽至您的瀏覽器, https://aka.ms/VsSignout 以註銷 Azure DevOps。

開啟 [私人] 或 [無痕瀏覽器] 視窗,並流覽至 https://aex.dev.azure.com/me 並登入。 在左側配置檔圖示下方的下拉式清單中,選取包含您要訂閱之存放庫之組織的目錄。

選取包含專案之組織的目錄

相同的瀏覽器中,啟動新的索引標籤,流覽至 https://slack.com,然後登入您的工作空間(使用 Web 用戶端)。 /azrepos signout執行 命令,後面接著 /azrepos signin 命令。

Sign in選取按鈕,系統會將您重新導向至同意頁面,如下列範例中的同意頁面。 請確定電子郵件旁顯示的目錄與上一個步驟中所選擇的目錄相同。 接受並完成登入程式。

顯示同意所要求應用程式許可權的螢幕快照。

如果這些步驟無法解決您的驗證問題,請在 開發人員社群 與我們連絡。