イシューボード

イシューボードは、機能または製品リリースのワークフローを計画、整理、視覚化するために使用されるソフトウェアプロジェクト管理ツールです。

カンバンボードや スクラムボードとして使うことができます。

イシューボードは、課題追跡とプロジェクト管理をペアにし、すべてを一緒にすることで、ワークフローを1つのプラットフォーム上で整理することができます。

イシューボードでは、イシューと ラベルを使用します。イシューは、割り当てられたラベル、マイルストーン担当者によって整理された縦型リストのカードとして表示されます。

イシューボードは GitLab でのプロセス全体を可視化し、管理するのに役立ちます。ラベルを追加し、既存のイシューに対応するリストを作成します。準備ができたら、課題カードをあるステップから別のステップにドラッグすることができます。

イシューボードでは、あなたのチームが取り組んでいるイシュー、それぞれの担当者、ワークフローの中でのイシューの位置を表示することができます。

チームメンバーが自分のワークフローを整理するには、複数のイシューボードを使用します。これにより、同じプロジェクトに複数のイシューボードを作成することができます。

GitLab issue board - Core

GitLabの階層によって、異なるイシューボードの機能が利用できます:

ティアプロジェクトイシューボード数 グループ・イシューボード設定可能なイシューボード担当者リスト
無料マルチプル1 {点線円}いいえ {点線円}いいえ
Premiumマルチプルマルチプル {チェックサークル}はい {チェックサークル}はい
究極マルチプルマルチプル {チェックサークル}はい {チェックサークル}はい

イシューボードのGitLab Enterprise機能についてはこちらをご覧ください。

GitLab issue board - Premium

イシューボード機能のプレゼンテーションビデオ(2020年4月)をご覧ください。

複数のイシューボード

  • 12.1で、プロジェクトごとに複数のイシューボードがGitLab Freeに移動しました。
  • GitLab Premiumではグループごとに複数のイシューボードを利用できます。

複数のイシューボードを利用することで、Free ティアではプロジェクトに、Premium や Ultimate ティアではグループに、複数のイシューボードを利用することができます。これは、複数のチームがいる大規模プロジェクトや、リポジトリが複数の製品のコードをホストしている場合に最適です。

メニュー上部の検索ボックスで、表示されるボードを絞り込むことができます。

10以上のボードを利用可能な場合、メニューに最近のセクションが表示され、最後に訪問した4つのボードへのショートカットが表示されます。

Multiple issue boards

複数のボードがあるプロジェクトやグループでイシューボードを再訪問する場合、GitLabは自動的に最後に訪問したボードを読み込みます。

イシューボードを作成

前提条件:

  • 少なくともプロジェクトのレポーターロールを持っている必要があります。

新しいイシュー・ボードを作成するには

  1. イシューボードページの左上で、現在のボード名のドロップダウンリストを選択します。
  2. 新しいボードの作成を選択します。
  3. 新しいボードの名前を入力し、そのスコープ:マイルストーン、ラベル、担当者、または重量を選択します。

イシューボードの削除

前提条件:

  • 少なくともプロジェクトのレポーターロールを持っている必要があります。

現在アクティブなイシューボードを削除します:

  1. イシューボードページの左上で、現在のボード名のドロップダウンリストを選択します。
  2. ボードを削除を選択します。
  3. 削除を選択して確定します。

イシューボードの使用例

GitLabのイシューボードは自分の好みのワークフローに合わせることができます。ここでは、イシューボードの一般的な使用例をいくつか紹介します。

さまざまなアジャイルフレームワークで課題ボードをエピックや 課題のヘルスステータススコープ付きラベルとともに使う例については、こちらをご覧ください:

単一のイシューボードのユースケース

GitLab Flowを使えば、提案をイシューで議論したり、ラベルをつけたり、イシューボードで整理したり、優先順位をつけたりすることができます。

例えば、次のようなシンプルな開発ワークフローを考えてみましょう:

  1. アプリケーションのコードベースをホストするリポジトリがあり、チームが積極的にコードに貢献しています。
  2. バックエンドチームは新しい実装に取り掛かり、フィードバックと承認を集め、フロントエンドチームに渡します。
  3. フロントエンドが完了したら、新機能をステージング環境にデプロイしてテストします。
  4. 成功したら本番環境にデプロイされます。

