youtrack について
youtrack は、`yt` CLI で YouTrack を操作するスキルです。課題やプロジェクトの管理に使え、解析しやすい JSON を既定で出力します。
主な機能
- 01課題の検索と取得
- 02課題の作成と更新
- 03課題コメントの管理
- 04プロジェクトとアジャイルボードの一覧
- 05JSON またはテキスト出力
活用シーン
- 01クエリで未解決課題を絞り込む
- 02説明や親課題を指定して課題を作成する
- 03課題の状態変更とコメント追加
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ billpeet/ agent-skills --skill youtrackインストール後、Claude Code で/youtrackを入力して読み込まれたか確認します。
詳細
YouTrack
yt CLI を使用して YouTrack インスタンスを操作します。すべてのコマンドは、確実に解析できるようデフォルトで JSON を出力します。
セットアップ
一度設定すると、認証情報は ~/.config/yt-cli/config.json に保存されます。
yt setup --url https://your-instance.youtrack.cloud --token <permanent-api-token>
または、環境変数を使用します(環境変数は設定ファイルより優先されます)。
export YOUTRACK_BASE_URL=https://your-instance.youtrack.cloud
export YOUTRACK_TOKEN=<permanent-api-token>
課題
検索
yt issue search "<query>" --format json --pretty
yt issue search "project: MyProject #Unresolved assignee: me" --top 20 --format json
yt issue search "tag: bug" --top 10 --skip 0 --format json
YouTrack のクエリ構文:project: PROJ、#Unresolved、assignee: me、priority: Critical、tag: bug、フリーテキストなど。
単一の課題を取得
yt issue get PROJ-123 --format json --pretty
課題を作成
yt issue create --project PROJ --summary "Summary here" --description "Details" --format json
yt issue create --project PROJ --summary "Summary here" --description "First paragraph\n\nScope:\n- Item one\n- Item two" --format json
yt issue create --project PROJ --summary "Summary here" --agile "Continuous Improvement" --parent PROJ-123 --format json
複数行の説明とコメント
課題の説明を作成または更新するときや、コメントを追加するときは、引用符で囲んだ引数内でエスケープされた改行シーケンス(\n)を使用して、段落やリストの書式を保持してください。
yt issue create --project PROJ --summary "Example" --description "First paragraph\n\nScope:\n- Item one\n- Item two" --format json
yt issue comment PROJ-123 --text "Implemented changes:\n- Added API endpoint\n- Updated tests" --format json
YouTrack にリテラルのテキスト \n を表示したい場合を除き、改行を \\n のように二重にエスケープしないでください。yt CLI は、テキストを YouTrack に送信する前に \n を実際の改行に変換します。シェルやツールが対応していれば、シェルのリテラルな改行も使用できますが、エージェントにはエスケープされた \n が最も安全で移植性の高い形式です。
課題を更新
yt issue update PROJ-123 --summary "New summary" --format json
yt issue update PROJ-123 --description "Updated description" --format json
yt issue update PROJ-123 --description "First paragraph\n\nScope:\n- Item one\n- Item two" --format json
yt issue update PROJ-123 --field "Priority=Critical" --field "State=In Progress" --format json
yt issue update PROJ-123 --agile "Continuous Improvement" --parent PROJ-456 --format json
カスタムフィールドには --field "Name=Value" を使用します。複数のフィールドを指定する場合は、繰り返し指定できます。--agile を使用すると課題をボードまたは現在のスプリントに追加でき、--parent を使用すると、機能ベースのスイムレーンで課題を別の課題のサブタスクに設定できます。
コメント
コメントを一覧表示:
yt issue comments PROJ-123 --format json --pretty
コメントを追加:
yt issue comment PROJ-123 --text "Comment text here" --format json
プロジェクト
yt project list --format json --pretty
アジャイルボード
yt agile list --format json --pretty
ユーザー
認証済みユーザーを取得:
yt user me --format json --pretty
出力形式
すべてのコマンドは --format json(コンパクト)または --format text(人間が読みやすい形式)に対応しています。インデント付き JSON を出力するには --pretty を追加します。
終了コード:0 = 成功、1 = エラー。エラーは JSON 形式で stderr に書き込まれます。
ページネーション
issue search でページネーションを行うには、--top <n>(デフォルトは 50)と --skip <n>(デフォルトは 0)を使用します。
よくあるワークフロー
課題を検索して更新:
yt issue search "summary: login bug #Unresolved" --format json --top 5
yt issue update PROJ-42 --field "State=In Progress" --agile "Continuous Improvement"
yt issue comment PROJ-42 --text "Started investigating — reproducible in staging."
作成して確認:
yt issue create --project PROJ --summary "Fix null pointer in auth flow" --description "Stack trace: ..." --format json --pretty
ボードと機能スイムレーンに割り当て:
yt agile list --format json --pretty
yt issue update PROJ-42 --agile "Continuous Improvement" --parent PROJ-123 --format json --pretty