コンテンツにスキップ

GitHub Action セットアップ

PR へのコメント投稿(1 PR = 1 コメント)と、PR クローズ時の失効は、あなたのリポジトリに置く GitHub Action(naoto24kawa/miseru/apps/action@v1)が担います。このページでその両方を設定します。

  1. ダッシュボードで対象リポジトリのプロジェクトを作成し、Upload Token を発行する(→ ダッシュボードの使い方)
  2. リポジトリの Settings → Secrets and variables → ActionsMISERU_TOKEN としてトークンを登録する

1. スクリーンショットをコメントする

Section titled “1. スクリーンショットをコメントする”

CI でスクリーンショットを撮ったあとに Action を呼び出します。

name: screenshots
on: 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: 1280x800
  • permissions: pull-requests: write必須です(コメントは github-actions[bot] 名義で投稿されます)
  • file を省略すると、アップロードは行わず既存画像の集約コメントの更新だけを行います(エージェントが CLI/MCP で先にアップロードしている場合はこの形)

失効ポリシーが「PR クローズで失効」のプロジェクトでは、クローズ時に必ずこのワークフローを動かしてください。

name: miseru-expire
on:
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必須デフォルト説明
commandcommentcomment(アップロード + コメント更新) / expire(クローズ時失効)
miseru-tokenUpload Token(secrets.MISERU_TOKEN 推奨)
github-token${{ github.token }}コメント投稿用トークン
api-urlhttps://api.miseru.devMiseru API のベース URL
pr-numberイベントから自動解決PR 番号の明示指定
fileアップロードするスクリーンショットのパス(png/jpg/webp、5MB 未満)
nameスクリーンショットの論理名。file 指定時は必須
commit-shaイベントから自動解決コミット SHA の明示指定
viewport例: 1280x800
  • pr-numberpull_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 では github.token が読み取り専用のため、Action はコメント投稿をスキップし、markdown をログに出力するだけになります。Miseru はこの場合に権限を昇格する pull_request_target意図的に使いません(セキュリティ上の定石として)。fork PR でもコメントが必要な場合は、リポジトリ管理者が別途安全な仕組みを検討してください。