officer 39f2d0c7ed use Gitea's public health endpoint to check the URL
/api/v1/version is not reliably public — an instance with REQUIRE_SIGNIN_VIEW
answers 403 — so naming a perfectly good URL was refused with "the server
answered 403" and whoever typed it had nothing to act on.

/api/healthz is Gitea's own health endpoint and answers before any
authentication, which is the whole point of it. Tried first, with version as
the fallback.

A 401 or 403 from either now counts as reachable. This step only asks whether
there is a Gitea at the address; whether the caller may READ it is the token
step's question, and failing here for that reason sends people looking for the
wrong problem.
2026-08-19 10:38:30 +00:00
2026-08-19 08:48:31 +00:00

Gitea

Your own Gitea inside Officer — repositories, issues and pull requests, rendered as the real thing rather than a copy of it.

What you get

Gitea's own web interface, in an Officer panel. Not a reimplementation: the actual application, proxied through Officer so it stays signed in, with an open in a new tab button for anything the frame handles badly.

Requirements

A Gitea instance Officer can reach.

Setup

Install the plugin, open /gitea, and set the instance URL and an API token in the connection panel. Then sign in to Gitea inside the frame, once — the frame shows your Gitea account, not the owner's.

The stored token is used only for the small things around the frame. Everything you see in it is your own session.

For agents

This plugin ships an affordance: use plain git for clone, fetch, pull and push; use tea for pull requests, issues, comments and releases. tea is logged in as you, with your permissions.

Permissions

One permission, gitea, grantable per role like any other app permission. Each account reaches its own Gitea identity.

S
Description
Gitea in Officer — repositories, issues and pull requests
Readme
2.2 MiB
Languages
TypeScript 100%