Gitea の Actions の API:公開リポジトリでも「token is required」
Gitea 1.25 以降では、API でリポジトリの Actions の実行・ジョブ・ワークフローを一覧にしたり、ジョブや実行のログを読んだりすると、トークンの無い要求には公開リポジトリでも 401 と {"message":"token is required"} が返ります。確かめは住所そのものに付いているので、gitea.com だけでなくどの Gitea のサーバーでも同じで、設定では外せません。そのリポジトリを読めるアカウントなら誰のトークンでもよく、権限は read:repository で足ります。Forgejo は同じ要求にトークンなしで答えます。
Gitea でトークンを求める要求
1.25.0・1.26.0・28.0.0 と、最新の版 28.2.0(2026年10月18日)で確かめました(routers/api/v1/api.go:下の住所には reqToken() が付いていて、サインインしていない要求に 401 token is required を返します)。/api/v1/repos/{owner}/{repo} の下で:
- トークンが要る:
GET /actions/runs(実行の一覧)・GET /actions/jobs(ジョブの一覧)・GET /actions/workflowsとその下・GET /actions/jobs/{job_id}と/actions/jobs/{job_id}/logs・GET /actions/runs/{run}/logs。 - 公開リポジトリならトークンは要らない:
GET /actions/runs/{run}(id で指す実行1つ)・GET /actions/runs/{run}/jobs・GET /actions/runs/{run}/artifacts・GET /actions/artifacts・GET /actions/tasks。28.2 では実行の回(/actions/runs/{run}/attempts/{attempt}とその/jobs)も。 - やり直し・取り消し・実行の開始は、Gitea も Forgejo もトークンと書き込み権限を求めます。
なので、スクリプトは実行の id を知っていれば、トークンなしで実行1つとそのジョブを読めます。ただ、id を探すための一覧は取れず、ログはどれも読めません。GET /actions/tasks はトークンなしで最新のタスクを並べ、それぞれに実行の番号と、最後が実行の id の url が付きます。
gitea.com の答え
2026年10月28日、gitea.com(版 29.0.0+dev)は、公開リポジトリ gitea/runner へのトークンの無い要求に、ソースの通りに答えました:/actions/runs・/actions/jobs・/actions/workflows・ジョブ1つ・そのログ・実行のログは 401 token is required、/actions/tasks・実行1つ・その実行のジョブは 200。
トークン
- ユーザー設定 | アプリケーション(
/user/settings/applications・アクセストークンの管理)で作り、Select permissions で権限を選びます(docs.gitea.com:API Usage)。 - 読むだけなら repository の Read(
read:repository)。リポジトリの住所はリポジトリの権限を求め、GETなら読む段、POST・PUT・PATCH・DELETEなら書く段です(api.go のtokenRequiresScopes)。 - その権限の無いトークンには 403
token does not have at least one of required scope(s), required=[read:repository], ...が返ります。 - 送るときは
Authorization: token ...の形です。文書の通り、Gitea はキーの前にtokenの語を求めます。 - トークンは作ったサーバーの物です。gitea.com のトークンは自分の Gitea のサーバーでは使えず、その逆も同じです。
Forgejo
Forgejo は読むほうにトークンの確かめを付けていません。実行の一覧・実行1つ・そのジョブ・ジョブ1つ・ジョブのログ・実行のログは、公開リポジトリならトークンなしで答えます(routers/api/v1/api.go)。2026年10月28日、code.forgejo.org は実行の一覧・実行1つ・そのジョブ・ジョブ1つ・実行のログにトークンなしで答えました。非公開のリポジトリは、どちらのサーバーでもトークンが要ります。
IntelliJ IDEA で Forgejo・Gitea の Actions を見るなら
Pipeline Inbox for Forgejo and Gitea は、Lesstep が作っている JetBrains IDE(2024.1 以降)のプラグインです。Forgejo のサーバーの公開リポジトリはトークンなしで読みます。トークンの無い Gitea のサーバーでは、そのサーバーはトークンがあるときだけ実行を見せると伝え、「設定 | ツール | Pipeline Inbox for Forgejo and Gitea」へ案内します。そこではサーバーごとにトークンを IDE のパスワード保管庫に入れられます(読むだけなら read:repository と read:user)。実行・ジョブ・ログは無料、やり直し・取り消し・ワークフローの開始は Pro(月 US$1.50・30日間の無料試用つき)です。画面は日本語です。
Forgejo・Gitea・Codeberg はそれぞれの持ち主の名前、IntelliJ IDEA は JetBrains s.r.o. の商標です。このページは Forgejo プロジェクト・Codeberg e.V.・Gitea プロジェクト・JetBrains のいずれとも提携しておらず、承認も受けていません。
ほかに:「No matching online runner with label」 · ワークフローを手で始められない · ジョブのログの期限切れ · IntelliJ IDEA・PyCharm で Forgejo・Gitea の Actions を見る方法の比較 · Forgejo・Gitea のトークンの権限 · English