abekdwight avatar

backlog-api

This skill should be used when the user asks to "create issue", "search issues", "update ticket", "c

作者 abekdwight|オープンソース

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=ascdesc`ソート順

create-issue パラメータ

パラメータ必須説明
projectIdYesプロジェクトID(数値)
summaryYes課題タイトル
issueTypeIdYes課題種別ID(数値)
priorityIdYes優先度ID(数値)
descriptionNo詳細説明
assigneeIdNo担当者ID(数値)
dueDateNo期限日(yyyy-MM-dd)
startDateNo開始日(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":"対応完了しました"}'