glab-issue について
glab-issueはglabコマンドラインでGitLab issueを管理するスキルです。issueの保守やトリアージ向けに、作成、絞り込み、更新、コメント、時間記録、ボード操作を扱います。
主な機能
- 01issueの作成・一覧・表示・クローズ
- 02issueの絞り込みと担当者・ラベルの更新
- 03テンプレート・ファイル・添付の利用
- 04ノートの追加と時間記録
- 05issueボードの表示とページ取得
活用シーン
- 01未割り当てや更新済みissueのトリアージ
- 02リポジトリのテンプレートからバグ報告を作成
- 03スプリントの担当者とマイルストーンを更新
- 04調査ノートと作業時間の記録
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ vince-winkintel/ gitlab-cli-skills --skill glab-issueインストール後、Claude Code で/glab-issueを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/commands.mdscripts/batch-label-issues.shcreate-mr-from-issue.sh詳細
glab issue
GitLab のイシューを作成、表示、更新、管理します。
テンプレートの選択
create --template では、名前のみ(.md を付けてもかまいません)を指定すると、リポジトリの .gitlab/issue_templates/ ディレクトリ内で解決されます。絶対パス、または区切り文字を含むパスは直接読み込まれます。相対パスは現在のディレクトリを基準とし、~/ も使用できます。現在のディレクトリ内のファイルには、テンプレート名のみではなく ./template.md を使用してください。投稿前にファイルの内容を読み、承認してください。--description-file と --template は併用できません。
担当者、日付、内部メモ
issue list --assignee @none は担当者のいないイシューを選択します。--assignee @any は担当者が設定されたイシューを選択し、@me は自分のイシューを選択します。日付フィルターは --created-after、--created-before、--updated-after、--updated-before で、タイムゾーンを含む RFC 3339 タイムスタンプを指定します。グループの一覧表示では、--confidential と --iteration のフィルターが維持されます。
glab issue list --assignee @none --updated-after 2026-10-01T00:00:00Z
glab issue note 123 --internal --message "Investigation details for project members"
--internal は、プロジェクトメンバーのみが閲覧できる内部メモを要求します。投稿前に対象と閲覧者を確認し、認証情報は決して含めないでください。issue view は、利用可能な場合、人が読みやすい形式で作業時間と見積もり時間を表示します。自動化には JSON を優先してください。
クイックスタート
# Create an issue
glab issue create --title "Fix login bug" --label bug
# Create or update with a multi-line description from a file
glab issue create --title "Fix login bug" --description-file description.md
glab issue update 123 --description-file description.md
# Upload a screenshot and append its Markdown reference
glab issue create --title "Fix login bug" --description "See below." --attach ./repro.png
glab issue update 123 --attach ./after.png
# List open issues
glab issue list --state opened
# Stable machine-readable output
glab issue list --output json
# View issue details
glab issue view 123
# View or comment on an issue/work item from a GitLab URL
glab issue view https://gitlab.com/group/project/-/work_items/123
glab issue note https://gitlab.com/group/project/-/issues/123 -m "Working on this now"
# Add comment
glab issue note 123 -m "Working on this now"
# Close issue
glab issue close 123
一般的なワークフロー
イシューおよび作業項目の URL 入力
glab issue サブコマンドでイシュー引数を解決する際、イシュー URL に加えて GitLab の作業項目 URL もイシュー引数として受け付けます。これは view、note、update、close などのイシュー形式の操作における URL 互換性です。専用の作業項目フィールドや作業項目固有のライフサイクル動作が必要な場合は、glab work-items を使用してください。
glab issue view https://gitlab.com/group/project/-/work_items/123
glab issue note https://gitlab.com/group/project/-/work_items/123 -m "Follow-up note"
glab issue update https://gitlab.com/group/project/-/work_items/123 --label needs-triage
バグ報告のワークフロー
-
バグのイシューを作成する:
glab issue create \ --title "Login fails with 500 error" \ --label bug \ --label priority::high \ --assignee @dev-leadプロジェクト内のリポジトリに再利用可能なイシューテンプレートがある場合、繰り返し使用する定型文を貼り付ける代わりに、
--templateでテンプレートファイルを使って作成を開始します。glab issue create \ --title "Login fails with 500 error" \ --template .gitlab/issue_templates/bug.md \ --label bug1 回限りの複数行の説明には、
--description-file <path>または標準入力用の--description-file -を使用します。--descriptionとは併用できません。作成時には、--templateとも併用できません。内容が-のみのファイルは拒否されます。これは--description -が「エディターを開く」という意味だからです。実験的な
--attach <path>を繰り返し使用すると、1 つ以上のローカルファイルをアップロードし、GitLab が生成した Markdown 参照を説明に追加できます。--attach -は標準入力から添付ファイルを 1 つ読み込みます。どちらも標準入力を消費するため、--description-file -と併用しないでください。作成時は、非対話モードで--titleと添付ファイルを指定するだけで十分です。更新時は、--descriptionまたは--description-fileで本文を置き換えない限り、添付ファイルは既存の説明に追加されます。 -
再現手順を追加する:
glab issue note 456 -m "Steps to reproduce: 1. Navigate to /login 2. Enter valid credentials 3. Click submit Expected: Dashboard loads Actual: 500 error" # A file can accompany a message or be the entire comment glab issue note 456 -m "Screenshot from production" --attach ./repro.png複数のアップロードを引数の順序どおりに保持するには、
--attachを繰り返し指定します。添付ファイルのみのメモではエディターは開きません。標準入力経由で 1 つのファイルをパイプする場合は、--attach -を使用してください。
イシューのトリアージ
テキスト一覧のヘッダーでは、プロジェクトとグループの一覧について、現在のページの行数とは別に、API のイシュー総数を使用します。API が総数を返さない場合や、クライアント側でフィルターされたエピックのイシューを一覧表示する場合、glab はページの行数から総数を推定しません。JSON 出力には取得したイシューの行が引き続き含まれます。修正されたヘッダー表示のために追加ページを取得することはありません。
glab issue list は、リクエストを実行する前に両方の出力セレクターを検証します。--output で受け付けるのは text または json のみで、--output-format で受け付けるのは details、ids、urls のみです。2 つのセレクターは併用できません。すぐに表示される「must be one of」というエラーは、GitLab API の失敗ではなく、無効なローカル入力として扱ってください。
-
トリアージ前のイシューを一覧表示する:
glab issue list --label needs-triage --state opened -
ラベルと担当者を更新する:
glab issue update 789 \ --label backend,priority::medium \ --assignee @backend-team \ --milestone "Sprint 23" glab issue update 789 --description-file triage-summary.md -
トリアージラベルを削除する:
glab issue update 789 --unlabel needs-triage
一括ラベル付け:
複数のイシューに一度にラベルを付けるには、このスキルに同梱されている scripts/ のスクリプトを使用します(以下のパスはスキルのディレクトリを基準とします)。
scripts/batch-label-issues.sh "priority::high" 100 101 102
scripts/batch-label-issues.sh bug 200 201 202 203
時間追跡
# Set an estimate and add spent time
glab issue update 42 --estimate 2d --spend 1h30m
# Reset both values after confirming the intended issue
glab issue update 42 --remove-estimate --remove-time-spent
期間は、1mo 2w 3d 4h 5m のような GitLab の時間追跡形式を使用します。--estimate は見積もりを設定し、--spend は既存の消費時間に加算します。各リセットフラグは、対応する設定/加算フラグと併用できません。これらは更新フラグです。イシューの作成には --time-estimate と --time-spent を使用します。
時間のみの更新では、一般的なイシュー更新リクエストはスキップされます。他の編集と組み合わせた場合は、先にそれらの編集を実行し、その後に個別の時間追跡リクエストを実行します。後続の処理が失敗すると、先に行われた変更が適用済みのままになることがあります。特に加算される --spend を再実行する前に、イシューの状態を確認してください。
スプリント計画
現在のスプリントのイシューを表示:
glab issue list --milestone "Sprint 23" --assignee @me
スプリントに追加:
glab issue update 456 --milestone "Sprint 23"
ボード表示:
glab issue board view
# Retrieve every project/group board issue instead of only the first API page
glab issue board view --paginate
ボードが API の 1 ページを超える可能性がある場合は、ボード全体のトリアージに --paginate を使用してください。指定しない場合、インタラクティブボードには GitLab が返す最初のページが表示されます。このオプションは、プロジェクトとグループの両方のボードからイシューを取得する際に機能し、--assignee、--labels、--milestone の各フィルターと併用できます。
イシューと作業の関連付け
イシュー用の MR を作成:
glab mr for 456 # Creates MR that closes issue #456
自動ワークフロー(ブランチの作成+ドラフト MR):
scripts/create-mr-from-issue.sh 456 --create-mr
これにより、イシューのタイトルからブランチを作成 → 空のコミットを作成 → プッシュ → ドラフト MR を作成、という処理が自動で行われます。
コミット/MR でクローズ:
git commit -m "Fix login bug
Closes #456"
関連スキル
イシューからの MR 作成:
- マージリクエスト操作については
glab-mrを参照してください - イシューをクローズする MR の作成には
glab mr for <issue-id>を使用してください - スクリプト:
scripts/create-mr-from-issue.shはブランチの作成とドラフト MR の作成を自動化します
ラベル管理:
- ラベルの作成と管理については
glab-labelを参照してください - 一括ラベル付けにはスクリプト
scripts/batch-label-issues.shを使用してください
プロジェクト計画:
- リリース計画については
glab-milestoneを参照してください - スプリント/イテレーション管理については
glab-iterationを参照してください
コマンドリファレンス
コマンドの詳細とすべてのフラグについては、references/commands.md を参照してください。
利用可能なコマンド:
create- 新しいイシューを作成list- フィルターを指定してイシューを一覧表示view- イシューの詳細を表示note- イシューにコメントを追加update- タイトル、ラベル、担当者、マイルストーン、時間追跡を更新close- イシューをクローズreopen- クローズ済みのイシューを再オープンdelete- イシューを削除subscribe/unsubscribe- 通知を管理board- イシューボードを操作