Jiraイシュー管理

GitLabで直接Jiraイシューを管理することができます。そして、GitLab のコミットやマージリクエストで、ID によって Jira 課題を参照することができます。Jira 課題 ID は大文字でなければなりません。

GitLab アクティビティと Jira 課題の相互参照

このインテグレーションでは、GitLab 課題、マージリクエスト、Git で作業している間に Jira 課題を相互参照できます。GitLab 課題、マージリクエスト、コメント、コミットで Jira 課題に言及するとき:

  • GitLab は GitLab での言及から Jira 課題にリンクします。
  • GitLab は Jira イシューに、GitLab のイシュー、マージリクエスト、コミットにリンクする書式のコメントを追加します。

例えば、このコミットがGIT-1 Jira issue を参照している場合:

git commit -m "GIT-1 this is a test commit"

GitLab はその Jira issue に追加します:

  • ウェブリンクセクションのリファレンス。
  • アクティビティセクションのコメント:

     USER mentioned this issue in RESOURCE_NAME of [PROJECT_NAME|COMMENTLINK]:
     ENTITY_TITLE
    
    • USER:Jira イシューに言及したユーザーの名前と GitLab ユーザープロファイルへのリンク。
    • RESOURCE_NAME:Jira 課題を参照したリソースの種類 (GitLab のコミット、イシュー、マージリクエストなど)。
    • PROJECT_NAME:GitLab プロジェクト名。
    • COMMENTLINK:Jira イシューが記載されている場所へのリンク。
    • ENTITY_TITLE:GitLab のコミット (最初の行)、イシュー、マージリクエストのタイトル。

GitLab のイシュー、マージリクエスト、コミットごとに Jira に表示される相互参照は一つだけです。例えば、Jira のイシューを参照する GitLab マージリクエストの複数のコメントは、Jira ではそのマージリクエストへの単一の相互参照のみを作成します。

イシューへのコメントを無効にすることができます。

マージリクエストには関連する Jira 課題が必要です。

このインテグレーションでは、マージリクエストが Jira 課題を参照していない場合にマージされないようにすることができます。この機能を有効にするには

  1. 左のサイドバーで「検索」または「移動」を選択してあなたのプロジェクトを検索します。
  2. 設定 > マージリクエストを選択します。
  3. マージ チェック] セクションで、[Jira から関連するイシューが必要] を選択します。
  4. Save を選択します。

この機能を有効にすると、関連する Jira 課題を参照しないマージ リクエストはマージできなくなります。マージ リクエストには、[マージするには、タイトルまたは説明に Jira 課題キーが記載されている必要があります。

GitLab での Jira 課題マッチングのカスタマイズ

GitLab 15.10 で導入されました

GitLab が Jira のイシューキーとどのようにマッチするか、カスタムルールを設定することができます:

カスタムルールを設定しない場合、デフォルトの動作が使用されます。詳細はRE2 Wikiを参照ください。

正規表現を使う

Jira イシューキーの正規表現パターンを定義します:

  1. 左のサイドバーで「検索」または「移動」を選択してあなたのプロジェクトを検索します。
  2. 設定]>[インテグレーション]を選択します。
  3. Jira を選択します。
  4. Jira イシュー照合セクションに移動します。
  5. Jira 課題正規表現テキスト ボックスに正規表現パターンを入力します。
  6. 変更を保存を選択します。

詳細については、アトラシアンのドキュメントを参照してください。

プレフィックスを使用

GitLab が Jira のイシューキーにマッチするように、プレフィックスを定義することができます。例えば、Jira のイシュー ID がALPHA-1 で、JIRA# というプレフィックスを設定した場合、GitLab はALPHA-1ではなくJIRA#ALPHA-1 にマッチします。

Jira イシューキーに接頭辞を定義するには

  1. 左のサイドバーで「検索」または「移動」を選択してあなたのプロジェクトを検索します。
  2. 設定]>[インテグレーション]を選択します。
  3. Jira を選択します。
  4. Jira イシュー照合セクションに移動します。
  5. Jira 課題プレフィックステキスト ボックスにプレフィックスを入力します。
  6. 変更を保存を選択します。

GitLab で Jira イシューを閉じる

GitLab トランジション ID を設定している場合、GitLab から直接 Jira 課題を閉じることができます。コミットまたはマージリクエストで、トリガーワードの後に Jira 課題 ID を続けます。トリガーワードと Jira 課題 ID を含むコミットをプッシュすると、GitLab:

  1. 言及された Jira 課題にコメントします。
  2. Jira 課題を閉じます。Jira 課題に解決策がある場合、それは移行されません。

たとえば、Jira 課題PROJECT-1 をクローズするには、以下のいずれかのトリガーワードを使用します:

  • Resolves PROJECT-1
  • Closes PROJECT-1
  • Fixes PROJECT-1

