GitHub Actions のログを取ると「Must have admin rights to Repository.」
「リポジトリの管理者の権利が要る」という文ですが、管理者の権利は要りません。GitHub の API は、Actions のログをサインインしたリクエストにしか渡しません。トークンなしだと、ブラウザーなら誰でもログを開ける公開リポジトリでも、HTTP 403 とこの文で答えます。リポジトリを読めるトークンがあれば足ります。
答えの全体
2026年10月24日に、公開リポジトリのジョブのログをトークンなしで求めたときの api.github.com の答え:
curl -i 'https://api.github.com/repos/<owner>/<repo>/actions/jobs/<job_id>/logs'
HTTP 403
{
"message": "Must have admin rights to Repository.",
"documentation_url": "https://docs.github.com/rest/actions/workflow-jobs#download-job-logs-for-a-workflow-run",
"status": "403"
}
- 実行全体のログ(
/actions/runs/<run_id>/logs・zip ファイル)も同じ答えでした。 - そのリポジトリの管理者の権利が無いアカウントのトークン(クラシック・repo と workflow のスコープ)を付けると、同じリクエストは HTTP 302 でダウンロード用の住所へ回され、たどるとログが取れました。
トークンに要るもの
GitHub のこの API の説明(Download job logs for a workflow run)には「リポジトリを読める人なら誰でも使える」とあります。非公開のリポジトリでは、クラシックの個人用アクセス トークンや OAuth のトークンに repo のスコープが要ります。
# 1つのジョブのログを文字で curl -L -H 'Authorization: Bearer <トークン>' \ 'https://api.github.com/repos/<owner>/<repo>/actions/jobs/<job_id>/logs' # GitHub CLI なら(gh auth login でサインイン済みで) gh run view --log --job <job_id>
-L で 302 をたどります。回された先の住所は1分で切れる(GitHub の説明)ので、取っておかずにすぐ取りに行きます。
トークンがないとき
公開リポジトリのログは github.com ならそのまま読めます。実行を開き、ジョブを開きます。トークンを求めるのは API だけです。
IntelliJ IDEA など JetBrains IDE で GitHub Actions のログを見るなら
Pipeline Inbox for GitHub Actions Workflows は、Lesstep が作っている JetBrains IDE(2024.1 以降)のプラグインです。全リポジトリの実行を、ジョブ・ステップ・ログと一緒に IDE のツールウィンドウに並べます。トークンがあればログをそのまま読み、なければ「GitHub は、公開リポジトリでもトークンがないとジョブのログを渡しません」と表示して、トークンの設定と GitHub のログへのリンクを出します。無料の機能は読み取りだけのトークンで足ります。再実行・キャンセル・ワークフローの実行・デプロイの承認は Pro(月 US$1.50・30日間の無料試用つき)です。画面は日本語です。
GitHub と GitHub Actions は GitHub, Inc. の商標、IntelliJ IDEA は JetBrains s.r.o. の商標です。このページは GitHub, Inc.・JetBrains のいずれとも提携しておらず、後援・承認も受けていません。