BackendFrontendStagingProductionというラベルと、それぞれのリストがあるイシューボードがあれば、できます:

  • 開発ライフサイクルの開始から本番環境にデプロイされるまでの実装の流れ全体を可視化できます。
  • リストのイシューを縦に移動して優先順位を付けます。
  • リスト間でイシューを移動し、設定したラベルに従って整理します。
  • 1つ以上の既存のイシューを選択して、ボード内のリストに複数のイシューを追加します。

issue card moving

複数のイシュー・ボードの使用例

複数のイシューボードを使用することで、各チームがそれぞれ独自のボードを持ち、ワークフローを整理することができます。

スクラムチーム

複数のイシューボードでは、各チームが1つのボードを持ちます。これで、プロセスの各部分を通じてイシューを移動させることができます。例えばTo DoDoingDone

トピックの構成

リストを作成してトピックごとにイシューを並べ、UXフロントエンドバックエンドなど、トピックやグループ間ですばやく変更できます。リストを変更すると、それに応じて各イシューのラベルが更新されるため、変更はボード全体に反映されます。

チーム間のイシューボードのワークフロー

例えば、UXチームにイシューボードがあるとします:

  • To-Do
  • To-Do
  • フロントエンド

何かが終わると、そのカードをフロントエンドに移動させます。フロントエンドチームのボードはこんな感じ:

  • フロントエンド
  • To-Do
  • 完了

UXチームが完成させたカードは、準備が整うと自動的にフロントエンドの欄に表示されます。

スコープ付きラベルを使用して同様の方法でボードを設定する方法については、チュートリアルを参照してください:チームのハンドオフのためのイシューボードのセットアップを参照してください。

note
より広いユースケースについては、GitLab Flowとは何かというブログ記事をご覧ください。実際の使用例については、Codepenが複数のボードを使ったワークフローを改善するためにイシューボードの採用を決めた理由をご覧ください。

クイックアサイン

チームメンバーに素早くイシューを割り当てることができます:

  1. チームメンバーごとに担当者リストを作成します。
  2. チームメンバーのリストにイシューをドラッグします。

イシューボードの用語

イシューボードとは、イシューに関する独自の見解を示すものです。複数のリストを持つことができ、各リストはカードで表されたイシューで構成されます。

リストは、特定の属性に一致するイシューを表示する課題ボード上の列です。デフォルトの “オープン “と “クローズ “リストに加え、追加リストには、選択したラベル、担当者、マイルストーンに一致するイシューが表示されます。各リストの上部には、そのリストに属するイシューの数が表示されます。リストの種類

  • オープン(デフォルト):他のリストに属さない、すべての未解決イシュー。常に一番左に表示されます。
  • 非公開(デフォルト):すべての非公開イシュー。常に右端のリストとして表示されます。
  • ラベルリスト:ラベルの未解決イシューすべて。
  • 担当者リストユーザーに割り当てられたすべての未解決イシュー。
  • マイルストーンリスト: マイルストーンのすべての未解決イシュー。

カードはリスト上のボックスで、イシューを表します。カードをリストから別のリストにドラッグして、ラベル、担当者、マイルストーンを変更することができます。カードに表示される情報には以下が含まれます:

  • イシューのタイトル
  • 関連ラベル
  • イシュー番号
  • Assignee

リスト内のイシューの順序付け

前提条件:

  • 少なくともプロジェクトのレポーターロールを持っている必要があります。

イシューが作成されると、システムはそのイシューのプロジェクトまたはルートグループの最大値よりも大きい相対順序値を割り当てます。これは、そのイシューが表示されるすべてのイシュー・リストの一番下にあることを意味します。

ボードにアクセスすると、イシューはどのリストでも順番に表示されます。イシューをドラッグすることで、順番を変更することができます。変更された順番は保存され、後で同じボードにアクセスした人は、一部の例外を除いて、順番の変更を見ることができます。

