コンテンツにスキップ

GitHub 連携をセットアップする

作業が起きる最後の場所は GitHub です。GitHub 連携を設定すると、Issue に @spantail 2h とコメントするだけで、そのリポジトリが属するプロジェクトに作業エントリが 残ります。画面を切り替える必要も、別のウィンドウを開く必要もありません。

このハンズオンは、前の 2 ページの続きです。 クイックスタート でインスタンス・ワークスペース・プロジェクトを作り、 Claude Plugin をセットアップする でセッションが流れ込むように なっています。ここに GitHub が加わり、エージェントがそのリポジトリで動かしたセッションは、 Issue から記録した作業に自動で紐付きます。

  • インスタンスが GitHub から到達できること。webhook はインターネット経由で届くため、 クイックスタート でデプロイした *.workers.dev の URL なら動作し、 ローカルの開発サーバーでは動作しません。
  • あなたがインスタンス管理者であること(App の登録はインスタンス全体に対する一度きりの 操作です)。加えて、対応付ける先のプロジェクトを含むワークスペースの管理者であること。
  • 作業対象の GitHub リポジトリ。自分のアカウント、または App をインストールできる組織が 所有しているもの。
  1. App を登録する

    Spantail のインスタンスは、それぞれ専用の GitHub App を登録します。webhook の宛先が インスタンスの URL である以上、共通の App を配ることはできないからです。

    設定 → システム → GitHub を開き、所有者(個人アカウント、または所属する組織)を選んで GitHub で登録をクリックします。GitHub がこれから作る App の内容を表示するので、承認 します。

    所有者を選ぶ登録フォームが表示された GitHub 設定画面。

    GitHub は新しい App の資格情報(秘密鍵・webhook シークレット・クライアントシークレット)を そのままインスタンスへ返し、インスタンスはそれを暗号化して保存します。コピー&ペーストは 一切ありません。App は所有者にとってプライベートで、連携に必要な権限だけを要求します (Issue と Pull Request の読み書き、メタデータの読み取り)。

  2. リポジトリにインストールする

    登録の直後、GitHub は App のインストール先を尋ねます。リポジトリを所有するアカウント または組織を選び、Spantail が扱ってよいリポジトリを選択します。2 回目以降のインストールは、 同じ設定画面からリンクされている App の GitHub ページから行います。

    インストール先は、webhook が届き次第 設定 → システム → GitHub に表示されます。

  3. リポジトリをプロジェクトに対応付ける

    マッピングは「このリポジトリから記録された作業は、このプロジェクトのものである」という 宣言です。

    設定 → ワークスペース → 連携を開きます。App が到達できるリポジトリは未マッピングの リポジトリに並ぶので、対応付けたいものに クイックスタート で作ったプロジェクトを選んでマッピングします。

    ワークスペースの連携設定。プロジェクトに対応付けられたリポジトリと、手動でマッピングを追加するフォーム。

    1 つのリポジトリは、インスタンス全体で 1 つのプロジェクトに対応します。任意の owner/repo を手動で追加することもでき、その場合は App が無くても動きます(何が制限 されるかは GitHub 連携 を参照)。

  4. 自分の GitHub アカウントを連携する

    Spantail はあなたの作業として記録するため、GitHub のログインがどの Spantail ユーザーのものかを知る必要があります。設定 → アカウント → 認証を開き、作業エントリ用の GitHub 連携GitHub を連携をクリックします。

    「作業エントリ用の GitHub 連携」カードと連携ボタンがある認証設定。

    この認可はアカウントの所有を証明するだけです。リポジトリへのアクセス権は与えず、サインイン の手段にもなりません。GitHub から作業を記録したいメンバーは、各自が一度ずつ連携します。

  5. Issue から作業を記録する

    マッピングしたリポジトリの Issue または Pull Request に、こうコメントします。

    @spantail 2h yesterday

    Spantail が 👍 のリアクションを付け、その Issue の累計とともに返信します。

    ✅ Logged 2h on 2026-07-05 (total on this issue: 3.5h)

    作業エントリは対応付けたプロジェクトに入り、説明には Issue のタイトル、タグには Issue の ラベル、そして Issue へのリンクが付きます。そのリポジトリで動いた最近のエージェント セッションのうち、ブランチや Pull Request がその Issue を指しているものは自動で紐付きます。 Claude Plugin をセットアップする で記録したものです。

    文法は @spantail <duration> [date] です。

    • 所要時間30m2h1h30m3.5h、または分だけの数値(90)。
    • 日付(任意)— todayyesterday2026-07-057/5、あるいは 今日昨日7月5日。省略すると、アカウント設定のタイムゾーンでの今日になります。

    書き方を間違えると、bot が直し方を返信します。アカウントを連携する前にコメントすると、 代わりに連携用のリンクが返ってきます。公開リポジトリでは、オーナー・メンバー・ コラボレーター以外に対して Spantail は意図的に沈黙します。

これで一周しました。Cloudflare 上の自分の Spantail インスタンスに、ワークスペースと プロジェクトがあり、Web アプリで手ずから記録した作業、Claude Code が自動で記録した セッション、GitHub の Issue から指示して記録した作業が、すべて同じプロジェクトに集まり、 送信・共有・議論できるレポートにまとまります。