GitLab Jira 開発パネルインテグレーション

GitLab Premium10.0で導入されました

既存の Jiraプロジェクトインテグレーションに加え、GitLab プロジェクトとJira Development Panelをインテグレーションできるようになりました。 両方を同時に使用することができます。 これは、自己管理型の GitLab または GitLab.com とインテグレーションした GitLab.com で機能します:

  • あなたがホストする Jira。
  • クラウドJira。

こうすることで、Jira のイシューから直接、関連する GitLab のマージリクエスト、ブランチ、コミットに簡単にアクセスできます。

このインテグレーションは、トップレベルグループまたは個人ネームスペース内のすべての GitLab プロジェクトを Jira インスタンスのプロジェクトに接続します。 トップレベル GitLab グループは、それ自体が親グループを持たないグループです。 そのトップレベルグループのすべてのプロジェクトと、トップレベルグループの下にネストするサブグループのプロジェクトが接続されます。 あるいは、Jira 設定で GitLab 個人ネームスペースを指定することもでき、その個人ネームスペースのプロジェクトを Jira に接続します。

注意: これは既存の Jiraプロジェクトインテグレーションとは異なり、GitLab プロジェクトから Jira インスタンス全体へのマッピングであることに注意してください。

管理を簡単にするために、GitLabグループ管理者またはインスタンス管理者(自己管理型GitLabの場合)がインテグレーションを設定することをお勧めします。

ヒント:GitLabで単一の目的のjira ユーザーを作成し、使用することで、通常のユーザーを削除してもインテグレーションに影響を与えません。

要件

セルフマネジメントGitLab

セルフマネジメント GitLab を使用している場合、GitLab インスタンスが Jira からアクセス可能であることを確認してください。

  • Jira Cloud に接続している場合、インスタンスがインターネット経由でアクセス可能であることを確認してください。
  • Jira Server を使用している場合、ネットワークがどのように設定されていてもインスタンスにアクセスできることを確認してください。

GitLab.com

GitLab.comを使用する場合、特別な要件はありません。

GitLab の設定

  1. GitLab で、Jira が GitLab アカウントと接続できるように新しいアプリケーションを作成します。

    ログインした状態で、Settings -> Applicationsにアクセスしてください(右上のプロフィールアバターをクリックし、Settingsを選択した後、左のナビゲーションメニューからApplications に移動してください)。フォームを使用して新しい申請書を作成してください。

    Name フィールドに便利な名前を入力します。

    Redirect URI フィールドには、<your-gitlab-instance-domain> を適切に置き換えて、https://<your-gitlab-instance-domain>/login/oauth/callbackと入力してください。たとえば、GitLab.com を使用している場合は、https://gitlab.com/login/oauth/callbackとなります。

    注意: GitLab バージョン 11.3 より前のバージョンを使用している場合、Redirect URIhttps://<your-gitlab-instance-domain>/-/jira/login/oauth/callbackでなければなりません。 Jira がすべてのプロジェクトにアクセスできるようにしたい場合、GitLab は管理者がアプリケーションを作成することを推奨します。

    GitLab Application setup

    • スコープセクションのapi
  2. Save applicationをクリックします。生成された「アプリケーション ID」と「シークレット」の値が表示されます。Jira 設定側で使用するこれらの値をコピーします。

Jira 設定

GitLabセルフマネジメント

  1. Jira で、[Jira 設定] > [アプリケーション] > [DVCS アカウント] に進み、[GitHub Enterprise アカウントをリンク] をクリックして新しいインテグレーションを作成します。 (Jira からのプラットフォームサポートがさらに充実するまで、このインテグレーションでは GitHub のふりをしています)。

    Jira Settings

  2. フォームに記入

    Host 欄に GitHub Enterprise を選択します。

    Team or User Account フィールドには、アクセス権を持つトップレベルの GitLab グループの相対パス、または個人のネームスペースの相対パスを入力します。

    Creation of Jira DVCS integration

    Host URL フィールドには、<your-gitlab-instance-domain> を適切に置き換えて、https://<your-gitlab-instance-domain>/と入力してください。たとえば、GitLab.com を使用している場合は、https://gitlab.com/となります。

    Note: GitLabのバージョンが11.3より前の場合は、Host URLhttps://<your-gitlab-instance-domain>/-/jira

    Client ID フィールドには、前節のApplication ID の値を使用。

    Client Secret フィールドには、前節のSecret の値を使用。

    残りのチェックボックスにチェックが入っていることを確認してください。

  3. Add をクリックしてインテグレーションを完了し、作成します。

    Jira は、前のステップで指定した GitLab グループ内のすべてのプロジェクトのすべてのコミットとブランチについて知る(裏でインポートする)のに数分かかります。 これらは 60 分ごとに更新されます。

    注:将来的には、リアルタイムのインテグレーションを実装する予定です。データを手動でリフレッシュする必要がある場合は、最初にインテグレーションを設定したApplications -> DVCS accounts 画面から行うことができます:

    Refresh GitLab information in Jira

