@kyanny's blog

My thoughts, my life. Views/opinions are my own.

check run can only be modified by the GitHub App that created it

Check run のステータスを更新する実験をしていたら表題のエラーが発生して更新できなかった。

❯ gh api -X PATCH /repos/kyanny/refactored-octo-waddle/check-runs/23752629510 -f "status=in_progress"
{
  "message": "Invalid app_id `254` - check run can only be modified by the GitHub App that created it.",
  "documentation_url": "https://docs.github.com/rest/checks/runs#update-a-check-run"
}
gh: Invalid app_id `254` - check run can only be modified by the GitHub App that created it. (HTTP 403)

この check run を作ったのはリポジトリにインストールしたサードパーティー製の GitHub App(Codecov)で、API エンドポイントを呼び出す際に使ったアクセストークンは自分が所有するテスト用 GitHub App の installation access token だった。

テスト用 GitHub App はこのリポジトリにインストール済みで、checks:write 権限も付与してあるが、権限以前の問題だったようだ。app_id 254 はおそらく Codecov の GitHub App の ID で、自分のテスト用 GitHub App の ID は違う値。