glab-workitems について
glab work-items は、タスク、OKR、インシデント、エピックなど、GitLab の統合ワークアイテムを管理する実験的な glab コマンド群です。プロジェクトとグループのスコープに対応し、種類を指定して一覧、作成、更新、削除できます。
主な機能
- 01ワークアイテムの一覧、作成、更新、削除
- 02プロジェクトとグループのスコープに対応
- 03複数のワークアイテム種別を扱う機能
- 04数値 ID によるイテレーション設定
- 05ファイルによる説明と添付の指定
活用シーン
- 01プロジェクト内のタスクやインシデントの追跡
- 02グループ単位の OKR やエピックの管理
- 03複数行の説明を使った作成や更新
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ vince-winkintel/ gitlab-cli-skills --skill glab-workitemsインストール後、Claude Code で/glab-workitemsを入力して読み込まれたか確認します。
同梱ファイルreferences/commands.md
詳細
glab work-items
GitLab の統合ワークトラッキングモデルであるワークアイテムを作成、一覧表示、削除します。ワークアイテムは、タスク、OKR、キーリザルト、エピック、インシデント、テストケース、および関連する計画オブジェクトを対象とします。
イテレーションを割り当てる
作成または更新時に --iteration を指定し、数値のイテレーション ID を使用します。
glab work-items create --type issue --title "Add feature" --iteration 123
glab work-items update 42 --iteration 123
このフラグを省略すると、作成時はイテレーションが設定されず、更新時は変更されません。書き込み前に、ワークアイテムのスコープと意図したイテレーションを確認してください。ID の代わりにイテレーション名を指定しないでください。
⚠️ 実験的機能
glab work-items は、アップストリームで引き続き EXPERIMENTAL とされています。
- コマンドの形式は今後変更される可能性があります
- 利用可否は GitLab のバージョンや機能フラグによって異なる場合があります
- 一部のワークアイテムタイプは、グループスコープでのみ意味を持ちます
- 日常的な安定した課題ワークフローには
glab issueを使用してください
参照先:https://docs.gitlab.com/policy/development_stages_support/
クイックスタート
# List work items in the current project
glab work-items list
# Create a task in the current project
glab work-items create --type task --title "Follow up on flaky pipeline"
# Create or update with a multi-line description from a file
glab work-items create --type task --title "Follow up" --description-file description.md
glab work-items update 42 --description-file description.md
# Attach a project-scoped file reference
glab work-items create --type task --title "Follow up" --attach ./evidence.png
glab work-items update 42 --attach ./latest.png
# Create a group-scoped epic
glab work-items create --type epic --group my-group --title "Platform rewrite"
スコープモデル
glab work-items はデフォルトでリポジトリのコンテキストを使用し、スコープを明示的に上書きできます。
- 現在のリポジトリコンテキスト → チェックアウト済みのリポジトリ内のプロジェクトワークアイテム
--repo owner/project→ 別のプロジェクト--group my-group→ グループ/サブグループのワークアイテム
一部のワークアイテムタイプは一般にプロジェクトスコープ(task、issue、incident)で使用される一方、ほかのタイプはグループスコープ(epic、objective、key_result)で使用されることが多いため、これは重要です。
よくあるワークフロー
ワークアイテムを一覧表示する
# First 20 open work items in current project
glab work-items list
# Filter by type
glab work-items list --type epic --group gitlab-org
glab work-items list --type issue --repo gitlab-org/cli
# Closed or all states
glab work-items list --state closed --group gitlab-org
glab work-items list --state all --group gitlab-org
# Increase page size (max 100)
glab work-items list --per-page 50 --group gitlab-org
# Cursor-based pagination
glab work-items list --after "eyJpZCI6OTk5OX0" --group gitlab-org
# JSON output for automation
glab work-items list --output json --group gitlab-org
ワークアイテムを作成する
--type を使用して、ワークアイテムタイプを明示的に指定します。
# Create a project work item
glab work-items create \
--type task \
--title "Audit runner costs" \
--description "Summarize shared-runner usage before Friday"
# Create a confidential incident
glab work-items create \
--type incident \
--title "Investigate production latency spike" \
--confidential
# Create a group-scoped epic
glab work-items create \
--type epic \
--group my-group \
--title "Q3 platform migration"
# JSON output for scripts
glab work-items create --type issue --title "Backfill docs" --output json
一度だけ使用する複数行の説明には、--description-file <path> または標準入力用の --description-file - を使用します。--description とは同時に指定できません。内容が - だけのファイルは拒否されます。これは --description - が「エディターを開く」という意味だからです。
実験的な --attach <path> フラグはファイルをアップロードし、返された Markdown 参照を説明に追加します。複数のファイルにはこのフラグを繰り返し指定するか、標準入力から添付するファイルが 1 つの場合は --attach - を使用します。説明も標準入力から読み込まないでください。更新時に添付ファイルのみを指定すると、現在の説明は保持され、参照が追加されます。一方、説明を明示すると、最初に本文が置き換えられます。アップロードはプロジェクトスコープで行われるため、--attach は --group と併用できません。
アップストリームでサポートされているタイプ値は次のとおりです。
epic、incident、issue、key_result、objective、requirement、task、test_case、ticket。
ワークアイテムを削除する
# Delete by IID in the current project
glab work-items delete 42
# Delete a group work item
glab work-items delete 42 --group my-group
# Delete from another project and return JSON
glab work-items delete 42 --repo mygroup/myproject --output json
delete は破壊的な操作です。実行前に、IID が意図したプロジェクトまたはグループに属していることを再確認してください。
ワークアイテムを更新する
# Update body text in the current project
glab work-items update 42 --description-file description.md
# Update a group-scoped work item
glab work-items update 40 --group MYGROUP --description-file epic-update.md
ワークアイテムと課題の違い
| 必要なもの | 推奨 |
|---|---|
| 標準的なバグ/機能の課題ワークフロー | glab issue |
| タスク、OKR、目標、キーリザルト、次世代エピック | glab work-items |
| 安定した、実験的ではない課題の自動化 | glab issue |
| グループスコープの計画オブジェクト | glab work-items --group ... |
ワークタイプ自体が重要な場合は glab work-items を使用してください。成熟度の高い CLI 機能を使って標準的な課題ライフサイクルコマンドだけを実行したい場合は、glab issue を使用してください。
トラブルシューティング
work-items: command not found と表示される、またはドキュメントに workitems と記載されている場合:
- 現在のアップストリームのコマンドファミリーは、ハイフン付きの
glab work-itemsです。 - ハイフンなしの
glab workitemsの例は古いものです。 - ローカルでコマンドが利用できない場合は、
glab versionでバージョンを確認してください。
作成/削除がマシンで利用できないように見える場合:
glab work-items --helpでローカルのコマンド利用可否を確認し、作成/削除のサブコマンドがない場合は glab をアップグレードしてください。
タイプフィルターで何も返されない場合:
- すべての GitLab インスタンスですべてのワークアイテムタイプが公開されているとは限りません。
- クエリ対象のタイプに合ったスコープ(
--groupまたは--repo)を試してください。
削除対象を誤った場合:
deleteは選択したプロジェクト/グループスコープ内の IID を使って動作します。- スコープを明確にするため、
--repoまたは--groupを明示して再実行してください。
関連スキル
glab-issue— 標準的なイシューワークフローglab-milestone— OKR や計画と組み合わせて使われることの多いマイルストーンglab-iteration— スプリント/イテレーションの計画glab-incident— インシデント固有のワークフロー
コマンドリファレンス
対象コマンドのヘルプを完全な形で記録した内容については、references/commands.md を参照してください。
glab work-items <command> [flags]
glab work-items list [flags]
--after Cursor for pagination
--group Group/subgroup scope
--output text|json
--per-page Up to 100 items
--repo Project scope override
--state opened|closed|all
--type One or more work item types
glab work-items create [flags]
--attach Upload and reference a file; repeat for multiple files
--confidential Mark the work item confidential
--description Body text (use - to open editor)
--description-file Read body text from a file or stdin
--group Group/subgroup scope
--iteration Numeric iteration ID
--output text|json
--repo Project scope override
--title Title for the new work item
--type epic|incident|issue|key_result|objective|requirement|task|test_case|ticket
glab work-items update <iid> [flags]
--assignee Update assignees
--attach Upload and reference a file; repeat for multiple files
--description Body text
--description-file Read body text from a file or stdin
--duedate Update due date
--group Group/subgroup scope
--iteration Numeric iteration ID
--milestone Update milestone
--output text|json
--repo Project scope override
--startdate Update start date
--title Update title
--weight Update weight
glab work-items delete <iid> [flags]
--group Group/subgroup scope
--output text|json
--repo Project scope override