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 に接続します。
管理を簡単にするために、GitLabグループ管理者またはインスタンス管理者(自己管理型GitLabの場合)がインテグレーションを設定することをお勧めします。
jira
ユーザーを作成し、使用することで、通常のユーザーを削除してもインテグレーションに影響を与えません。要件
セルフマネジメントGitLab
セルフマネジメント GitLab を使用している場合、GitLab インスタンスが Jira からアクセス可能であることを確認してください。
- Jira Cloud に接続している場合、インスタンスがインターネット経由でアクセス可能であることを確認してください。
- Jira Server を使用している場合、ネットワークがどのように設定されていてもインスタンスにアクセスできることを確認してください。
GitLab.com
GitLab.comを使用する場合、特別な要件はありません。
GitLab の設定
-
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 URI
はhttps://<your-gitlab-instance-domain>/-/jira/login/oauth/callback
でなければなりません。 Jira がすべてのプロジェクトにアクセスできるようにしたい場合、GitLab は管理者がアプリケーションを作成することを推奨します。- スコープセクションの
api
。
- スコープセクションの
-
Save application
をクリックします。生成された「アプリケーション ID」と「シークレット」の値が表示されます。Jira 設定側で使用するこれらの値をコピーします。
Jira 設定
GitLabセルフマネジメント
-
Jira で、[Jira 設定] > [アプリケーション] > [DVCS アカウント] に進み、[GitHub Enterprise アカウントをリンク] をクリックして新しいインテグレーションを作成します。 (Jira からのプラットフォームサポートがさらに充実するまで、このインテグレーションでは GitHub のふりをしています)。
-
フォームに記入
Host
欄に GitHub Enterprise を選択します。Team or User Account
フィールドには、アクセス権を持つトップレベルの GitLab グループの相対パス、または個人のネームスペースの相対パスを入力します。Host URL
フィールドには、<your-gitlab-instance-domain>
を適切に置き換えて、https://<your-gitlab-instance-domain>/
と入力してください。たとえば、GitLab.com を使用している場合は、https://gitlab.com/
となります。Note: GitLabのバージョンが11.3より前の場合は、Host URL
。https://<your-gitlab-instance-domain>/-/jira
Client ID
フィールドには、前節のApplication ID
の値を使用。Client Secret
フィールドには、前節のSecret
の値を使用。残りのチェックボックスにチェックが入っていることを確認してください。
-
Add
をクリックしてインテグレーションを完了し、作成します。Jira は、前のステップで指定した GitLab グループ内のすべてのプロジェクトのすべてのコミットとブランチについて知る(裏でインポートする)のに数分かかります。 これらは 60 分ごとに更新されます。
注:将来的には、リアルタイムのインテグレーションを実装する予定です。データを手動でリフレッシュする必要がある場合は、最初にインテグレーションを設定した
Applications -> DVCS accounts
画面から行うことができます:
他の 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をご覧ください。
- Jira Settings > Apps > Find new appsで GitLab を検索してください。
-
GitLab for Jiraをクリックし、Get it nowをクリックします。 または、マーケットプレイスのアプリに直接アクセスします。
-
インストール後、[開始]をクリックして設定ページに移動します。 このページは、Jira 設定 > アプリ > アプリの管理で常に利用可能です。
- 名前空間] フィールドにグループまたは個人の名前空間を入力し、[名前空間を Jira にリンク] をクリックします。 GitLab.com にログインしており、名前空間に Silver 以上のライセンスがあることを確認します。_GitLab を Jira に_設定するユーザーは、GitLab 名前空間へのメンテナー権限を持っている必要があります。
ネームスペースが追加されると、そのネームスペースの下にあるすべてのプロジェクトの将来のすべてのコミット、ブランチ、マージリクエストが Jira に同期されます。 現時点で過去のデータは同期できません。
GitLab for Jira のトラブルシューティング
GitLab for Jira アプリでは、設定ページで名前空間を追加するために iframe を使用しています。 ブラウザによってはクロスサイトクッキーをブロックしているため、ユーザーがすでにログインしているにもかかわらず、GitLab.com でログインする必要があるというメッセージが表示されることがあります。
「続行する前にサインインまたはサインアップが必要です。
この場合、ブラウザのクロスサイトクッキーを有効にしてください。
使用方法
GitLab と Jira でインテグレーションが設定されると、GitLab 側ではブランチ名、コミットメッセージ、マージリクエストタイトルで Jira イシューを ID で参照することができ、Jira イシューに入力する際にリンクされたbranches
,commits
,merge requests
を確認することができます (Jira イシュー内部では、マージリクエストは “pull request” と呼ばれます)。
リンクをクリックすると GitLab リポジトリのデータが表示されます。
制限事項
- このインテグレーションは現在、相対 URL(例えば
http://example.com/gitlab
) の GitLab インスタンスではサポートされていません。