返回 Skill 列表
extension
分类: 开发与工程无需 API Key

backlog-api

当用户要求“创建问题”、“搜索问题”、“更新工单”、“检查通知”,提到“Backlog”、“バックログ”、“課題”、“チケット”,讨论使用Nulab Backlog进行项目管理,或者需要与Backlog API交互以进行问题跟踪时,应使用此技能。

person作者: jakexiaohubgithub

Backlog API Skill

Nulab Backlogと連携するためのスキル。Bashツールでスクリプトを実行してBacklog APIを呼び出します。

スクリプトの実行方法

bun run ${CLAUDE_PLUGIN_ROOT}/scripts/backlog.ts <command> [args...]

注: ${CLAUDE_PLUGIN_ROOT} はClaude Codeが自動的にプラグインのルートディレクトリに展開します。

環境変数が必要:

  • BACKLOG_DOMAIN - Backlogスペースのドメイン(例: mycompany.backlog.com)
  • BACKLOG_API_KEY - Backlog APIキー

出力形式: すべてのコマンドはJSON形式で出力します。

利用可能なコマンド

情報取得

# スペース情報
bun run ${CLAUDE_PLUGIN_ROOT}/scripts/backlog.ts get-space

# 自分の情報
bun run ${CLAUDE_PLUGIN_ROOT}/scripts/backlog.ts get-myself

# ユーザー一覧
bun run ${CLAUDE_PLUGIN_ROOT}/scripts/backlog.ts get-users

# 優先度一覧
bun run ${CLAUDE_PLUGIN_ROOT}/scripts/backlog.ts get-priorities

プロジェクト

# プロジェクト一覧
bun run ${CLAUDE_PLUGIN_ROOT}/scripts/backlog.ts get-projects

# プロジェクト詳細
bun run ${CLAUDE_PLUGIN_ROOT}/scripts/backlog.ts get-project MYPROJ

# 課題種別一覧(課題作成に必要)
bun run ${CLAUDE_PLUGIN_ROOT}/scripts/backlog.ts get-issue-types MYPROJ

# カテゴリ一覧
bun run ${CLAUDE_PLUGIN_ROOT}/scripts/backlog.ts get-categories MYPROJ

課題

# 課題検索
bun run ${CLAUDE_PLUGIN_ROOT}/scripts/backlog.ts get-issues --project=123 --status=2 --keyword=バグ --count=20

# 課題詳細
bun run ${CLAUDE_PLUGIN_ROOT}/scripts/backlog.ts get-issue MYPROJ-123

# 課題作成(JSON形式)
bun run ${CLAUDE_PLUGIN_ROOT}/scripts/backlog.ts create-issue '{"projectId":123,"summary":"タイトル","issueTypeId":456,"priorityId":3}'

# 課題更新(JSON形式)
bun run ${CLAUDE_PLUGIN_ROOT}/scripts/backlog.ts update-issue MYPROJ-123 '{"statusId":3,"comment":"完了しました"}'

# コメント追加
bun run ${CLAUDE_PLUGIN_ROOT}/scripts/backlog.ts add-comment MYPROJ-123 "進捗報告です"

# コメント一覧
bun run ${CLAUDE_PLUGIN_ROOT}/scripts/backlog.ts get-comments MYPROJ-123

通知

# 通知一覧
bun run ${CLAUDE_PLUGIN_ROOT}/scripts/backlog.ts get-notifications --count=20

# 未読件数
bun run ${CLAUDE_PLUGIN_ROOT}/scripts/backlog.ts count-notifications

重要: 課題作成の手順

課題を作成するには、事前にIDを取得する必要があります:

  1. プロジェクトIDを取得

    bun run ${CLAUDE_PLUGIN_ROOT}/scripts/backlog.ts get-project MYPROJ
    # → id フィールドを確認
    
  2. 課題種別IDを取得

    bun run ${CLAUDE_PLUGIN_ROOT}/scripts/backlog.ts get-issue-types MYPROJ
    # → 「タスク」「バグ」等のidを確認
    
  3. 優先度IDを取得

    bun run ${CLAUDE_PLUGIN_ROOT}/scripts/backlog.ts get-priorities
    # → 通常: 2=高, 3=中, 4=低
    
  4. 課題作成

    bun run ${CLAUDE_PLUGIN_ROOT}/scripts/backlog.ts create-issue '{"projectId":12345,"summary":"課題タイトル","issueTypeId":67890,"priorityId":3,"description":"詳細説明"}'
    

ステータスID(標準設定)

| ID | ステータス | |----|----------| | 1 | 未対応 | | 2 | 処理中 | | 3 | 処理済み | | 4 | 完了 |

get-issues オプション

| オプション | 説明 | 例 | |-----------|------|-----| | --project=ID | プロジェクトIDで絞り込み | --project=123 | | --status=ID | ステータスIDで絞り込み | --status=2 | | --priority=ID | 優先度IDで絞り込み | --priority=2 | | --assignee=ID | 担当者IDで絞り込み | --assignee=456 | | --keyword=TEXT | キーワード検索 | --keyword=バグ | | --count=N | 取得件数(最大100) | --count=50 | | --offset=N | オフセット | --offset=20 | | --sort=FIELD | ソート項目 | --sort=updated | | --order=asc|desc | ソート順 | --order=desc |

create-issue パラメータ

| パラメータ | 必須 | 説明 | |-----------|------|------| | projectId | Yes | プロジェクトID(数値) | | summary | Yes | 課題タイトル | | issueTypeId | Yes | 課題種別ID(数値) | | priorityId | Yes | 優先度ID(数値) | | description | No | 詳細説明 | | assigneeId | No | 担当者ID(数値) | | dueDate | No | 期限日(yyyy-MM-dd) | | startDate | No | 開始日(yyyy-MM-dd) |

update-issue パラメータ

| パラメータ | 説明 | |-----------|------| | summary | 新しいタイトル | | description | 新しい説明 | | statusId | 新しいステータスID | | priorityId | 新しい優先度ID | | assigneeId | 新しい担当者ID | | dueDate | 新しい期限日 | | comment | 更新時のコメント |

エラーハンドリング

| エラー | 原因 | 対処 | |--------|------|------| | BACKLOG_DOMAIN environment variable is required | 環境変数未設定 | BACKLOG_DOMAINを設定 | | BACKLOG_API_KEY environment variable is required | 環境変数未設定 | BACKLOG_API_KEYを設定 | | API Error 401 | 認証エラー | APIキーを確認 | | API Error 404 | リソースなし | 課題キー/プロジェクトキーを確認 | | API Error 400 | パラメータ不正 | 必須パラメータを確認 |

使用例

自分が担当の処理中課題を表示

# 1. 自分のIDを取得
bun run ${CLAUDE_PLUGIN_ROOT}/scripts/backlog.ts get-myself
# → id: 12345

# 2. 課題検索
bun run ${CLAUDE_PLUGIN_ROOT}/scripts/backlog.ts get-issues --assignee=12345 --status=2

課題をクローズしてコメント

bun run ${CLAUDE_PLUGIN_ROOT}/scripts/backlog.ts update-issue MYPROJ-123 '{"statusId":4,"comment":"対応完了しました"}'