GitLabではDevOps/software developement life cyle (SDLC)の1工程であるplanフェーズとしてイシュー機能を使うことができる。イシューはほぼ全てのVCSに統合されているので特別なことではありません。
kanbanやスクラムではイシューのボードを使うことが一般的ですが、GitLabイシューではイシューボードが使えます。
ボード
2016年8月にリリースされたボードではイシューをリスト形式(カラム)で可視化でき、そのUIの中でドラッグアンドドロップでイシューを更新できます。多くの他のボードと同様に、内部的にはラベルで管理されているため、ドラッグアンドドロップでイシューをカラムをまたがせるとラベルが追加・削除されます。
リスト
カラムとも言ったりしますが、イシューを縦1列に並べる単位をリストと呼んでいます。ボードを新規作成した段階では、OpenリストとCloseリストのみが存在し、その中間に任意のリストを準備して、組織に合ったワークフローに対応させることができます。各プロジェクトで毎回同じ作業するのも面倒なので、デフォルトのリストが
カード
ボードでは1個のイシューが1個のカードとして表示されます。
手順
手順1: イシューを作る
イシューを作ればそれがそのままカードになります。既存プロジェクトにおいては既にカードはあるのであえて追加でイシューを作らなくてもいいでしょう。
手順2: ラベルを作る
あとからでもリスト(カラム)を追加することはできるのですが、先にラベルを作った上でボードをスタートするとまとめてカードをリストに入れられるので便利です。
リストのタイトルとして使う名前をラベル名にセットします。
手順3: ボードに移る
左手のサイドバーからイシューボードのページに移動します。デフォルトのOpen/Closedのリストのみが表示されているはずです。
Enterprise Editionを利用している場合(GitLab.com public repositoryを利用している場合を含む)でカスタムのイシューボードを作りたい場合はここでフィルタありのイシューボードを作るといいでしょう。
Community EditionまたはGitLab.com private repositoryを使っている場合のデフォルトイシューボードであっても、任意のフィルタはイシューリスト同様にできるので悲しむ必要はありません。
手順4: リストを作る
ラベルをベースにリストを作っていくことができます。リストは何個でも作っていけますが、増えれば増えるほど横に長くなっていきますので、21:9な超ワイドなディスプレイを使っても10個くらいが限度なように感じます。
手順5: カードをリスト間で移動する
ここまで来ればあとはカードをリスト間でドラッグアンドドロップして移動するだけになります。開発プロセスが安定化すれば、ほぼこの手順のみが恒常的に発生するはずです。
その他の機能
グループイシューボード
他のSCMに付属するボード機能では、プロジェクト(レポジトリ)でのみでイシューボードが使えることが多いですが、GitLab Issue Boardではグループでもイシューボードが使えます。これにより複数のレポジトリをまたぐイシューの進捗を追いやすくなり、サイロ化が進む現代のソフトウェア開発を進めなければならないプロダクトマネージャーやリードに優しい機能と言えます。(GitLab Advent Calendar 2017で取り上げた時点では、人気イシュー第16位にランクインしていました)
monorepoが無駄に推奨されてみたりする時代、CODEOWNERSを使えないGitLab CE, Freeを使っている場合には大変役立つのですが、後述のこともできるようになりますし、普通にGitLab.com BronzeまたはEnterprise Editioin Starter(4USD/user/mo)を買うのがいいと思います。
Enterprise Editionでのみできること: multiple Issue Board
読んでそのままですが、プロジェクトやグループにおいて複数のIssue Boardを取り扱えるようになります。フィルタをかけた状態でのIssue Boardが作成できるので非常に便利です。
Epic
あまりGitLab Epicについて取り上げられているところを見たことはないのですが、Issue Boardを順調に導入できるようになるといよいよgitlab-orgのEpicsが欲しくなってきます。
最近ではEpic Roadmapまで実装されてきたので、1ツールで一通りのプロダクトマネジメント業務が行なえる世界になってきました。とは言うのもの、EESの25倍もの価格であるEEU(99USD/user/mo)の契約が必要になります。GitLab.orgで実際に使われているgitlab-orgのEpic Roadmpを眺めてみるとどんなものか分かっていいかもしれません。
今後追加される機能: Automation for boards
GitHub.comだとautomation for project boardsという機能があり、Configuring automation for project boardsに書かれた手順通り設定してやればいくつかのカラム間の移動を自動化することができます。
例えば、未アサインだったイシューが誰かにアサインされたらカラムは移動されるべきだったり、MRがマージされたらCloseカラムに移動されるべき、と言ったものです。
GitLabのイシューリストには既にAutomatically move issues in columns on issue board based on various factors (gitlab-org/gitlab-ce#28692)としてファイルされており、Community EditionあるいはGitLab Coreで実装される可能性はあると言えます。
GitLab Issue Boardについて、用語説明、手順、関連機能、今後追加される機能を順に説明しました。まだ試したことがない方は試してみてはいかがでしょうか。
References
- Issue Boards | GitLab GitLab, CC BY-SA 4.0
- Issue Board | GitLab, GitLab, CC BY-SA 4.0
- GitLab.org / GitLab Community Edition · GitLab
- GitLab.org / GitLab Enterprise Edition · GitLab