コンテンツへスキップ
開発者向けリソース
開発者向けリソース

Claude Code GitHub Actions

RunAPIシークレット、モデル、権限、トリガー、および最小限のワークフローでClaude Code GitHub Actionsを設定します。

概要

公式のanthropics/claude-code-actionはGitHub ActionsワークフローでClaude Codeを実行します。このガイドでは、RunAPIキーをGitHub Secretとして保存し、非機密のBase URLをClaude Code設定に設定し、モデルを選択して、承認された@claudeコメントに応答します。

始める前に

  • Claude GitHub Appのインストール、Actionsシークレットの作成、ワークフローの追加には、リポジトリの管理者アクセス権が必要です。
  • 認証ガイドで標準RunAPI APIキーを作成してください。
  • モデルカタログから、Anthropic Messagesをサポートするモデルの識別子をコピーしてください。
  • Claude Code GitHub Actionsのセットアップと組織のワークフローポリシーを確認してください。

インストール

対象リポジトリの Claude Code から /install-github-app を実行し、プロンプトに従って GitHub App をインストールします。Anthropic 認証情報の作成を促された場合は、保存する前に停止してください。このガイドでは Anthropic 認証情報の代わりに RunAPI リポジトリまたは組織のシークレットを使用します。

手動設定の場合は、Claude GitHub Appをインストールし、.github/workflows/claude.ymlに以下のワークフローを追加してください。

RunAPIを設定する

RUNAPI_API_KEYという名前のリポジトリまたは組織のActionsシークレットを作成します。アクションのシークレット入力のみを通じて渡してください:

YAML
anthropic_api_key: ${{ secrets.RUNAPI_API_KEY }}

ワークフローファイルやアクションのsettings JSONにキーを記載しないでください。 アクションはsettingsを別途処理します。機密性のないBase URLのみをそこに記載してください。

以下の最小限のインタラクティブワークフローは、新しいissueとプルリクエストのレビューコメントを待ち受けます:

YAML
name: Claude Code

on:
  issue_comment:
    types: [created]
  pull_request_review_comment:
    types: [created]

jobs:
  claude:
    if: contains(github.event.comment.body, '@claude')
    runs-on: ubuntu-latest
    permissions:
      contents: write
      pull-requests: write
      issues: write
      id-token: write
      actions: read
    steps:
      - uses: actions/checkout@v6
        with:
          fetch-depth: 1
      - uses: anthropics/claude-code-action@v1
        with:
          anthropic_api_key: ${{ secrets.RUNAPI_API_KEY }}
          settings: |
            {
              "env": {
                "ANTHROPIC_BASE_URL": "https://runapi.ai"
              }
            }
          claude_args: "--model YOUR_RUNAPI_MODEL_ID"

シークレット

GitHub は、フォークプルリクエストや Dependabot イベントからトリガーされたワークフローには通常の Actions シークレットを渡しません。実行に認証情報がない場合は、RunAPI キーをローテーションする前にイベントソースを確認してください。リポジトリおよび組織スコープについては、GitHub の Actions シークレットガイドを参照してください。

権限

  • contents: write により、アクションはコードの変更をコミットできます。
  • pull-requests: write および issues: write により、トリガーとなった会話の読み取りと返信ができます。
  • id-token: write は、アクションのデフォルトGitHub App認証をサポートします。
  • actions: read により、ワークフローの結果を確認できます。

write-all の代わりにこれらの明示的な権限を使用してください。ワークフローで必要のない機能は削除してください。

トリガーイベント

issue_comment はIssueおよびプルリクエストの会話内のコメントを対象とし、pull_request_review_comment はdiff行のコメントを対象とします。issue_comment でワークフローをトリガーするには、ワークフローファイルがデフォルトブランチに存在している必要があります。このアクションは実行を開始したユーザーも確認します。正規のリファレンスとして 公式のセキュリティ動作 を参照してください。

モデルを選択する

claude_args 内の YOUR_RUNAPI_MODEL_IDモデルカタログの正確な識別子に置き換えてください。モデルの選択を settings.env の外に置くことで、ワークフローで選択したモデルがアクション設定に表示されます。

検証

  1. RUNAPI_API_KEY シークレットが値を表示せずに存在することを確認してください。
  2. ワークフローをデフォルトブランチにマージし、Actionsが有効になっていることを確認してください。
  3. リポジトリへの書き込みアクセス権を持つアカウントから、Issueのコメントに @claude describe this repository in one sentence を追加してください。
  4. ワークフローの実行を開き、アクションが成功したことを確認し、Claudeが同じIssueに返信していることを確認してください。

トラブルシューティング

  • ワークフローが開始しない: ファイルがデフォルトブランチにあること、コメントイベントが一致すること、Actions が有効であることを確認してください。
  • ジョブがスキップされる: コメントに @claude が含まれており、アクターが必要なリポジトリのアクセス権を持っていることを確認してください。
  • 認証に失敗する: ワークフローが secrets.RUNAPI_API_KEY を参照していることを確認し、必要であれば認証ガイドからキーをローテーションしてください。
  • フォークのプルリクエストがキーを使用できない: GitHub はフォークによってトリガーされた実行では通常のシークレットを意図的に提供しません。シークレットをリテラルに置き換えないでください。
  • モデルが利用できない: モデルカタログから正確な識別子をコピーしてください。
  • Claude のコミットが別のワークフローを開始しない: 公式アクションの GitHub token troubleshooting を確認してください。

次のステップ

プロトコルの動作については LLM API quickstart を、リクエストフィールドについては Anthropic Messages API Reference を参照してください。さらに多くのトリガーやアクション入力については、公式サンプル および 設定リファレンス を参照してください。