使用 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 工作區
移至 Azure Repos Slack 應用程式 ,然後選取 [新增至 Slack]。
新增之後,您會收到類似下列歡迎訊息的內容。
/azrepos
使用 Slack 句柄與應用程式互動。 本文的 [命令參考 ] 區段中會提供完整的命令清單。
將 Azure Repos 應用程式 連線 至您的存放庫
連線 並使用 命令向 Azure Repos
/azrepos signin
驗證自己。選取 [登入]。
接受 Azure Repos Slack 整合。
驗證碼會顯示在聊天應用程式中用來完成驗證。
複製驗證碼。
選取 [ 輸入程序代碼],貼上程式代碼,然後選取 [ 提交]。
確認聊天中會顯示登入。
若要開始監視專案中的所有 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有特定檢閱者時收到通知。
下列步驟示範如何自定義訂用帳戶。
- 執行
/azrepos subscriptions
命令。 - 在訂用帳戶清單中,如果有不需要或必須修改的訂用帳戶(例如:在頻道中建立雜訊),請選取 [ 移除 ] 按鈕。
- 選取 [新增訂用 帳戶] 按鈕。
- 選取所需的存放庫和所需的事件。
- 選取適當的篩選。
範例:只有在我的小組位於PR的檢閱者清單中時,才會取得通知
範例:當合併嘗試因原則違規而失敗時,請告訴我
注意
- 所有篩選通常是下拉式清單。 但是,如果下拉式清單有大於100個專案,則用戶必須手動輸入值。
- 針對 TFVC 程式代碼簽入 事件,篩選 [路徑 底下] 必須是 格式
$/myproject/path
。
預覽提取要求 URL
當使用者貼上 PR 的 URL 時,預覽會顯示如下影像,有助於保持與 PR 相關的交談內容和正確性。
使用者登入之後,此功能適用於工作區中的所有通道。
從通道移除訂用帳戶和存放庫
使用下列命令,藉由移除存放庫和訂用帳戶來清除您的通道。
/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 存取的第三方應用程式存取權] 設定為 [開啟]。
設定失敗。 請確定組織 『{organization name}』 存在,而且您有足夠的許可權。
流覽至您的瀏覽器, https://aka.ms/VsSignout
以註銷 Azure DevOps。
開啟 [私人] 或 [無痕瀏覽器] 視窗,並流覽至 https://aex.dev.azure.com/me
並登入。 在左側配置檔圖示下方的下拉式清單中,選取包含您要訂閱之存放庫之組織的目錄。
在 相同的瀏覽器中,啟動新的索引標籤,流覽至 https://slack.com
,然後登入您的工作空間(使用 Web 用戶端)。 /azrepos signout
執行 命令,後面接著 /azrepos signin
命令。
Sign in
選取按鈕,系統會將您重新導向至同意頁面,如下列範例中的同意頁面。 請確定電子郵件旁顯示的目錄與上一個步驟中所選擇的目錄相同。 接受並完成登入程式。
如果這些步驟無法解決您的驗證問題,請在 開發人員社群 與我們連絡。