mcpField
L
linear

linear

github.com/alphaonedev生産性45 回インストール
リポジトリ

linear について

linear は、エンジニアリングチーム向けの Linear API スキルです。GraphQL で課題、サイクル、プロジェクトロードマップ、SLA を扱い、Git のコミットを課題に関連付けられます。

主な機能

  1. 01課題の作成、更新、検索
  2. 02サイクルとロードマップの管理
  3. 03Git コミットと課題の関連付け
  4. 04課題の照会による SLA 追跡
  5. 05GraphQL API による操作

活用シーン

  1. 01コードレビューから追跡用課題を作成
  2. 02スプリント計画で未着手課題を検索
  3. 03Git コミットと Linear の課題を同期
  4. 04SLA 違反の課題を抽出して対応

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/alphaonedev/openclaw-graph --skill linear

インストール後、Claude Code で/linearを入力して読み込まれたか確認します。

詳細

linear

目的

このスキルを使うと、AI は Linear の API を利用して、課題の追跡、サイクルの管理、プロジェクトのロードマップ、Git との連携、SLA の監視、API を活用したワークフローを、特にエンジニアリングチーム向けに操作できます。

使用する場面

コード変更からの課題作成、プロジェクトのロードマップの更新、チケットの SLA の追跡、Git のコミットと Linear の課題の同期など、エンジニアリングのワークフローを自動化する場合にこのスキルを使用します。スプリント計画中の課題の検索や CI/CD パイプラインとの連携など、チームでの共同作業に関わる場面でも使用してください。

主な機能

  • 課題管理:Linear の GraphQL API(https://api.linear.app/graphql)を使用して、課題の作成、更新、検索を行います。
  • サイクルとプロジェクトの管理:cycleCreate などのミューテーションでサイクルを管理し、ロードマップ用のクエリでプロジェクトを管理します。
  • Git 連携:Webhook または API を使用して Git のコミットを課題に関連付けます。たとえば、コミット SHA を課題 ID に関連付けます。
  • SLA の追跡:課題の状態とタイムスタンプをクエリして、サービスレベル契約を監視します。
  • API アクセス:個人用 API キーで認証し、フィルター(例:state: "todo")を指定して課題を取得するなどの操作を行います。
  • 設定形式:API キーは $LINEAR_API_KEY などの環境変数に保存します。リクエストのペイロード構造には JSON を使用します。

使用パターン

タスクを実行する際は、まず環境で $LINEAR_API_KEY を設定して認証してください。データの検索には GraphQL クエリを、ミューテーションには入力オブジェクトを使用します。課題作成の手順は、認証 → ミューテーションのペイロードを準備 → リクエストを送信 → レスポンスを処理、です。連携では、コミットメッセージを解析して Linear の課題に対応付けるなど、Git ツールと組み合わせます。リクエストを送信する前に、課題のタイトルが 255 文字未満であることを確認するなど、入力を必ず検証してください。

主なコマンド/API

  • 課題の検索:未完了の課題を取得するには、次の GraphQL クエリを使用します。
    query { issues(filter: { state: { name: { eq: "todo" } } }) { nodes { id title } } }
    
    curl -H "Authorization: Bearer $LINEAR_API_KEY" -X POST https://api.linear.app/graphql -d '{"query": "above query"}' で送信します。
  • 課題の作成:新しい課題を追加するには、次のミューテーションを実行します。
    mutation { issueCreate(input: { title: "Fix bug in login", description: "Details here" }) { issue { id } } }
    
    コマンド:curl -H "Authorization: Bearer $LINEAR_API_KEY" -X POST https://api.linear.app/graphql -d '{"query": "above mutation"}'
  • プロジェクトのロードマップを更新:まずプロジェクトを検索してから、ミューテーションを実行します:mutation { projectUpdate(id: "proj_123", name: "Updated Roadmap") { project { id } } }
  • Git 連携コマンド:Git のコミットを関連付けるには、次を使用します:git log --format="%H %s" | awk '{print $1}' | xargs -I {} curl -H "Authorization: Bearer $LINEAR_API_KEY" -X POST https://api.linear.app/graphql -d '{"query": "mutation { issueUpdate(id: \"iss_456\", branch: \"{}\") { issue { id } } }"}'
  • SLA の確認:クエリ:query { issues(filter: { createdAt: { gt: "2023-01-01" } }) { nodes { id slaViolated } } }

連携に関する注意事項

Linear アカウントの設定から $LINEAR_API_KEY をエクスポートして、認証を設定します。Git と連携するには、Linear で課題の更新時に起動する Webhook を設定し、スクリプト(例:Python の requests ライブラリを使用)でペイロードを解析します。設定形式:.env ファイルに LINEAR_API_KEY=your_key_here を記述し、スクリプトで os.environ.get('LINEAR_API_KEY') を使って読み込みます。他のツールと連携するには、API 呼び出しを連鎖させます。たとえば、Git のプッシュ後に Linear の課題を検索して更新するスクリプトを実行します。ループに遅延を追加するなどして、レート制限(例:100 リクエスト/分)を必ず守ってください。

エラー処理

リクエストの前に $LINEAR_API_KEY を確認し、401 ステータスなどの認証エラーがないか確認してください。認証に失敗した場合は、環境変数を設定するようユーザーに促します。GraphQL エラーについては、レスポンスの「errors」フィールドを解析してください(たとえば、「message」に「Invalid input」が含まれている場合は、必須フィールドが存在することを確認するなど、ペイロードを検証します)。ネットワークの問題には、リトライで対処します。たとえば、指数バックオフを使うループを使用します。for i in 1..3; do curl ...; if [ $? -ne 0 ]; then sleep $((2**i)); fi; done。SLA 違反については、クエリで問題が発生した場合に課題が null 値を返すかどうかを確認して記録します。コードでは、API 呼び出しを必ず try-catch ブロックで囲んでください。例:

try { response = requests.post('https://api.linear.app/graphql', headers={'Authorization': f'Bearer {os.environ["LINEAR_API_KEY"]}'}, json={'query': '...'}) } catch e { print(f'Error: {e}') }

具体的な使用例

  1. コードレビューから課題を自動作成する:GitHub でプルリクエストが作成されたら、このスクリプトを使って Linear の課題を作成します。$LINEAR_API_KEY を設定してから、curl -H "Authorization: Bearer $LINEAR_API_KEY" -X POST https://api.linear.app/graphql -d '{"query": "mutation { issueCreate(input: { title: \"Review PR #123\", description: \"Fixes in branch main\" }) { issue { id } } }"}' を実行します。これにより、追跡用の新しい課題にプルリクエストが関連付けられます。
  2. 期限超過の課題の SLA を追跡する:SLA 違反を検索して通知します。まず、$LINEAR_API_KEY をエクスポートし、curl -H "Authorization: Bearer $LINEAR_API_KEY" -X POST https://api.linear.app/graphql -d '{"query": "query { issues(filter: { slaViolated: true }) { nodes { id title } } }"}' | jq '.data.issues.nodes' > overdue_issues.json を実行します。JSON を処理してアラートを送信し、48 時間を超過した課題にフラグが付くようにします。

グラフの関係

  • 関連項目:「git」(コミット連携用)、「issues」(ワークフロー追跡用)、「engineering」(チーム管理用)、「project」(ロードマップ同期用)。
  • 接続:このスキルは、API 呼び出しを介して「git」スキルと連携し、関連付けを自動化できます。また、より幅広いツールエコシステムを実現するため、「engineering」とも連携します。

コメント