コミットまたはマージリクエストは、プロジェクトのデフォルトブランチをターゲットにする必要があります。プロジェクトのデフォルトブランチはプロジェクト設定で変更できます。

イシューをクローズする使用例

この例を考えてみましょう:

  1. ユーザーが新しい機能をリクエストするために Jira 課題PROJECT-7 を作成します。
  2. あなたは GitLab でマージリクエストを作成し、リクエストされた機能をビルドします。
  3. マージリクエストに、イシュークロージングトリガーCloses PROJECT-7 を追加します。
  4. マージリクエストがマージされると、次のようになります:
    • GitLab が Jira イシューをクローズします。
    • GitLab は、イシューを解決したコミットにリンクする、フォーマットされたコメントを Jira に追加します。コメントを無効にすることもできます。

Jira のイシューを見る

GitLab管理者がインテグレーションを設定していれば、選択したJiraプロジェクトのイシューを直接GitLabで閲覧・検索することができます。

Jira イシューを表示するには:

  1. 左のサイドバーで「検索」または「移動」を選択してあなたのプロジェクトを検索します。
  2. 左サイドバーで、[計画] > [Jira イシュー] を選択します。

イシューはデフォルトで作成日順にソートされ、最近作成されたイシューが一番上に表示されます。

イシューはJira ステータスに基づいてタブにグループ分けされています:

  • 開いているタブ:Jira ステータスが [To-Do] 以外のすべてのイシュー。
  • クローズタブ:Jira ステータスが [完了] に分類されているすべてのイシュー。
  • すべて] タブ:あらゆるステータスのすべてのイシュー。

イシューリストの検索とフィルタリング

イシューのリストを絞り込むには、検索バーを使用して、イシューのサマリー(タイトル)または説明に含まれるテキストを検索します。これらのフィルタを自由に組み合わせて使用してください:

  • labels でイシューをフィルタリングするには、URLのlabels[] パラメータの一部として1つ以上のラベルを指定します。複数のラベルを使用する場合、指定したすべてのラベルを含むイシューのみがリストされます:/-/integrations/jira/issues?labels[]=backend&labels[]=feature&labels[]=QA
  • によってイシューをフィルタリングするには、URLにパラメータをstatus指定 statusします:/-/integrations/jira/issues?status=In Progress
  • reporter でイシューをフィルタするには、URL のauthor_username パラメータにレポーターの Jira 表示名を指定します:/-/integrations/jira/issues?author_username=John Smith
  • assignee でイシューをフィルタするには、URL のassignee_username パラメータに報告者の Jira 表示名を指定します:/-/integrations/jira/issues?assignee_username=John Smith

ユーザー インターフェイスでこれらのフィルタを使用するための機能拡張が計画されています

イシューの自動トランジション

課題の自動遷移を設定すると、参照されている Jira 課題を、カテゴリがTo-Do である次の利用可能なステータスに遷移させることができます。この設定を行うには、以下の手順に従います:

  1. GitLab の設定の説明を参照してください。
  2. Enable Jira transitionsチェックボックスを選択します。
  3. 完了に移動] オプションを選択します。

カスタムイシュー遷移

高度なワークフローでは、カスタム Jira トランジション ID を指定できます:

  1. Jira サブスクリプション ステータスに基づいた方法を使用してください:
    • (Jira Cloud ユーザーの場合) テキストビューでワークフローを編集してトランジション ID を取得します。トランジション ID は [トランジション] 列に表示されます。
    • (Jira Server ユーザーの場合)次のいずれかの方法でトランジション ID を取得します:
      • API を使用して、https://yourcompany.atlassian.net/rest/api/2/issue/ISSUE-123/transitions のようなリクエストで、適切な「オープン」状態のイシューを使用します。
      • 必要なトランジションのリンクをマウスオーバーし、URLのアクションパラメータを探します。トランジションIDは、変更先のステータスが同じでも、ワークフロー間で異なる場合があります(例えば、ストーリーではなくバグ)。
  2. GitLab の設定の説明を参照してください。
  3. Enable Jira transitions設定を選択します。
  4. カスタム トランジションオプションを選択します。
  5. テキスト・フィールドにトランジションIDを入力します。複数のトランジションID(, または; で区切ります)を挿入すると、イシューは指定した順序で次々と各状態に移動します。トランジションが失敗した場合、シーケンスは中断されます。

Jira 課題のコメントを無効にします。

GitLab は Jira 課題にコメントを追加することなく、ソースコミットまたはマージリクエストを Jira 課題とクロスリンクすることができます:

  1. GitLab の設定の説明を参照してください。
  2. コメントを有効にするチェックボックスをオフにします。