Linear Curl Issue Ops
概要
Linear API を curl で直接実行する。viewer/project の疎通確認、単発 issue 作成、JSON からの一括 issue 作成を定型化する。
前提
- PAT を Keychain に保存する。
security add-generic-password -a "$USER" -s "linear-api-key" -w "lin_api_xxx" -U
- 実行時は Keychain から読み出す。
export LINEAR_API_KEY="$(security find-generic-password -s "linear-api-key" -w)"
jqを利用する。
ワークフロー
- 認証疎通を確認する。
scripts/linear_graphql.sh 'query { viewer { id name email } }' - 対象 team / project を解決する。
scripts/linear_graphql.sh 'query { projects(filter:{name:{eq:"$PROJECT_NAME"}}){nodes{id name teams{nodes{id key name}}}} }' - issue を作成する。単発は GraphQL mutation、複数は
scripts/create_issues_from_json.shを使う。
主要スクリプト
scripts/linear_graphql.sh
- 役割: 任意の GraphQL Query/Mutation を実行する。
- 入力: GraphQL 文字列(必須)、variables JSON 文字列(任意)。
scripts/create_issues_from_json.sh
- 役割: JSON ファイルから issue を一括作成する。
- 入力:
--team-id--project-id--file([{\"title\":\"...\",\"description\":\"...\"}])
- 出力:
identifier,title,urlの TSV。
実行例
# 1) viewer 疎通
.agents/skills/linear-curl-issue-ops/scripts/linear_graphql.sh \
'query { viewer { id name email } }'
# 2) JSON から一括作成
.agents/skills/linear-curl-issue-ops/scripts/create_issues_from_json.sh \
--team-id "" \
--project-id "" \
--file ".agents/skills/linear-curl-issue-ops/references/issues.sample.json"
失敗時の確認
security find-generic-password -s "linear-api-key" -wが値を返すか確認する。LINEAR_API_KEYが空でないか確認する。- GraphQL エラーはレスポンスの
errors[]を優先して読む。