概要
LinearツールはLinear GraphQL APIに接続し、ワークフローから課題の作成・更新、コメントの追加、チームの検索、プロジェクト進捗の取得を自動化できます。主な機能
LINEAR_CREATE_ISSUE- Linearのチームに新しい課題を作成します。
- 主な入力:
team_id(必須)、title(必須)、description(Markdown)、state_id、assignee_id、project_id、label_ids、subscriber_ids、priority(整数 0〜4)、estimate(0以上の整数)
LINEAR_GET_ISSUES- サーバーサイドのフィルター条件付きで課題の一覧を取得します。
- 主な入力:
team_id、state_id、assignee_id、project_id、label_ids(指定したラベルのいずれかを含む課題に一致)、updated_after/updated_before(ISO 8601形式、例:2024-01-01T00:00:00Z)、first(1〜100、デフォルト20)
LINEAR_UPDATE_ISSUE- 既存の課題のフィールドを更新します。更新フィールドを最低1つ指定する必要があります。
- 主な入力:
issue_id(必須)に加えて、title、description、state_id、assignee_id、project_id、label_ids、subscriber_ids、priority、estimateのいずれか
LINEAR_ADD_ISSUE_COMMENT- 課題にコメントを追加します。トリアージ内容の記録やワークフローからの通知に便利です。
- 主な入力:
issue_id(必須)、comment_body(必須、Markdown)
LINEAR_LIST_TEAMS- チームの一覧を取得し、内部ID・名前・キーを確認できます。
- 主な入力:
first(1〜100、デフォルト20)
LINEAR_GET_PROJECT_PROGRESS- プロジェクトの進捗と状態(スコープ、完了スコープ、ヘルス、マイルストーン、メンバー、直近のプロジェクト更新など)を取得します。
- 主な入力:
project_id(必須)
認証
すべてのLinearツールはパーソナルAPIキーで認証します(OAuthは未対応です)。Linearの Settings → Security & access → Personal API keys でAPIキーを発行し、ワークスペースのシークレットにLINEAR_API_KEY として保存してください。
各ステップのconfigフィールドは1つだけです。
注意: APIキーは機密情報として扱い、公開リポジトリにコミットしないでください。
使用例
例: チームを検索して課題を作成
まずチーム一覧から内部チームIDを確認し、そのチームに課題を作成します。例: 週次進捗レポート
過去1週間に更新された課題とプロジェクトの現況を取得し、AIステップで要約します。注意事項
- 名前ではなくIDを指定:
team_id、state_id、assignee_id、project_id、label_idsはいずれもLinearの内部識別子です。LINEAR_LIST_TEAMSやLINEAR_GET_ISSUESでIDを確認してください。 - リスト形式の入力:
label_idsとsubscriber_idsはJSON配列(例:["id1", "id2"])またはカンマ区切りの文字列(id1, id2)を受け付けます。 - 更新時はリストが置き換わる:
LINEAR_UPDATE_ISSUEではlabel_idsとsubscriber_idsは既存のリストに追加されるのではなく、丸ごと置き換えられます。 - フィールドは空にできない: 更新時に空の値は無視されるため、タイトルや説明を空欄にすることはできません(上書きのみ可能です)。また、
LINEAR_UPDATE_ISSUEは更新フィールドが1つもない場合エラーになります。 - ページネーション:
LINEAR_GET_ISSUESとLINEAR_LIST_TEAMSは1回の実行で最大100件まで取得します。出力にはpageInfo(hasNextPage、endCursor)が含まれますが、カーソルを入力する手段がないため、1ステップで取得できるのは最初のページのみです。件数が多い場合はフィルターで絞り込んでください。 - エラーハンドリング:
LINEAR_GET_PROJECT_PROGRESSはリクエストが失敗した場合、ステップを失敗させる代わりに出力のerrorオブジェクトとしてエラーを返します。