Integrate with GitHub Enterprise Server

GitHub Enterprise Server アカウントが Jira Software にリンクされると、チームはそれぞれが取り組んでいる Jira Software 課題に関連するブランチ、コミット メッセージ、プル リクエスト、ビルド、デプロイを表示できるようになります。開発ツールとの統合に関する詳細をご確認ください。

これらの手順は GitHub Enterprise Server 向けです。つまり、独自のインフラストラクチャでインストールを管理する GitHub のオンプレミス バージョンが対象です。GitHub Cloud または GitHub Enterprise Cloud をお持ちの場合、このページの内容は適用されません。GitHub Cloud または GitHub Enterprise Cloud との統合に関する詳細をご確認ください

GitHub Enterprise Server アカウントを Jira Software に接続するには、Jira Marketplace にある GitHub for Jira アプリを使用する必要があります。Jira Software とリンク先の GitHub Enterprise アカウントの両方で、管理者権限を所有している必要があります。 

正しく統合するには、GitHub for Jira アプリから GitHub Enterprise Server を呼び出せるようにする必要があります。ネットワーク管理者に問い合わせて、GitHub Enterprise Server をアトラシアンの IP アドレスから呼び出せることをご確認ください。これを実行すると、ファイアウォールに脆弱性がもたらされるため、受け入れないセキュリティ チームもあります。現在、リバース プロキシは GitHub for Jira でサポート対象外です。アトラシアンのクラウド製品の IP アドレスに関する詳細をご確認ください。

GitHub Enterprise Server では、SSO を介したパーソナル アクセス コードの認証はサポート対象外です。つまり、ネットワーク管理者がアトラシアン IP アドレスからのトラフィックを許可しても、GitHub for Jira は GitHub Enterprise Server インストールに接続できません。この制限は、GitHub Enterprise Server チームが GitHub Enterprise Cloud に提供しているものと同じメカニズムを導入するまで解消されません。

ステップ 1: GitHub for Jira アプリをインストールする

  1. Atlassian Marketplace から Jira 向け GitHub アプリ (無料) をインストールして、指示に従ってインストールを完了します。

  2. [開始する] を選択して "GitHub 設定" ページに移動します (または [アプリ] > [アプリを管理] の順に移動して、GitHub メニューで [GitHub for Jira] を選択します)。

  3. [GitHub 組織を接続] を選択します。

ステップ 2: GitHub Enterprise Server の詳細を入力する

  1. バージョンとして GitHub Enterprise Server を選び、[続行] を選択します。

  2. GitHub Enterprise Server アカウントの URL を入力します。これは、http(s)://<your-github-enterprise-server-domain> という形式になります。[次へ] を選択します。

ステップ 3. GitHub アプリを作成する

[Automatic app creation (アプリを自動作成)] (推奨) または [Manual app creation (アプリを手動作成)] のいずれかを選び、[作成] を選択します。

アプリを自動作成するには、GitHub Enterprise Server が 2.19.18 以降で実行されている必要があります。

アプリの自動作成

[アプリを自動作成] を選択した場合は、ページにリダイレクトされ、GitHub アプリの名前を作成するように求められます。名前を入力して、[Create GitHub App for (<組織名> で GitHub アプリを作成)] を選択します。

アプリが作成されると、ホームページは <http(s)://<your-github-enterprise-server-domain>/github-apps/<github-app-name> に設定されます。残念ながら、入力したアプリ名はアプリ設定に自動保存されません。http(s)://<your-github-enterprise-server-domain>/settings/apps/<your-github-app-name> にアクセスして、ホームページの URL を編集してアプリの名前が含まれるよう手動で行う必要があります。これを更新すると、作成したばかりのアプリのホームページにリンクから移動できるようになります。

アプリの手動作成

[アプリを手動作成] を選択した場合は、 GitHub Enterprise Server アカウント内に GitHub アプリを作成して、新しいアプリからいくつかの値を Jira にコピーし、Jira からアプリに複数の URL をコピーする必要があります。GitHub for Jira 用の GitHub アプリの手動作成に関する詳細をご確認ください