イシューをドラッグして順番を変更すると、相対的な順番の値もそれに応じて変更されます。そして、そのイシューがどのボードに表示されても、更新された相対順序の値に従って順序が変更されます。GitLabインスタンスのユーザーがissueA をissueBの上にドラッグした場合、同じインスタンス内のどのボードにこの2つのイシューがロードされても、順番はメンテナーになります。例えば、別のプロジェクトボードや別のグループボードなどです。

この順序はイシュー・リストにも影響します。イシュー・ボードの順序を変更すると、イシュー・リストの順序も変更されます。

フォーカスモード

フォーカスモードを有効または無効にするには、右上隅で、Toggle focus mode({maximize}) を選択します。フォーカスモードでは、ナビゲーション UI は非表示になり、ボード内のイシューに集中することができます。

グループイシューボード

グループ・ナビゲーション・レベルでアクセス可能なグループ課題ボードは、プロジェクト・レベルのボードと同じ機能を提供します。グループとその子孫サブグループに属するすべてのプロジェクトのイシューを表示できます。

GitLab Freeのユーザーは、1つのグループイシューボードを使用できます。

GitLab Enterprise のイシューボードの機能

GitLabのイシューボードはGitLab Free Tierで利用できますが、一部の高度な機能はより高いTierでのみ利用できます。

設定可能なイシューボード

  • GitLab 13.8で導入された現在のイテレーションをスコープとして設定。
  • 13.9でGitLab Premiumに移行しました。

イシューボードには、マイルストーンラベル、担当者、ウェイト、現在のイテレーションを関連付けることができます。これにより、チームのニーズに応じて独自のボードを作成することができます。

Create scoped board

ボードを作成するとき、またはボードの編集ボタンを選択することによって、ボードの範囲を定義することができます。マイルストーン、イテレーション、担当者、ウェイトがイシューボードに割り当てられると、検索バーでこれらをフィルタリングすることができなくなります。そのためには、イシューボードから目的のスコープ(マイルストーン、担当者、ウェイトなど)を削除する必要があります。

ボードの編集権限がない場合でも、スコープの表示を選択することで設定を見ることができます。

設定可能なイシューボード機能のプレゼンテーションをビデオでご覧ください。

イシューの重みの合計

13.9でGitLab Premiumに移行しました。

各リストの上部には、そのリストに属するイシューの重みの合計が表示されます。これは、特に担当者リストと組み合わせてボードを容量割り当てに使う場合に便利です。

issue board summed weights

担当者リスト

選択したラベルのすべてのイシューを表示する通常のリストと同様に、ユーザーに割り当てられたすべてのイシューを表示する担当者リストを追加することができます。掲示板にはラベルリストと担当者リストの両方を表示することができます。

前提条件:

  • 少なくともプロジェクトのレポーターロールを持っている必要があります。

担当者リストを追加します:

  1. リストの作成]を選択します。
  2. 担当者を選択します。
  3. ドロップダウンリストで、ユーザーを選択します。
  4. Add to boardを選択します。

これで担当者リストが追加されたので、担当者リストにイシューを移動したり、担当者リストからイシューを移動したりすることで、そのユーザーにイシューを割り当てたり、割り当てなかったりすることができます。担当者リストを削除するには、ラベルリストと同様にゴミ箱アイコンを選択します。

Assignee lists

マイルストーンリスト

マイルストーンのリストを作成することもできます。これは、割り当てられたマイルストーンによってイシューをフィルタリングするリストで、イシューボード上でより自由で可視性の高いものになります。

前提条件:

  • 少なくともプロジェクトのレポーターロールを持っている必要があります。

マイルストーンリストを追加するには:

  1. リストの作成]を選択します。
  2. マイルストーンを選択してください。
  3. ドロップダウンリストでマイルストーンを選択します。
  4. Add to boardを選択します。

担当者リストと同様に、マイルストーンリストにイシューをドラッグして、ドラッグしたイシューのマイルストーンを操作することができます。他のリストタイプと同様に、リストを削除するにはゴミ箱アイコンを選択します。

Milestone lists

イテレーションリスト

イテレーションでイシューのリストを作成できます。

