GitHub Action セットアップ
PR へのコメント投稿(1 PR = 1 コメント)と、PR クローズ時の失効は、あなたのリポジトリに置く GitHub Action(naoto24kawa/miseru/apps/action@v1)が担います。このページでその両方を設定します。
- ダッシュボードで対象リポジトリのプロジェクトを作成し、Upload Token を発行する(→ ダッシュボードの使い方)
- リポジトリの Settings → Secrets and variables → Actions に
MISERU_TOKENとしてトークンを登録する
1. スクリーンショットをコメントする
Section titled “1. スクリーンショットをコメントする”CI でスクリーンショットを撮ったあとに Action を呼び出します。
name: screenshotson: pull_request
permissions: pull-requests: write
jobs: shots: runs-on: ubuntu-latest steps: # ... スクショを ./shot.png に生成するステップ ... - uses: naoto24kawa/miseru/apps/action@v1 with: miseru-token: ${{ secrets.MISERU_TOKEN }} file: ./shot.png name: home viewport: 1280x800permissions: pull-requests: writeが必須です(コメントはgithub-actions[bot]名義で投稿されます)fileを省略すると、アップロードは行わず既存画像の集約コメントの更新だけを行います(エージェントが CLI/MCP で先にアップロードしている場合はこの形)
2. PR クローズで失効させる
Section titled “2. PR クローズで失効させる”失効ポリシーが「PR クローズで失効」のプロジェクトでは、クローズ時に必ずこのワークフローを動かしてください。
name: miseru-expireon: pull_request: types: [closed]
jobs: expire: runs-on: ubuntu-latest steps: - uses: naoto24kawa/miseru/apps/action@v1 with: command: expire miseru-token: ${{ secrets.MISERU_TOKEN }}types: [closed] はマージされた PR にも発火します。失効ポリシーが retain_days / forever の場合もこのワークフローは安全です(画像は消えず、PR クローズの記録だけが残ります)。
| input | 必須 | デフォルト | 説明 |
|---|---|---|---|
command | — | comment | comment(アップロード + コメント更新) / expire(クローズ時失効) |
miseru-token | ✅ | — | Upload Token(secrets.MISERU_TOKEN 推奨) |
github-token | — | ${{ github.token }} | コメント投稿用トークン |
api-url | — | https://api.miseru.dev | Miseru API のベース URL |
pr-number | — | イベントから自動解決 | PR 番号の明示指定 |
file | — | — | アップロードするスクリーンショットのパス(png/jpg/webp、5MB 未満) |
name | — | — | スクリーンショットの論理名。file 指定時は必須 |
commit-sha | — | イベントから自動解決 | コミット SHA の明示指定 |
viewport | — | — | 例: 1280x800 |
pr-numberはpull_request系イベントの payload から自動解決されます。workflow_dispatchなど PR 文脈のないイベントで使う場合は明示指定してください(解決できないとエラーで失敗します)- Action の失敗はジョブの失敗(exit 1)になります
コメントの仕組み(1 PR = 1 コメント)
Section titled “コメントの仕組み(1 PR = 1 コメント)”- コメント本文の先頭にはマーカー
<!-- miseru:pr-<PR番号> -->が埋め込まれます - Action は PR のコメントを走査してこのマーカーを探し、見つかれば更新・なければ新規投稿します
- コメント本文はサーバー側で PR 単位に再生成されるため、スクリーンショットが増えても常に全画像が1コメントに集約されます
マーカーを含むコメントを手動で削除した場合は、次回実行時に新規投稿されます。
fork からの PR について
Section titled “fork からの PR について”fork からの PR では github.token が読み取り専用のため、Action はコメント投稿をスキップし、markdown をログに出力するだけになります。Miseru はこの場合に権限を昇格する pull_request_target を意図的に使いません(セキュリティ上の定石として)。fork PR でもコメントが必要な場合は、リポジトリ管理者が別途安全な仕組みを検討してください。