Jiraのイシュー管理
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
GitLabでJiraイシューを直接管理できます。また、GitLabのコミットとマージリクエストで、JiraのイシューをIDで参照できます。JiraのイシューIDは大文字にする必要があります。
GitLabのアクティビティーとJiraイシューを相互参照する
このインテグレーションを使用すると、GitLabのイシュー、マージリクエスト、およびGitでの作業中にJiraのイシューを相互参照できます。GitLabのイシュー、マージリクエスト、コメント、またはコミットでJiraのイシューをメンションすると、次のようになります:
- GitLabは、GitLabでのメンションからJiraイシューにリンクします。
- GitLabは、GitLabのイシュー、マージリクエスト、またはコミットにリンクバックする書式設定されたコメントをJiraのイシューに追加します。
たとえば、このコミットがGIT-1 Jiraのイシューを参照している場合:
git commit -m "GIT-1 this is a test commit"GitLabは、そのJiraイシューに以下を追加します:
Web links(Webリンク)セクションの参照。
次の形式に従った、アクティビティーセクションのコメント:
USER mentioned this issue in RESOURCE_NAME of [PROJECT_NAME|COMMENTLINK]: ENTITY_TITLEUSER: Jiraのイシューをメンションしたユーザーの名前(GitLabのユーザープロファイルへのリンク付き)。RESOURCE_NAME: Jiraのイシューを参照したリソースのタイプ(例: GitLabのコミット、イシュー、またはマージリクエスト)。PROJECT_NAME: GitLabのプロジェクト名。COMMENTLINK: Jiraのイシューがメンションされている場所へのリンク。ENTITY_TITLE: GitLabのコミット(最初の行)、イシュー、またはマージリクエストのタイトル。
GitLabのイシュー、マージリクエスト、またはコミットごとに、Jiraに表示される相互参照は1つだけです。たとえば、Jiraのイシューを参照するGitLabのマージリクエストに関する複数のコメントは、Jiraでそのマージリクエストへの単一の相互参照のみを作成します。
イシューのコメントを無効にすることができます。
マージリクエストをマージするには、関連付けられたJiraのイシューが必要です
- プラン: Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
このインテグレーションを使用すると、マージリクエストがJiraのイシューを参照していない場合、そのマージリクエストがマージされないようにできます。この機能を有効にするには、次の手順に従ってください:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。新しいナビゲーションをオンにしている場合、このフィールドは上部のバーにあります。
- 設定 > マージリクエストを選択します。
- マージチェックセクションで、Jiraから関連付けられたイシューが必要を選択します。
- 保存を選択します。
この機能を有効にすると、関連付けられたJiraのイシューを参照していないマージリクエストはマージできません。マージリクエストには、To merge, a Jira issue key must be mentioned in the title or description(マージするには、タイトルまたは説明にJiraのイシューキーがメンションされている必要があります)というメッセージが表示されます。
GitLabでJiraイシューの一致をカスタマイズする
GitLabがJiraのイシューキーをマッチングする方法について、カスタムルールを設定するには、以下を定義します:
カスタムルールを設定しない場合、デフォルトの動作が使用されます。
正規表現パターンを定義する
正規表現(regex)を使用して、Jiraのイシューキーをマッチングできます。正規表現パターンは、RE2構文に従う必要があります。
Jiraのイシューキーの正規表現パターンを定義するには、次の手順に従います:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。新しいナビゲーションをオンにしている場合、このフィールドは上部のバーにあります。
- 設定 > インテグレーションを選択します。
- JIRAイシューを選択します。
- Jiraイシューの一致セクションに移動します。
- Jiraイシューの正規表現テキストボックスに、正規表現パターンを入力します。
- 変更を保存を選択します。
詳細については、Atlassianのドキュメントを参照してください。
プレフィックスを定義する
プレフィックスを使用して、Jiraのイシューキーをマッチングできます。たとえば、JiraのイシューキーがALPHA-1で、JIRA#プレフィックスを定義した場合、GitLabでは、ALPHA-1ではなく、JIRA#ALPHA-1が一致します。
Jiraのイシューキーのプレフィックスを定義するには、次の手順に従ってください:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。新しいナビゲーションをオンにしている場合、このフィールドは上部のバーにあります。
- 設定 > インテグレーションを選択します。
- JIRAイシューを選択します。
- Jiraイシューの一致セクションに移動します。
- Jiraイシューの接頭辞テキストボックスに、プレフィックスを入力します。
- 変更を保存を選択します。
GitLabでJiraイシューをクローズする
GitLabの移行IDを設定している場合、GitLabからJiraのイシューを直接クローズできます。コミットまたはマージリクエストで、JiraのイシューIDが後に続くトリガーワードを使用します。トリガーワードとJiraのイシューIDを含むコミットをプッシュすると、GitLabは次の操作を行います:
- メンションされたJiraイシューにコメントします。
- Jiraのイシューをクローズします。Jiraのイシューに解決策がある場合、Jiraイシューは移行されません。
たとえば、次のトリガーワードのいずれかを使用して、JiraのイシューPROJECT-1をクローズします:
Resolves PROJECT-1Closes PROJECT-1Fixes PROJECT-1
コミットまたはマージリクエストは、プロジェクトのデフォルトブランチをターゲットにする必要があります。プロジェクトの設定でプロジェクトのデフォルトブランチを変更できます。
ブランチ名がJiraのイシューIDと一致する場合、Closes <JIRA-ID>が既存のマージリクエストテンプレートに自動的に付加されます。イシューをクローズしない場合は、イシューの自動クローズを無効にします。
イシューのクローズのユースケース
次の例を検討してください:
- ユーザーがJiraのイシュー
PROJECT-7を作成して、新しい機能をリクエストします。 - リクエストされた機能をビルドするために、GitLabでマージリクエストを作成します。
- マージリクエストで、イシューのクローズトリガー
Closes PROJECT-7を追加します。 - マージリクエストがマージされると、次のようになります:
- GitLabがJiraイシューをクローズします。
- GitLabは、書式設定されたコメントをJiraに追加し、イシューを解決したコミットにリンクバックします。コメントを無効にすることができます。
イシューの自動移行
イシューの自動移行を設定すると、参照されているJiraのイシューを、完了のカテゴリで使用可能な次のステータスに移行できます。この設定を構成するには、次の手順に従います:
- GitLabの設定の手順を参照してください。
- Jiraトランジションを有効にするチェックボックスをオンにします。
- 完了に移動オプションを選択します。
カスタムイシュー移行
高度なワークフローでは、カスタムJira移行IDを指定できます:
- Jiraのサブスクリプションステータスに基づいた方法を使用します:
- *(Jira Cloudのユーザーの場合)*テキストビューでワークフローを編集して、移行IDを取得します。移行IDは、Transitions(移行)列に表示されます。
- *(Jira Serverのユーザーの場合)*次のいずれかの方法で移行IDを取得します:
- 適切な「オープン」状態にあるイシューを使用して、
https://yourcompany.atlassian.net/rest/api/2/issue/ISSUE-123/transitionsのようなリクエストでAPIを使用します。 - 目的の移行のリンクにカーソルを合わせ、URLでアクションパラメータを探します。変更先のステータスが同じであっても、ワークフロー(たとえば、ストーリーではなくバグ)によって移行IDが異なる場合があります。
- 適切な「オープン」状態にあるイシューを使用して、
- GitLabの設定の手順を参照してください。
- Jiraトランジションを有効にする設定を選択します。
- Custom transitions(カスタム移行)オプションを選択します。
- テキストフィールドに移行IDを入力します。複数の移行ID(
,または;で区切られている)を挿入すると、指定した順序で、イシューが各状態に次々と移動します。移行が失敗すると、シーケンスは中断されます。
Jiraのイシューのコメントを無効にする
GitLabは、Jiraのイシューにコメントを追加せずに、ソースコミットまたはマージリクエストをJiraイシューとクロスリンクできます:
- GitLabの設定の手順を参照してください。
- コメントを有効にするチェックボックスをオフにします。