前提条件:

  • 少なくともプロジェクトのレポーターロールを持っている必要があります。

イテレーション・リストを追加するには

  1. リストの作成]を選択します。
  2. 反復を選択します。
  3. ドロップダウンリストで、反復を選択します。
  4. Add to boardを選択します。

マイルストーンリストと同様に、イテレーションリストへイシューをドラッグしたり、イテレーションリストからドラッグしたイシューを操作することができます。

Iteration lists

スイムレーンのグループ化

  • GitLab 13.6で導入されたエピックによるグループ化。
  • GitLab 13.8 で導入されたイシューサイドバーでのイシュータイトルの編集。
  • GitLab 13.9 で導入されたイシューサイドバーでのイテレーションの編集。

スイムレーンを使って、イシューをエピックごとにグループ化して視覚化することができます。イシューボードは他のすべての機能を保持しますが、イシューの視覚的な構成は異なります。この機能はプロジェクトレベルでもグループレベルでも利用できます。

概要については、「エピック スイムレーン ウォークスルー - 13.6(2020年11月)」をご覧ください。

前提条件:

  • 少なくともプロジェクトのレポーターロールを持っている必要があります。

課題ボードでイシューをエピックごとにグループ化するには

  1. グループを選択します。
  2. エピックを選択します。

Epics Swimlanes

このビューを残したままイシューを編集するには、タイトルではなくイシュー・カードを選択します。そこでイシューの確認と編集ができます:

  • タイトル
  • 担当者名
  • エピック
  • Milestone
  • 時間追跡値(表示のみ)
  • 期限
  • ラベル
  • ウェイト
  • 通知設定

イシューをドラッグして位置やエピック割り当てを変更することもできます:

  • イシューを並べ替えるには、リスト内の新しい位置にドラッグします。
  • イシューを別のエピックに割り当てるには、エピックの水平レーンにドラッグします。
  • エピックからissueの割り当てを解除するには、エピックが割り当てられていないissueのレーンにドラッグします。
  • イシューを別の_エピックと_別のリストに同時に移動するには、イシューを斜めにドラッグします。

Drag issues between swimlanes

作業中の制限

13.9でGitLab Premiumに移行しました。

イシューボードの各イシューリストに、作業中(WIP) の制限を設定することができます。制限を設定すると、リストのヘッダーにリスト内のイシュー数とソフトリミットが表示されます。デフォルトのリスト(オープンと クローズ)には、WIPリミットを設定できません。

例:

  • リストが4イシューで、上限が5イシューの場合、ヘッダーには4/5と表示されます。制限を超えると、現在のイシュー数が赤字で表示されます。
  • イシューが5つあり、上限が5つのリストがあります。そのリストに別のイシューを移動すると、リストのヘッダには6/5と表示され、6が赤で表示されます。

前提条件:

  • 少なくともプロジェクトのレポーターロールを持っている必要があります。

イシューボードのリストにWIP制限を設定するには

  1. 編集したいリストの上部で、リスト設定の編集({settings})を選択します。リスト設定のサイドバーが右側に開きます。
  2. 進行中の作業制限の横にある「編集」を選択します。
  3. イシューの最大数を入力します。
  4. Enter を押して保存します。

ブロックされたイシュー

GitLab 13.10で導入: “blocked” アイコンにカーソルを合わせると、ブロックされているイシューを表示します。

イシューが他のイシューによってブロックされている場合、ブロックされていることを示すアイコンがタイトルの横に表示されます。

ブロックされたアイコン({issue-block})にカーソルを合わせると、詳細情報のポップオーバーが表示されます。

Blocked issues

イシューボードでできるアクション

イシューの編集

GitLab 14.1 で導入されたタイトル、イテレーション、機密性の編集。

ボードビューから離れることなく、イシューを編集することができます。右サイドバーを開くには、イシューカード(タイトルではない)を選択します。

前提条件:

  • 少なくともプロジェクトのレポーターロールを持っている必要があります。

右サイドバーで以下のイシュー属性を編集できます:

さらに、時間追跡値も確認できます。

新しいリストの作成

