イシューのクロスリンク
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
クロスリンクは、GitLabのイシュー間の関係を作成します。クロスリンク:
- 追跡の効率と表示レベルを向上させるために、関連するイシューを接続します。
- イシューを、関連するコミットとマージリクエストにリンクします。
- コミットメッセージ、ブランチ名、および説明を通じて参照を作成します。
- プロジェクトとグループを横断して機能します。
- 各イシューのリンクされたアイテムセクションに関係を表示します。
クロスリンクは、以下の方法で作成できます:
コミットメッセージから
コミットメッセージでイシューをメンションするたびに、開発ワークフローの2つのステージ(イシュー自体と、そのイシューに関連する最初のコミット)の間の関係が作成されます。
イシューとコミットするコードの両方が同じプロジェクトにある場合は、コミットメッセージに#xxxを追加します。xxxはイシュー番号です。
git commit -m "this is my commit message. Ref #xxx"コミットメッセージは通常#で始めることができないため、代替のGL-xxx表記も使用できます:
git commit -m "GL-xxx: this is my commit message"異なるプロジェクトにあるが、同じグループである場合は、コミットメッセージにprojectname#xxxを追加します。
git commit -m "this is my commit message. Ref projectname#xxx"同じグループにない場合は、イシューへの完全なURL(https://gitlab.com/<username>/<projectname>/-/issues/<xxx>)を追加できます。
パフォーマンス上の理由から、GitLabが処理するのは、自動リンクのためにコミットメッセージ内の最初の1,000個の完全なURLのみです。この制限を超える追加のURLは、リンクに変換されません。
git commit -m "this is my commit message. Related to https://gitlab.com/<username>/<projectname>/-/issues/<xxx>"もちろん、gitlab.comを自分のGitLabインスタンスのURLに置き換えることもできます。
最初のコミットをイシューにリンクすることは、GitLabバリューストリーム分析でプロセスを追跡する上で重要です。そうすることで、イシューの作成から最初のコミットまでの時間、つまりイシューの実装計画に要した時間を測定できます。
リンクされたイシューから
マージリクエストやその他のイシューでリンクされたイシューをメンションすると、チームメンバーや共同作業者は、同じトピックに関する未解決のイシューがあることを知ることができます。
イシュー#222でイシュー#111をメンションすると、イシュー#111のアクティビティーフィードにも通知が表示されます。つまり、関係を一度メンションするだけで、両方のイシューに通知が表示されます。マージリクエストでイシューをメンションする場合も同様です。
イシューのアクティビティーフィードが履歴のみ表示またはすべてのアクティビティーを表示にフィルタリングされると、クロスリンクは(Username) mentioned in issue #(number) (time ago)として表示されます。
マージリクエストから
マージリクエストコメントでイシューをメンションする方法は、リンクされたイシューの場合とまったく同じです。
マージリクエストの説明でイシューをメンションすると、イシューとマージリクエストがリンクされます。さらに、マージリクエストがマージされるとすぐに、イシューが自動的にクローズするように設定することもできます。
イシューのアクティビティーフィードが履歴のみ表示またはすべてのアクティビティーを表示にフィルタリングされると、クロスリンクは(Username) mentioned in merge request !(number) (time ago)として表示されます。
ブランチ名から
イシューと同じプロジェクトでブランチを作成し、ブランチ名をイシュー番号で始め、その後にハイフンを続けると、イシューと作成したMRがリンクされます。詳細については、ブランチ名にイシュー番号をプレフィックスとして付けるを参照してください。