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 は違う値。