新しいリストを作成するには、イシューボードの右上にある「作成」を選択します。

creating a new list in an issue board

次に、新しいリストのベースとなるラベル、ユーザー、マイルストーンを選択します。新しいリストは、リストの最後、クローズの前に挿入されます。リストを移動したり並べ替えたりするには、リストをドラッグします。

リストの削除

リストを削除しても、削除されるのはリストビューだけなので、イシューやラベルには何の影響もありません。必要であれば、後でいつでも作成し直すことができます。

前提条件:

  • 少なくともプロジェクトのレポーターロールを持っている必要があります。

イシューボードからリストを削除するには

  1. 削除したいリストの上部で、リスト設定の編集({settings})を選択します。右側にリスト設定のサイドバーが開きます。
  2. リストの削除]を選択します。
  3. 確認ダイアログで、リストの削除を再度選択します。

リストにイシューを追加

GitLab 13.11ではイシューの追加ボタンが削除されました。

前提条件:

  • 少なくともプロジェクトのレポーターロールを持っている必要があります。

ボードのスコープが1つ以上の属性に設定されている場合は、追加したいイシューに移動し、ボードのスコープと同じ属性を適用してください。

例えば、グループissueボードで、Doing ラベルをスコープとするリストにissueを追加する場合:

  1. グループまたはサブグループ、プロジェクトのイシューに移動します。
  2. Doing ラベルを追加します。

これでイシューはissueボードのDoing リストに表示されるはずです。

リストからイシューを削除

GitLab 13.10 で、ボードから削除ボタンが削除されました。

イシューがリストに属さなくなった場合、そのイシューを削除することができます。

前提条件:

  • 少なくともプロジェクトのレポーターロールを持っている必要があります。

手順はリストの範囲によって異なります:

  1. 右サイドバーを開くには、イシュー・カードを選択します。
  2. イシューをリストに表示しているものを削除します。ラベル・リストであれば、ラベルを削除します。担当リストであれば、ユーザーの割り当てを解除します。

イシューのフィルタ

  • GitLab 13.6で導入された反復によるフィルタリング。
  • GitLab 14.6 で導入されたイシュータイプによるフィルタリング。

イシューボードの上部にあるフィルターを使うことで、必要な結果だけを表示することができます。これは、イシュー・トラッカーで使われているフィルタリングに似ています。

前提条件:

  • 少なくともプロジェクトのレポーターロールを持っている必要があります。

以下の方法でフィルタリングできます:

グループボード内のイシューのフィルタリング

グループ掲示板でイシューをフィルタリングする場合、以下の動作に注意してください:

  • マイルストーン:グループとその子孫グループに属するマイルストーンでフィルタリングできます。
  • ラベル:グループに属するラベルのみフィルタリングできますが、その子孫グループはフィルタリングできません。

右サイドバーを使ってイシューを個別に編集する場合、そのイシューが属するプロジェクトのマイルストーンとラベルを追加で選択できます。

イシューとリストの移動

イシューやリストをドラッグして移動することができます。

前提条件:

  • 少なくともGitLabのプロジェクトのレポーターロールを持っている必要があります。

イシューを移動するには、イシューカードを選択し、現在のリストの別の位置や別のリストにドラッグします。リスト間でイシューをドラッグするとどのような効果があるかについては、イシューをリスト間でドラッグする をご覧ください。

リストを移動するには、リストの一番上のバーを選択し、水平方向にドラッグします。オープンリストとクローズリストは移動できませんが、イシューボードの編集時に非表示にすることができます。

イシューをリストの先頭に移動

GitLab 15.4で導入されました

メニューのショートカットでイシューをリストの一番上に移動できます。

他のイシューがフィルターで隠れていても、リストの一番上に移動します。

前提条件:

  • 少なくともプロジェクトのレポーターロールを持っている必要があります。

イシューをリストの先頭に移動します:

  1. イシューボードで、移動したいイシューのカードにカーソルを合わせます。
  2. 縦の省略記号({ellipsis_v})を選択し、リストの最初に移動します。

イシューをリストの最後に移動します。

GitLab 15.4で導入されました

