事件
將 Azure Boards 連線至 GitHub (雲端)
Azure DevOps Services
針對您的軟體開發和 Azure Boards 專案使用 GitHub.com 存放庫來規劃和追蹤您的工作。 線上您的專案和存放庫,讓您的 GitHub 認可和提取要求會連結到 Azure Boards 中的工作專案。
注意
Azure Boards 和 Azure DevOps Services 支援與 GitHub.com 和 GitHub Enterprise Server 存放庫的整合。 如果您想要從內部部署 Azure DevOps Server 連線,請參閱 將 Azure DevOps Server 連線到 GitHub Enterprise Server。
類別 | 要求 |
---|---|
許可權 | - 專案集合管理員 群組的成員, 如果您建立專案,您具有許可權。 - 連接到 GitHub 存放庫的系統管理員 或 擁有者。 只要您是這些存放庫的系統管理員,您就可以連線到多個 GitHub 存放庫。 |
項目成員資格 | Project 成員。 |
根據您想要連線的 GitHub 平臺,支援下列驗證選項。
GitHub.com
GitHub Enterprise Server
注意
如果您選擇將 GitHub 與 PAT 連線,請在 GitHub 帳戶上設定 PAT 的單一登入 (SSO)。 此設定必須從已啟用安全性判斷提示標記語言 (SAML) SSO 驗證的組織擷取存放庫清單。
登入您的專案 (
https://dev.azure.com/{Your_Organization/Your_Project}
)。選取 [項目設定>][GitHub 連線]。
如果這是您第一次從項目連線,請選取 [ 連線您的 GitHub 帳戶 ] 以使用您的 GitHub 帳戶認證。
否則,請選擇 [
新增連線],然後從 [ 新增連線 ] 對話框中選取您的驗證方法。
當您使用 GitHub 帳戶連線時,請使用 GitHub 認證進行驗證。 若要使用 PAT,請參閱 使用 PAT 新增 GitHub 連線。 如需連線到 GitHub Enterprise Server,請參閱 在 GitHub 中將 Azure DevOps 註冊為 OAuth 應用程式。
您最多可以將 500 個 GitHub 存放庫連線到 Azure Boards 專案。
如果這是您第一次從 Azure Boards 連線到 GitHub,請使用您的 GitHub 認證登入。 選擇您是存放庫管理員的帳戶。
選取您要連線的 GitHub 帳戶或組織。 只會列出您擁有或身為系統管理員的組織。
如果組織的所有存放庫都已連線到 Azure Boards,您會看到下列訊息:
輸入您的 GitHub 認證。 如果您已啟用雙因素驗證,請輸入 GitHub 所傳送的驗證碼,然後選取 [ 驗證]。 如果沒有,系統會自動辨識您的 GitHub 組織,因為您的 GitHub 帳戶與您的 Azure DevOps Services 帳戶相關聯。
驗證之後,您可以選取您要連線的存放庫。
[ 新增 GitHub 存放庫 ] 對話框會自動顯示並選取您是所選組織中系統管理員的所有 GitHub.com 存放庫。 取消選取您不想包含在整合中的任何存放庫。
提示
若要避免非預期的 AB# 提及連結,建議您將 GitHub 存放庫連線到單一 Azure DevOps 組織內的專案。 將相同的 GitHub 存放庫連線到多個 Azure DevOps 組織中的專案可能會導致問題。 如需詳細資訊,請參閱 針對 GitHub 和 Azure Boards 整合進行疑難解答。
如果所有存放庫都已連線到目前或其他組織,則會顯示下列訊息:
進行選取之後,請選取 [ 儲存]。
檢閱顯示的 GitHub 頁面,然後選擇 [ 核准]、[安裝] 和 [授權]。
提供您的 GitHub 認證以確認。
完成時,您應該會看到已列出所選存放庫的新連線。
若要變更設定或管理 GitHub 的 Azure Boards 應用程式,請參閱 變更 Azure Boards 的存放庫存取權。
重要
我們建議使用 Microsoft Entra 令牌。 如需減少 PAT 使用量之工作的詳細資訊,請參閱我們的部落格 。 請檢閱我們的 驗證指引,為您的需求選擇適當的驗證機制。
建議您使用 GitHub 帳戶認證來連線到您的 GitHub 存放庫。
提示
當您建立 GitHub PAT 時,請確定您包含下列範圍: repo, read:user, user:email, admin:repo_hook
。
選擇 [個人存取令牌]。
若要建立 GitHub PAT,請移至 GitHub 開發人員設定 > 個人存取令牌。
輸入 PAT,然後選取 [ 連線]。
依照本文稍早選擇存放庫中所述 的程序,選取您要連線至專案的存放庫 。
如果這是第一次從 Azure Boards 連線到 GitHub 帳戶或組織,請安裝適用於 GitHub 的 Azure Boards 應用程式。 確認本文稍早的連線 。
若要使用 OAuth 將 Azure DevOps 與您的 GitHub Enterprise Server 連線,請先將應用程式註冊為 OAuth 應用程式。 如需詳細資訊,請參閱 建立 OAuth 應用程式。
登入 GitHub Enterprise 伺服器的入口網站。
開啟 >
輸入註冊資訊。
針對首頁 URL,指定組織的組織 URL。
針對授權回 呼 URL,請使用下列模式來建構 URL。{Azure DevOps Services Organization URL}/_admin/oauth2/callback
例如:
https://dev.azure.com/fabrikam/_admin/oauth2/callback
選取 [註冊應用程式]。
您已註冊 OAuth 應用程式的用戶端識別碼和用戶端密碼隨即出現。
登入 Azure DevOps Services 的入口網站。
將 GitHub Enterprise Oauth 組態新增至您的組織。
在 [組織設定] 中,選取 [Oauth 組態>][新增 Oauth 組態]。
輸入您的資訊,然後選取 [ 建立]。
重要
若要將 Azure DevOps Services 連線到您的 GitHub Enterprise Server,請確定可從因特網存取您的 GitHub Enterprise Server。 確認 Azure DNS 可以解析 GitHub Enterprise Server 名稱,且您的防火牆允許從 Azure 資料中心 IP 位址進行存取。 若要判斷IP位址範圍,請參閱 Microsoft Azure資料中心IP範圍。 線上問題的常見錯誤訊息如下:
無法解析遠端名稱:『github-enterprise-server.contoso.com』
如果您遇到此錯誤,請檢查伺服器的輔助功能。 如需詳細資訊,請參閱 Azure DNS 常見問題。
選取 ][GitHub 連線>][GitHub Enterprise Server] 進行第一次連線。
或者,從 [ 新增 GitHub 連線 ] 對話框,選取 [GitHub Enterprise Server]。
選取驗證方法。
使用 OAuth 連線
選擇您在 Azure DevOps Services 中註冊 OAuth 設定的步驟 4 中設定的設定,然後選擇 [連線]。
使用個人存取令牌連線
輸入 GitHub Enterprise 伺服器的 URL,以及該伺服器所辨識的個人存取令牌認證。 然後選擇 [ 連線]。
使用 GitHub 認證連線
輸入 GitHub Enterprise 伺服器的 URL,以及該伺服器所辨識的系統管理員帳戶認證,然後選取 [ 連線]。
對話框會列出您擁有 GitHub 系統管理許可權的所有存放庫。 您可以在 Mine 和 All 之間切換,以判斷是否有其他項目出現,然後檢查您要新增的。 當完成時,選擇儲存。
提示
您只能連線到一個 GitHub 組織下定義的存放庫。 若要將項目連線至另一個 GitHub 組織中定義的其他存放庫,您必須新增另一個連線。
如果您是第一次從 Azure Boards 連線到 GitHub 帳戶或組織,您也會安裝適用於 GitHub 的 Azure Boards 應用程式。 確認本文稍早的連線 。
Azure Boards-GitHub 整合會使用各種驗證通訊協議來維護連線。 變更使用者的許可權範圍或驗證認證,可以撤銷連線至 Azure Boards 的 GitHub 存放庫。
如需適用於 GitHub 之 Azure Boards 應用程式支援的整合概觀,請參閱 Azure Boards-GitHub 整合。
下列支援的驗證選項取決於您所連線的 GitHub 平臺:
平台
GitHub.com
GitHub Enterprise Server
Azure DevOps Services
- GitHub.com 用戶帳戶
- 個人存取權杖 (PAT)
- OAuth
- PAT
- GitHub 認證
Azure DevOps Server 2020
不適用
- PAT
- GitHub 認證
Azure DevOps Server 2019
不適用
- OAuth
- PAT
- GitHub 認證
注意
使用適用於 GitHub 的 Azure Boards 應用程式,Azure Boards 和 Azure DevOps Services 會與 GitHub.com 和 GitHub Enterprise Server 存放庫整合。 Azure DevOps Server 2019 和更新版本僅支援與 GitHub Enterprise Server 存放庫整合。 不支援與其他 Git 存放庫整合。
如果 Azure Boards 與 GitHub 之間的整合未如預期般運作,請確認您已授與組織存取權。
從 GitHub 入口網站,從配置檔功能表開啟 [設定 ]。
選取
在 [組織存取權] 底下,解決可能出現的任何問題。 選取 [授 與] 以將存取權授與任何顯示為擱 置存取要求的組織。
當與 GitHub 的 Azure Boards 連線失去存取權時,使用者介面中會出現紅色 X 的警示狀態。 將滑鼠停留在警示上方,以查看認證不再有效。 若要修正此問題,請移除連線並建立新的連線。
若要解決此問題,請考慮下列專案:
如果連線使用 OAuth:
Azure Boards 應用程式已拒絕其中一個存放庫的存取權。
GitHub 可能無法使用/無法連線。 這可能是因為服務中斷或內部部署的基礎結構/網路問題。 您可以從下列連結檢查服務狀態:
刪除並重新建立 GitHub 存放庫的連線。 此重新建立的聯機會導致 GitHub 提示您重新授權 Azure Boards。
如果連線使用 PAT:
PAT 已撤銷,或所需的許可權範圍已變更且不足。
使用者可能沒有 GitHub 存放庫的系統管理員許可權。
重新建立 PAT,並確定令牌的範圍包含必要的許可權:
repo, read:user, user:email, admin:repo_hook
。 如需詳細資訊,請參閱 使用 PAT 的最佳做法。
如果您已使用現有的 GitHub Enterprise Server 連線從 Azure DevOps Server 移轉至 Azure DevOps Services,現有的連線可能無法如預期般運作。 GitHub 內提及的工作專案可能會延遲或永遠不會出現在 Azure DevOps Services 中,因為與 GitHub 相關聯的回呼 URL 已不再有效。 請考慮下列解決方案:
拿掉並重新建立連線:移除並重新建立 GitHub Enterprise Server 存放庫的連線。 請遵循從 Azure Boards 連線檔中提供的步驟順序。
修正 Webhook URL:移至 GitHub 的存放庫設定頁面並編輯 Webhook URL,指向已移轉的 Azure DevOps 組織 URL:
https://dev.azure.com/{OrganizationName}/_apis/work/events?api-version=5.2-preview
將 GitHub 存放庫連線至多個 Azure DevOps 組織中的專案,例如 dev.azure.com/Contoso 和 dev.azure.com/Fabrikam,可能會導致 AB# 提及非預期的結果。 工作專案標識碼在 Azure DevOps 組織中並不是唯一的,因此 AB#12 可以參考 Contoso 或 Fabrikam 中的工作專案。 當認可訊息或提取要求中提及工作專案時,兩個組織可能會嘗試連結至具有相符標識符的工作專案,因而造成混淆。
若要避免此問題,請僅將單一 GitHub 存放庫聯機到一個 Azure DevOps 組織。
注意
當您使用適用於 GitHub 的 Azure Boards 應用程式進行連線時,應用程式會防止連線到多個組織。 如果 GitHub 存放庫連線到錯誤的 Azure DevOps 組織,請連絡該組織的擁有者,先移除連線,再將存放庫新增至正確的 Azure DevOps 組織。
如果您的組織使用託管的 XML 或內部部署 XML 程式模型來自定義工作追蹤體驗,並連結到並檢視工作專案表單中開發區段的 GitHub 連結類型,請更新工作專案類型的 XML 定義。
例如,若要將用戶劇本和 Bug 連結至 GitHub 認可,並從 [開發] 區段提取要求,請更新使用者劇本和 Bug 的 XML 定義。
請遵循裝載 XML 進程模型中提供的工作順序來更新 XML 定義。 針對每個工作專案類型,尋找 區 Group Label="Development"
段,並在程式代碼語法中新增下列兩行,以支援外部連結類型: GitHub Commit 和 GitHub 提取要求。
<ExternalLinkFilter Type="GitHub Pull Request" />
<ExternalLinkFilter Type="GitHub Commit" />
更新之後,區段應該會顯示如下。
<Group Label="Development">
<Control Type="LinksControl" Name="Development">
<LinksControlOptions ViewMode="Dynamic" ZeroDataExperience="Development" ShowCallToAction="true">
<ListViewOptions GroupLinks="false">
</ListViewOptions>
<LinkFilters>
<ExternalLinkFilter Type="Build" />
<ExternalLinkFilter Type="Integrated in build" />
<ExternalLinkFilter Type="Pull Request" />
<ExternalLinkFilter Type="Branch" />
<ExternalLinkFilter Type="Fixed in Commit" />
<ExternalLinkFilter Type="Fixed in Changeset" />
<ExternalLinkFilter Type="Source Code File" />
<ExternalLinkFilter Type="Found in build" />
<ExternalLinkFilter Type="GitHub Pull Request" />
<ExternalLinkFilter Type="GitHub Commit" />
</LinkFilters>
</LinksControlOptions>
</Control>
</Group>
A: 不可以。 要求您的使用者註銷,然後從全新的瀏覽器會話使用其 GitHub 認證登入組織。 此動作會建立其 GitHub 身分識別。
答:變更設定之後,註銷 Azure DevOps,然後從全新瀏覽器會話使用您的 GitHub 認證重新登入組織(dev.azure.com/{organizationName}
或 organizationName.visualstudio.com
)。
答:只有組織或項目系統管理員可以邀請新使用者加入組織。 您可能沒有新增使用者的必要許可權。 請與您的系統管理員合作,以取得必要的許可權,或要求他們為您新增使用者。
其他資源
訓練
認證
Microsoft Certified: Identity and Access Administrator Associate - Certifications
示範 Microsoft Entra ID 的功能,以現代化身分識別解決方案、實作混合式解決方案,以及實作身分識別治理。
文件
-
安裝適用於 GitHub 的 Azure Boards 應用程式 - Azure Boards
瞭解如何設定 Azure Boards 應用程式,將一或多個 GitHub 存放庫連線至 Azure Boards,以及變更 GitHub 存放庫存取權。
-
Azure Boards-GitHub 整合 - Azure Boards
在 GitHub 中管理程式碼,以及連結至 Azure Boards 中的 GitHub 認可、提取要求和問題
-
將 GitHub 認可、PR、分支和問題連結至工作專案 - Azure Boards
瞭解如何將工作項目連結至 GitHub 認可、提取要求、分支和問題,以及自動轉換 Azure Boards 中的工作項目狀態。