Azure DevOps Server 2022 |Azure DevOps Server 2020 |Azure DevOps Server 2019
Azure DevOps Server プロジェクトを GitHub リポジトリに接続することで、GitHub のコミットと pull request を作業項目にリンクできます。 ソフトウェアの開発に GitHub を使用し、Azure Boards をご自分の作業の計画と追跡に使用できます。
注
Azure DevOps Server では、GitHub.com および GitHub Enterprise Server リポジトリとの統合がサポートされています。 Azure DevOps Services から接続するには、「 Azure Boards を GitHub に接続する」を参照してください。
前提条件
カテゴリ | 必要条件 |
---|---|
アクセス許可 | - プロジェクト コレクション管理者 グループ のメンバーと、プロジェクト 共同作成者グループ。 自分でプロジェクトを作成した場合は、アクセス許可を持っています。 接続する GitHub Enterprise Server の管理者 - です。 |
プロジェクト会員 | プロジェクト メンバー。 |
GitHub との 統合 | - Azure DevOps Server 2020.1.1 Patch 2。 このパッチを適用しない場合は、GitHub Enterprise Server のリポジトリにのみ接続できます。 GitHub の組織またはアカウントにインストールされた GitHub 用の Azure Boards アプリ - 。 |
認証オプション
次の認証オプションがサポートされています。
注
OAuth は、Azure DevOps Server 2020 ではサポートされていません。
Azure DevOps Server を GitHub Enterprise Server に接続する
250 以上の GitHub リポジトリを Azure Boards プロジェクトに接続することができます。
注
- 100 を超える GitHub リポジトリに接続するには、Azure DevOps Server 2020.1 アップデート以降のバージョンが必要です。
- GitHub.com のリポジトリに接続するには、Azure DevOps Server 2020.1.1 Patch 2 以降のバージョンが必要です。
Azure DevOps Server の Web ポータルを開きます。
Azure DevOps のロゴを選択して [プロジェクト] を開き、GitHub Enterprise リポジトリに接続するように構成する Azure Boards プロジェクトを選択します。
[プロジェクトの設定]>[GitHub 接続] の順に選択します。
プロジェクトからの接続を初めて行う場合は、接続を確立するために使用する認証方法を選択します。
- GitHub 個人用アクセス トークン: 詳細については、 GitHub PAT を使用した接続に関するページを参照してください。
- GitHub 資格情報: 詳細については、 GitHub 資格情報を使用した接続に関するページを参照してください。
それ以外の場合は、
[新しい接続] を選択し、[新しい接続] ダイアログから認証方法を選択します。
GitHub 個人用アクセス トークンを使用して Azure DevOps Server を接続する
GitHub PAT を作成するには、「 GitHub PAT の作成」を参照してください。
ヒント
GitHub PAT を作成するときは、
repo, admin:repo_hook, read:user, user:email
のスコープが含まれていることを確認してください。GitHub Enterprise サーバーの URL と、そのサーバーによって認識される個人用アクセス トークン資格情報を入力します。 次に、 [接続] を選択します。
GitHub 資格情報を使用して Azure DevOps Server を接続する
GitHub Enterprise サーバーの URL と、そのサーバーによって認識される管理者アカウントの資格情報を入力します。 次に、[接続] を選択します。
ダイアログには、GitHub 管理権限を持つすべてのリポジトリが一覧表示されます。 [自分のもの] と [すべて] を切り替えると、その他を表示するかどうかを決定できます。その後、追加したいものをチェックします。 終わったら [保存] を選択します。
初めて Azure Boards から GitHub アカウントまたは組織に接続する場合は、GitHub 用の Azure Boards アプリもインストールします。 「接続を確認する」に記載されている手順に従って、統合を完了します。
接続に関する問題の解決
Azure Boards と GitHub の統合では、接続をサポートするためにさまざまな認証プロトコルに依存しています。 ユーザーのアクセス許可のスコープまたは認証の資格情報を変更すると、Azure Boards に接続されている GitHub リポジトリが失効する可能性があります。
GitHub 用の Azure Boards アプリがサポートする統合の概要については、Azure Boards と GitHub の統合に関する記事をご覧ください。
GitHub への Azure Boards の接続にアクセスできなくなると、ユーザー インターフェイスに赤色の X でアラート状態が示されます。 アラートをポイントすると、資格情報が無効になっていることが示されます。 この問題を解決するには、接続を削除して、新しい接続を作成し直します。
次の解決策を検討してください。
接続で OAuth を使っている場合:
Azure Boards アプリケーションは、いずれかのリポジトリに対してアクセスが拒否されました。
GitHub が利用できないか、到達できない可能性があります。 このように利用できなくなるのは、サービスの停止またはオンプレミスのインフラストラクチャやネットワークの問題が原因である可能性があります。 サービスの状態は、次のリンクからチェックできます。
GitHub リポジトリへの接続を削除して作成し直します。 接続を作成し直すと、GitHub で Azure Boards の再認証を求めるメッセージが表示されます。
接続で GitHub PAT を使用している場合:
GitHub PAT が取り消されたか、必要なアクセス許可スコープが変更され、不十分です。
ユーザーが GitHub リポジトリの管理アクセス許可を失った可能性があります。
GitHub PAT を再作成し、トークンのスコープに必要なアクセス許可 (
repo, read:user, user:email, admin:repo_hook
) が含まれていることを確認します。
選択した作業項目の種類の XML 定義を更新する
組織で Hosted XML またはオンプレミスの XML プロセス モデルを使用して作業追跡をカスタマイズし、GitHub リンク型を作業項目フォームの開発セクションに統合する場合は、対応する作業項目の種類の XML 定義を更新する必要があります。
たとえば、作業項目フォームの Development セクション内でユーザー ストーリーやバグを GitHub コミットと pull request にリンクするには、これらの作業項目の種類の XML 定義を更新する必要があります。
XML 定義を変更するには、「 Hosted XML プロセス モデルで説明されている手順を実行します。 作業項目の種類ごとに、次の操作を行います。
-
Group Label="Development"
セクションを見つけます。 - 外部リンクの種類 GitHub Commit および GitHub Pull Request をサポートするには次のコード行を追加します。
この統合により、Azure Boards の作業項目から直接 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>