アプリが作成されると、GitHub アカウントにログインします。

ステップ 4: GitHub 組織を接続する

  1. 統合する GitHub 組織を見つけて [接続] を選択します。ご利用の組織がリストにない場合は、次を実行します。

    1. [Install GitHub for Jira on a new organization (新しい組織に GitHub for Jira をインストールする)] を選択します。GitHub にリダイレクトされます。

    2. 接続する組織と権限を付与するリポジトリを選び、[インストール] を選択します。

    3. その後表示される画面には、先ほどアプリをインストールした GitHub 組織と、GitHub for Jira アプリをインストールした Jira サイトの名前が表示されます。[接続] を選択して、接続を確認します。Jira の GitHub 設定ページにリダイレクトされます。

  2. GitHub の設定ページには、接続したすべての組織の IN PROGRESS バックフィル ステータスが表示されます。接続した GitHub 組織に大量の履歴データがある場合は、バックフィルのプロセスに時間を要する場合があります。ただし、ブランチ、コミット、プル リクエストへの課題キーの追加を開始できます。また、この新しいデータはすぐに Jira に表示されます。

  3. より多くの組織を接続するには、[GitHub 組織を接続] を選択して、ドロップダウン メニューから [GitHub Cloud を接続] または [GitHub Server を接続] のいずれかを選択します。

GitHub for Jira アプリのデータ取得方法

GitHub Enterprise Server アカウントを Jira に接続する場合は、開発データを取得して Jira に送信するために、GitHub for Jira アプリによる GitHub Enterprise Server へのアクセスが必要となります。これを行うには、ネットワーク構成で、アトラシアンの IP アドレス リストからの GitHub Enterprise Server への呼び出しが許可されている必要があります。アトラシアンのクラウド製品の IP アドレスに関する詳細をご確認ください

GitHub for Jira アプリは、GitHub Enterprise Server からのイベントもリッスンします。つまり、ネットワーク構成では、GitHub Enterprise Server からの呼び出しがアトラシアンのサーバー、特に HTTPS 経由で github.atlassian.com ドメインを持つサーバーに到達できるようにする必要があります。

FAQ

GitHub Enterprise Server を GitHub for Jira アプリに接続できないのはなぜですか?

GitHub Enterprise Server アカウントを GitHub for Jira アプリに接続できない理由はいくつかあります。

GitHub for Jira アプリは GitLab をサポートしていますか?

いいえ、サポートしていません。GitLab を Jira インスタンスと統合するには、オンプレミス インスタンス用の GitLab.com for Jira Cloud アプリをインストールする必要があります。

複数の GitHub Enterprise Server や GitHub アプリを Jira に接続できますか?

はい、接続できます。GitHub for Jira アプリでは、複数の GitHub サーバーを接続できます。つまり、1 つの Jira アカウントに複数の内部 GitHub インスタンスを接続できます。

接続されたサーバーに複数の GitHub アプリを追加すれば、GitHub 組織を Jira にも接続できます。GitHub は GitHub アプリのレート制限を適用するため、これを実行することをお勧めします。GitHub アプリ - GitHub Docs のレート制限に関する詳細をご確認ください。

GitHub Enterprise Server インスタンスにマスター GitHub アプリを 1 つ作成して、それを複数の Jira インスタンスに接続できますか?

いいえ、GitHub アプリは 1 つの Jira インスタンスにしか接続できません。これは、アクセスを制限してデータ漏えいを防ぐためです。

GitHub アプリの自動作成と手動作成の違いは何ですか?

GitHub アプリの自動作成のプロセスのほうが比較的容易なので、こちらをお勧めします。アプリ名を入力して、いくつか選択するだけで完了します。GitHub API とマニフェスト ファイルの組み合わせによって、アプリ作成フォームに事前入力が行われます。