メニューのショートカットでイシューをリストの一番下に移動できます。

他のイシューがフィルターで非表示になっていても、あなたのイシューはリストの一番下に移動します。

前提条件:

  • 少なくともプロジェクトのレポーターロールを持っている必要があります。

イシューをリストの最後に移動するには

  1. イシューボードで、移動したいイシューのカードにカーソルを合わせます。
  2. 縦の省略記号({ellipsis_v})を選択し、リストの最後に移動します。

リスト間のイシューのドラッグ

イシューを別のリストに移動するには、イシューカードを選択し、そのリストにドラッグします。

リスト間でイシューをドラッグすると、移動元のリストと移動先のリストによって結果が異なります。

 開くにはクローズラベルB一覧へ担当者Bリストへ
オープンから-イシューを閉じるラベルBを追加ボブの割り当て
閉じた状態からイシューの再開-イシューを再開し、ラベルBを追加イシューを再開し、Bobを割り当てます。
ラベルAのリストからラベルAを削除イシューを閉じるラベルAを削除してラベルBを追加ボブの割り当て
担当者アリスリストからアリスの割り当てを解除イシューを閉じるラベルBを追加アリスの割り当てを解除し、ボブを割り当てます。

イシューカードの複数選択

GitLab 14.0では、board_multi_select という機能フラグの後ろに移動しました。デフォルトでは無効になっています。

フラグ: セルフマネジメントのGitLabでは、デフォルトではこの機能は利用できません。利用可能にするには、board_multi_selectという機能フラグを有効にするよう管理者に依頼してください。GitLab.comでは、この機能は利用できません。この機能はまだ本番環境では使用できません。

複数のイシューカードを選択し、グループをリスト内の別の位置や別のリストにドラッグすることができます。これにより、一度に多くのイシューを並べ替えることができます。

前提条件:

  • 少なくともプロジェクトのレポーターロールを持っている必要があります。

複数のカードを選択して移動するには

  1. Click Windows または Linux ではClick ControlClick +、ClickMacOS ではClick CommandClick+ で各カードを選択します。
  2. 選択したカードの1枚を別の位置やリストにドラッグすると、選択したカードがすべて移動します。

Multi-select Issue Cards

ヒント

覚えておくべきこと

  • リスト間でイシューを移動すると、移動元のリストからラベルが削除され、移動先のリストからラベルが追加されます。
  • issueが複数のラベルを持つ場合、issueは複数のリストに存在することができます。
  • issueにラベルが設定されている場合、リストには自動的にissueが入力されます。
  • カード内のイシュータイトルを選択すると、そのイシューに移動します。
  • カード内のラベルを選択すると、イシューボード全体がすばやくフィルタリングされ、すべてのリストからそのラベルを持つイシューのみが表示されます。
  • パフォーマンスと視認性の理由から、各リストにはデフォルトで最初の20件のイシューが表示されます。イシューが20件以上ある場合は、スクロールダウンすると次の20件が表示されます。

イシュー・ボードのトラブルシューティング

There was a problem fetching users 作成者または担当者でフィルタリングしているときにグループの課題掲示板で

グループのイシューボードで作成者または担当者でフィルタリングする際にThere was a problem fetching users エラーのバナーが表示される場合は、現在のグループに自分がメンバーとして追加されていることを確認してください。非メンバーは、イシュー・ボードの作成者または担当者によるフィルタリング時にグループ・メンバーをリストする権限を持っていません。

このエラーを修正するには、すべてのユーザを少なくともGuestロールを持つ最上位グループに追加してください。

Railsコンソールを使ってボードが読み込まれずタイムアウトするイシューを修正します。

issueボードがロードされず、UIでタイムアウトする場合は、Railsコンソールを使ってIssue Rebalancingサービスを呼び出して修正してください:

  1. Railsコンソールセッションを開始します。
  2. 以下のコマンドを実行します:

    p = Project.find_by_full_path('<username-or-group>/<project-name>')
       
    Issues::RelativePositionRebalancingService.new(p.root_namespace.all_projects).execute
    
  3. Railsコンソールを終了するには、quit と入力します。