他の GitLab トップレベルグループ (または個人ネームスペース) から追加の GitLab プロジェクトを接続するには、Jira DVCS アカウントを追加して上記の手順を繰り返します。

GitLab.com

Atlassian Marketplaceの GitLab for Jiraアプリを使って GitLab.com と Jira Cloud をインテグレーションできます。

GitLab と Jira は、GitLab 自己管理のセクションで説明したように、DVCS コネクタを使用してインテグレーションすることもできます。 GitLab.com と Jira Cloud を使用する場合は、DVCS コネクタでは 1 時間に 1 回しかデータが更新されないのに対し、GitLab for Jiraアプリを使用するとデータがリアルタイムで同期されるため、GitLab for Jiraアプリをお勧めします。

GitLab for Jira との統合のウォークスルーについては、YouTube のConfigure GitLab Jira Integration using Marketplace Appをご覧ください。

注意:GitLab for Jiraアプリは GitLab.comJira Cloud にのみ対応しています。
  1. Jira Settings > Apps > Find new appsで GitLab を検索してください。
  2. GitLab for Jiraをクリックし、Get it nowをクリックします。 または、マーケットプレイスのアプリに直接アクセスします。

    Install GitLab App on Jira

  3. インストール後、[開始]をクリックして設定ページに移動します。 このページは、Jira 設定 > アプリ > アプリの管理で常に利用可能です。

    Start GitLab App configuration on Jira

  4. 名前空間] フィールドにグループまたは個人の名前空間を入力し、[名前空間を Jira にリンク] をクリックします。 GitLab.com にログインしており、名前空間に Silver 以上のライセンスがあることを確認します。_GitLab を Jira に_設定するユーザーは、GitLab 名前空間へのメンテナー権限を持っている必要があります。
注:GitLab ユーザーがアクセストークンを必要とするのは、新しい名前空間を追加するときだけです。 Jira との同期では、ユーザーのトークンに依存しません。

Confure namespace on GitLab Jira App

ネームスペースが追加されると、そのネームスペースの下にあるすべてのプロジェクトの将来のすべてのコミット、ブランチ、マージリクエストが Jira に同期されます。 現時点で過去のデータは同期できません。

GitLab for Jira のトラブルシューティング

GitLab for Jira アプリでは、設定ページで名前空間を追加するために iframe を使用しています。 ブラウザによってはクロスサイトクッキーをブロックしているため、ユーザーがすでにログインしているにもかかわらず、GitLab.com でログインする必要があるというメッセージが表示されることがあります。

「続行する前にサインインまたはサインアップが必要です。

この場合、ブラウザのクロスサイトクッキーを有効にしてください。

使用方法

GitLab と Jira でインテグレーションが設定されると、GitLab 側ではブランチ名、コミットメッセージ、マージリクエストタイトルで Jira イシューを ID で参照することができ、Jira イシューに入力する際にリンクされたbranches,commits,merge requests を確認することができます (Jira イシュー内部では、マージリクエストは “pull request” と呼ばれます)。

Branch, Commit and Pull Requests links on Jira issue

リンクをクリックすると GitLab リポジトリのデータが表示されます。

GitLab commits details on a Jira issue

GitLab merge requests details on a Jira issue

制限事項

  • このインテグレーションは現在、相対 URL(例えばhttp://example.com/gitlab) の GitLab インスタンスではサポートされていません。

変更履歴

11.10

11.1