GitHub アプリは手動でも作成できますが、プロセスはそれほど単純ではありません。GitHub Enterprise Server アカウント内に GitHub アプリを作成して、新しいアプリからいくつかの値を Jira にコピーし、Jira からアプリに複数の URL をコピーする必要があります。GitHub アプリの手動作成に関する詳細をご確認ください

GitHub アプリを自動で作成したいのですが、GitHub Enterprise Server はバージョン 3.1 以降でなければならないと書かれています。なぜですか?

GitHub バージョンのアップグレードを検討すべき理由はいくつかあります。

  1. GitHub アプリの自動作成: バージョン 2.19.18 では、SameSite Cookie ポリシーが適用された場合に、一部のシナリオで GitHub がマニフェスト作成フローを妨げる問題を解消しました。その後、バージョン 3.1 では、GitHub for Jira アプリで必要とされる callback_url のサポートが追加されました。アプリの自動作成オプションを使用するには、バージョン 3.1 以降を使用している必要があります。

  2. GitHub アクション イベントのサブスクライブ: GitHub for Jira アプリは、GitHub Actions に依存する 3 つのイベント (ワークフローの実行、デプロイ ステータス、コード スキャン アラート) をサブスクライブします。GitHub Actions は、GitHub Enterprise Server 3.0 以降でご利用いただけます。

  3. GitHub リリースを最新に保つ: GitHub は定期的に新しいバージョンをリリースし、古いバージョンのサポートを終了しています。パフォーマンスの向上、セキュリティの向上、新機能のために、サーバーのバージョンの定期的なアップデートをお勧めします。2022 年 9 月 28 日以降、バージョン 3.2 はサポート終了となり、バージョン 3.3 〜 3.6 は引き続きサポートとアップデートが提供されます。

サーバーをバージョン 3.xx にアップグレードしましたが、ワークフローの実行、デプロイ ステータス、またはコード スキャン イベントのデータが表示されません。

初期設定では、GitHub Actions は GitHub Enterprise Server 向けに有効化されていません。GitHub Actions を有効にするには、GitHub のサポート ドキュメント「GitHub Enterprise Server 向け GitHub Actions を開始する - GitHub Enterprise Server 3.2 ドキュメント」の手順に従います。

GitHub Enterprise バージョンをアップグレードするにはどうすればいいですか?

GitHub Enterprise Server のアップグレード方法をご確認ください。

内部インスタンスの GitHub アプリで非公開キーと GitHub クライアント シークレットをアップデートしました。GitHub for Jira アプリをアップデートするにはどうすればいいですか?

GitHub クライアント シークレットをアップデートする方法、新しい非公開キーをアップロードする方法、あるいはその両方を行う方法は次のとおりです。

  1. Jira インスタンスの GitHub 設定画面に移動します。

  2. アップデートする GitHub アプリの右側にある 3 つのドットを選び、[編集] を選択します。

  3. 新しい GitHub クライアント シークレットを入力するか、新しい非公開キー (あるいはその両方) をアップロードします。

  4. 更新を選択します。

データのバックフィルに長い時間がかかります。いつ Jira にデータが表示されますか?

GitHub for Jira アプリを介して GitHub 組織を Jira に接続すると、「バックフィル」と呼ばれるプロセスが開始されます。このプロセスでは、GitHub の履歴データから課題キーを探します。課題キーが見つかると、開発データを Jira 内の既存の課題にリンクします。

組織に含まれるデータ量が少ない場合は、バックフィルのプロセスも比較的速く、数分で完了します。しかし、組織に大量のデータが含まれている場合は、バックフィルのプロセスに時間を要します。幸い、Github 組織を Jira に接続すると、新しいブランチ、コミット、プルリクエストですぐに課題キーを使用できます。また、この新しいデータは Jira にただちに表示されます。

スマート コミットを使用しようとしましたが、正常に機能しません。何が不足していますか?

