次の方法で共有


Azure DevOps Server を GitHub に接続する (オンプレミス)

Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019

Azure DevOps Server プロジェクトを GitHub リポジトリに接続することで、GitHub のコミットと pull request を作業項目にリンクできます。 ソフトウェアの開発に GitHub を使用し、Azure Boards をご自分の作業の計画と追跡に使用できます。

Note

オンプレミスの Azure DevOps Server 2020 では、GitHub.com および GitHub Enterprise Server のリポジトリとの統合がサポートされています。 Azure DevOps Services から接続する場合は、「Azure Boards と GitHub の接続」を参照してください。

Azure DevOps Server プロジェクトを GitHub Enterprise Server リポジトリと接続することで、GitHub のコミットと pull request を作業項目にリンクできます。 ソフトウェアの開発に GitHub Enterprise を使用し、Azure Boards をご自分の作業の計画と追跡に使用できます。

注意

オンプレミスの Azure DevOps Server 2019 では、GitHub Enterprise Server リポジトリとの統合がサポートされています。 Azure DevOps Services から接続する場合は、「Azure Boards と GitHub の接続」を参照してください。

前提条件

  • GitHub との統合:
    • GitHub.com のリポジトリに接続するには、Azure DevOps Server 2020.1.1 Patch 2 をインストールする必要があります。 このパッチを適用しない場合は、GitHub Enterprise Server のリポジトリにのみ接続できます。
    • GitHub の組織またはアカウントに GitHub 用の Azure Boards アプリをインストールします
  • プロジェクト接続: Azure Boards または Azure DevOps プロジェクトに接続します。 プロジェクトがまだない場合は、作成します。
  • アクセス許可:

認証オプション

次の認証オプションがサポートされています。

Note

OAuth は、Azure DevOps Server 2020 ではサポートされていません。

GitHub で Azure DevOps を OAuth アプリとして登録する

OAuth を使って Azure DevOps Server を GitHub Enterprise Server に接続する予定の場合は、まずアプリケーションを OAuth アプリとして登録する必要があります。 詳細については、「OAuth アプリの作成」を参照してください。

Azure DevOps Server を登録する

  1. GitHub Enterprise サーバーの Web ポータルにサインインします。

    GitHub Enterprise Server のサインインのスクリーンショット。

  2. [設定]>[開発者の設定]>[Oauth アプリ]>[新しい OAuth アプリ] の順に選択します。

    [新しい OAuth アプリ] 画面に至るまでの手順を示すスクリーンショット。

  3. Azure DevOps Server アプリケーションを登録するための情報を入力します。

    Azure DevOps Server のプロジェクト登録画面のスクリーンショット。

    [ホームページ URL] には、プロジェクト コレクションのパブリック URL を指定します。 この URL を確認するには、Azure DevOps 管理コンソールを開き[アプリケーション層] ノードを表示します。

    Azure DevOps Server の管理コンソール、アプリケーション層のスクリーンショット。

    [認可コールバック URL] には、次のパターンを使って URL を作成します。

    {Azure DevOps Server Public Url}/{Collection Name}/_admin/oauth2/callback

    次に例を示します。

    http://contoso/DefaultCollection/_admin/oauth2/callback

    https://tfs.contoso.com/MyCollection/_admin/oauth2/callback

  4. [アプリケーションの登録] を選択します。

  5. 登録した OAuth アプリケーションの [クライアント ID][クライアント シークレット] を示すページが表示されます。

    登録済み OAuth アプリケーションの クライアント ID と Client Secret のスクリーンショット。

Azure DevOps Server で OAuth 構成を登録する

  1. Azure DevOps Server の Web ポータルにサインインします。

  2. GitHub Enterprise の Oauth 構成を Azure DevOps Server コレクションに追加します。

  3. [管理設]>[Oauth 構成]>[Oauth 構成の追加] の順に選択します。

    OAuth 構成を追加する手順を示すスクリーンショット。

  4. プロジェクト情報を入力し、[作成]を選択します。

    OAuth 構成ダイアログのスクリーンショット。

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 以降のバージョンが必要です。

100 以上の GitHub リポジトリを Azure Boards プロジェクトに接続することができます。 この制限は変更できません。

  1. Azure DevOps Server の Web ポータルを開きます。

  2. Azure DevOps のロゴを選択して [プロジェクト] を開き、GitHub Enterprise リポジトリに接続するように構成する Azure Boards プロジェクトを選択します。

  1. [プロジェクトの設定]>[GitHub 接続] の順に選択します。

    [プロジェクト設定] > [GitHub 接続] を開くスクリーンショット。

  2. プロジェクトから初めて接続する場合は、接続を確立するために使用する認証方法を選択します。

    GitHub 資格情報を使用して初めて接続する場合のスクリーンショット。

    それ以外の場合は、[新しい接続] を選択し、[新しい接続] ダイアログから認証方法を選択します。

  1. [プロジェクト設定]>[GitHub 接続]>[GitHub Enterprise アカウントを接続する] の順に選択します。

    統合が選択されている [プロジェクト設定] のスクリーンショット。

    または、個人用アクセス トークンまたはユーザー名とパスワードの資格情報を使う場合は、それらを選択します。

