@chikin14niwa/asana-cli
v0.1.0
Published
Codex-friendly backup CLI for Asana REST API task, subtask, and comment operations.
Downloads
35
Maintainers
Readme
asana-cli
Codex から Asana REST API を直接呼ぶためのバックアップ CLI です。MCP が接続できない場合でも、Node.js だけでタスク、サブタスク、コメントを操作できます。
前提
- Node.js 18 以上
- Asana Personal Access Token または OAuth access token
- 環境変数
ASANA_ACCESS_TOKEN
export ASANA_ACCESS_TOKEN="your-token"Asana API token は Authorization: Bearer <token> として送信します。token はログやコードに残さないでください。
インストール
グローバルにインストールすると、asana-cli コマンドを利用できます。
npm install --global @chikin14niwa/asana-cli
asana-cli --helpインストールせず一度だけ実行する場合:
npx @chikin14niwa/asana-cli --help使い方
依存パッケージはありません。
asana-cli --helpCodex からは dry-run でリクエストを確認してから実行すると安全です。
asana-cli tasks get 1200000000000000 --dry-runタスク
タスク検索は Asana の workspace search endpoint を使います。
asana-cli tasks search --workspace 123456789 --text "release" --limit 20
asana-cli tasks search --workspace 123456789 --project 987654321 --assignee meタスク取得、作成、変更:
asana-cli tasks get 1200000000000000
asana-cli tasks create --workspace 123456789 --name "調査する" --notes "Codex から作成"
asana-cli tasks create --project 987654321 --name "実装する"
asana-cli tasks update 1200000000000000 --completed true
asana-cli tasks update 1200000000000000 --data-json '{"name":"名称変更","notes":"本文"}'任意フィールドは --set key=value または --data-json で指定できます。
asana-cli tasks update 1200000000000000 --set custom_fields.12345="value"サブタスク
Asana の subtask は task と同じ resource です。変更は task update endpoint に送られます。
asana-cli subtasks list 1200000000000000
asana-cli subtasks create 1200000000000000 --name "サブタスク"
asana-cli subtasks update 1200000000000001 --completed trueコメント
Asana API ではコメントは task story として扱われます。この CLI の comments list は既定で comment story だけを返します。system story も含めたい場合は --include-system を指定します。
asana-cli comments list 1200000000000000
asana-cli comments create 1200000000000000 --text "対応しました"
asana-cli comments update 1200000000000002 --text "コメントを修正しました"補助コマンド
asana-cli me
asana-cli workspaces list共通オプション
--dry-run: Asana に送信せず、method、URL、body を JSON で出力--base-url <url>: API base URL を変更--token <token>:ASANA_ACCESS_TOKENの代わりに token を指定--opt-fields <fields>:opt_fieldsをカンマ区切りで指定--query key=value: 任意の query parameter を追加--data-json '<json>': Asana のdataobject を JSON で指定--data-file <path>: JSON ファイルからdataobject を読み込み--stdin-json: stdin からdataobject を読み込み--set key=value:dataobject に任意フィールドを追加--compact: JSON を 1 行で出力
--data-json は {"name":"x"} と {"data":{"name":"x"}} の両方を受け付けます。
Asana API 対応
tasks search:GET /workspaces/{workspace_gid}/tasks/searchtasks list:GET /taskstasks get:GET /tasks/{task_gid}tasks create:POST /taskstasks update:PUT /tasks/{task_gid}subtasks list:GET /tasks/{task_gid}/subtaskssubtasks create:POST /tasks/{task_gid}/subtaskssubtasks update:PUT /tasks/{subtask_gid}comments list:GET /tasks/{task_gid}/storiescomments create:POST /tasks/{task_gid}/storiescomments update:PUT /stories/{story_gid}
タスク検索 endpoint は Asana 側で Premium access が必要な場合があり、検索 index の eventual consistency により作成直後の変更がすぐ反映されないことがあります。書き込み直後の確認には tasks get または tasks list を使ってください。
参照:
- Asana API reference
- Search tasks in a workspace
- Create a task
- Update a task
- Get subtasks from a task
- Create a subtask
- Get stories from a task
- Create a story on a task
- Update a story
- Personal access token
テスト
npm testリポジトリを直接利用する開発者向けの zsh command function は、./scripts/setup-zsh-alias.sh で設定できます。npm からインストールする場合、この設定は不要です。
公開手順と公開前チェックリストは docs/npm-publishing.md を参照してください。