スマート コミットを使用すると、自分とチームによる課題へのコメント、課題のトランジション、タイム トラッキングの追加が簡単にできるようになります。これをチームで有効にするには、以下を確認します。

  • GitHub アカウントのメール アドレスと Jira アカウントのメール アドレスが一致している必要があります。GitHub で特定のメール アドレスを使用し、Jira で別のメール アドレスを使用していると、スマート コミットは正常に機能しません。

  • GitHub の [Keep my email addresses private (メールアドレスを非公開にする)] チェックボックスをオフにする必要があります。このチェックボックスをオンにすると、GitHub は Webhook の起動時にペイロードの一部としてメール アドレスを送信しないため、Jira ではこれをメール間の不一致として扱います。GitHub でこの設定を更新するには、[Settings (設定)] > [Emails (メール)] に移動して、[Keep my email addresses private (メールアドレスを非公開にする)] の横にあるチェックボックスをオフにします。

  • トランジションするときに正しい名前を使用してください。ある列から別の列に課題をトランジションする場合は、課題のトランジション先の列に同じ名前を付ける必要があります。たとえば、課題に完了のフラグを付け、この列の名前が「Done (完了)」である場合は、コミット メッセージに #done を含める必要があります。代わりに #closed や #complete などを使用しても、これらの単語がワークフローに含まれていない限り、機能しません。

  • ワークフローの列を「ジャンプ」しようとしないでください。トランジションがうまくいかない場合は、チームの管理者が設定したワークフローに従っていることをご確認ください。たとえば、「作業前」、「進行中」、「完了」という 3 つの列があるが、管理者が課題を「作業前」から「完了」に直接移動できないというルールを適用している場合、課題を「作業前」から「完了」トランジションしようとするスマート コミットは失敗します。このシナリオでは、まず課題を #in-progress に移動する必要があります。

  • タイム トラッキングを有効にして、それを各課題タイプに追加してください。コミット メッセージに「#time 1w 2d 4h 30m」のようなコマンドを追加しても課題にタイム トラッキングが表示されない場合は、管理者にサイトの設定を確認するように依頼してください。[設定] > [課題の機能] > [タイム トラッキング] に移動して、[コメントを作業の説明にコピーする] が [有効] に設定されていることを確認します。また、管理者は、これを記録する課題タイプ (ストーリー/バグ/タスクなど) に手動で「タイム トラッキング」を追加する必要があります。[プロジェクト設定] > [課題タイプ] に移動します。[コンテキスト フィールド] に [タイム トラッキング] が表示されない場合は、右側のパネルで [タイム トラッキング] を選択し、[変更を保存] を選択します。

設定したあと、接続しているリポジトリのバックフィルに長い時間がかかります。これは通常の挙動ですか?

バックフィルしようとしているリポジトリの数と、その大きさによります。GitHub には 1 時間あたりの API 制限があるため、すべてのデータの同期には時間がかかることがあります。バックフィルの速度を上げるには、GitHub の設定画面からバックフィルを再開し、データの同期元となる日付を指定することをお勧めします。たとえば、すべての履歴データではなく、過去 1 か月のデータのみをバックフィルします。

Jira 向け GitHub の統合を使い始める前に、すべてのデータのバックフィルが完了するのを待つ必要はありますか?

いいえ。アプリは Webhook イベント (リアルタイム データ) の受信と応答をすぐに開始するため、チームで即座にアプリを使い始めることができます。

作成者、レビュアー名、および/またはアイコンを Jira 課題に表示できないのはなぜですか?

作成者、レビュアー名、および/またはアイコンが Jira 課題の開発パネルに表示されるようにするには、GitHub アカウントに関連付けられたメール アドレスが Jira アカウント内のアドレスと一致している必要があります。これら 2 つのメール アドレスが異なる場合、アカウント名とアイコンは Jira に表示されません。この動作は、メールが一致している必要があるスマート コミットに似ています。

 

その他のヘルプ