OAuth を使用して接続する

「Azure DevOps Server で OAuth 構成を登録する」の手順 4 で設定した構成を選択します。 次に、 [接続] を選択します。

[新しい GitHub Enterprise 接続]、[OAuth] ダイアログのスクリーンショット。

個人用アクセス トークンを使用して接続する

  1. PAT を作成するには、個人用アクセス トークンの作成に関するページを参照してください。

    ヒント

    GitHub PAT を作成するときは、repo, admin:repo_hook, read:user, user:email のスコープが含まれていることを確認してください。

  2. GitHub Enterprise サーバーの URL と、そのサーバーによって認識される個人用アクセス トークン資格情報を入力します。 次に、 [接続] を選択します。

PAT を使用したサインインのスクリーンショット。

ユーザー名とパスワードで接続

  1. GitHub Enterprise サーバーの URL と、そのサーバーによって認識される管理者アカウントの資格情報を入力します。 次に、[接続] を選択します。

ユーザー名とパスワードを使用したサインインのスクリーンショット。

  1. ダイアログには、GitHub 管理権限を持つすべてのリポジトリが一覧表示されます。 [自分のもの][すべて] を切り替えると、その他を表示するかどうかを決定できます。その後、追加したいものをチェックします。 終わったら [保存] を選択します。

    追加するリポジトリが選択されているスクリーンショット。

  2. 初めて 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
  • ユーザー名とパスワード

Azure DevOps Server 2020

適用なし

  • PAT
  • ユーザー名とパスワード

Azure DevOps Server 2019

適用なし

  • OAuth
  • PAT
  • ユーザー名とパスワード

Note

GitHub 用の Azure Boards アプリを使用することで、Azure Boards と Azure DevOps Services が GitHub.com および GitHub Enterprise Server リポジトリと統合されます。 Azure DevOps Server 2019 以降のバージョンは、GitHub Enterprise Server リポジトリとの統合のみをサポートしています。 他の Git リポジトリとの統合はサポートされていません。

アクセスの問題を解決する

GitHub への Azure Boards の接続にアクセスできなくなると、ユーザー インターフェイスに赤色の X でアラート状態が示されます。 アラートをポイントすると、資格情報が無効になっていることが示されます。 この問題を解決するには、接続を削除して、新しい接続を作成し直します。

失敗した接続のスクリーンショット。

GitHub への Azure Boards の接続にアクセスできなくなると、ユーザー インターフェイスに赤色の X でアラート状態が示され、"GitHub に接続できません" のようなツールヒントが表示されます。

次の解決策を検討してください。

  • 接続で OAuth を使っている場合:

    • Azure Boards アプリケーションで、いずれかのリポジトリに対するアクセスが拒否されました。

    • GitHub が利用できないか、到達できない可能性があります。 このように利用できなくなるのは、サービスの停止またはオンプレミスのインフラストラクチャやネットワークの問題が原因である可能性があります。 サービスの状態は、次のリンクからチェックできます。

      GitHub リポジトリへの接続を削除して作成し直します。 接続を作成し直すと、GitHub で Azure Boards の再認証を求めるメッセージが表示されます。

  • 接続で PAT を使っている場合:

    • PAT が取り消されたか、必要なアクセス許可範囲が変更されたりして、不十分である可能性があります。

    • ユーザーが GitHub リポジトリの管理アクセス許可を失った可能性があります。

      PAT を作成し直し、トークンのスコープに必要なアクセス許可 (repo, read:user, user:email, admin:repo_hook) が含まれていることを確認します。

選択した作業項目の種類の XML 定義を更新する

組織で Hosted XML またはオンプレミスの XML プロセス モデルを使用して作業追跡をカスタマイズし、GitHub リンク型を作業項目フォームの開発セクションに統合する場合は、対応する作業項目の種類の XML 定義を更新する必要があります。

たとえば、作業項目フォームの Development セクション内でユーザー ストーリーやバグを GitHub コミットと pull request にリンクするには、これらの作業項目の種類の XML 定義を更新する必要があります。

XML 定義を変更するには、「 Hosted XML プロセス モデルで説明されている手順を実行します。 作業項目の種類ごとに、次の操作を行います。

  1. Group Label="Development" セクションを見つけます。
  2. 外部リンクの種類 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>  

次のステップ