GitLabのissueでチケット管理を行いますが、プロジェクトとしてissueで何をどう管理したいかによって、必要な設定や運用が変わります。
本資料ではGitLab(Self-Mnaged:Free版)で使用可能な機能での管理例を説明します。
概要
管理方法としては開発案件ごとにマイルストーン
を作成し、マイルストーン
にissueとマージリクエストを紐づけることで、その開発案件の作業状況を管理することになると考えています。
ラベル
Azure Boradsではワークアイテムというチケットがあり、ワークアイテムは帳票自体をユーザが作成可能で、項目等のカスタマイズも可能です。そのため、Azure Boradsでチケット管理を行う場合には管理が必要となる情報に合わせてワークアイテムを作成して管理を行います。
但し、GitLabにはその機能がないため、ラベルという機能を利用することで任意設定可能な項目を代替します。
例えば、以下のようなラベルを定義し、マージリクエストやイシューに設定することで、そのマージリクエストやイシューに情報を付与することができます。ラベルは任意で定義可能なので、プロジェクトで管理したい情報に合わせて定義します。
以下がラベルの設定例となります。
尚、Premium版では::
で区切ることでスコープのラベルセットとして扱うことができます。
issue
issueはタスク・バグ・機能追加等を管理するチケットとなります。
以下はラベルを設定したissueの例となります。
尚、issueは色々な条件でフィルタ表示が可能です。
また、標準機能で一覧をExportするにはメール送付が必要になります。Self-ManagedのGitLabでメールサーバがなくてメール送信が出来ない場合には、APIでExportするようなスクリプト等を作成する必要があります。
マージリクエスト
マージリクエストはブランチからブランチにマージを行う際のレビュー・承認を管理するためのチケットとなります。
以下はラベルを設定したマージリクエストとなります。
マージリクエストもissueと同じようにフィルタ表示が可能です。
また、標準機能で一覧をExportするにはメール送付が必要になります。Self-ManagedのGitLabでメールサーバがなくてメール送信が出来ない場合には、APIでExportするようなスクリプト等を作成する必要があります。
尚、ラベルはマージリクエスト内のコメントにも設定が可能であるため、マージリクエスト内のコメントでどのバグを摘出したか管理することも可能です。
但し、コメントに設定したラベルはマージリクエスト全体に設定されていないため、この情報を機械的に取得するためにはAPIでマージリクエストのコメントから情報を抽出するようなスクリプト等を作成する必要があります。
マイルストーン
マイルストーンとはissueやマージリクエストをまとめて管理することが可能な機能です。
マイルストーンは機能追加やバージョンアップ対応等を名前として、開始・終了期間を設定します。以下は設定例になります。
マイルストーンを開くと以下のようにissueやマージリクエストのステータスを確認することが可能です。