DevOps & Code
Connect Gitea
Reads repositories, pull requests, releases, and CI-workflow presence from a self-hosted (or gitea.com) Gitea instance — GitHub-style API — to feed Delivery Health (PR lead time) and Technical Debt (legacy-code + test debt).
What it pulls
Accessible repositories (active/stale by last update), pull requests (open + merged 30d + merge cycle time), releases, and CI-workflow presence (.gitea/workflows or .github/workflows) across a repo sample. Gitea exposes no vulnerability-scan API, so Security Readiness is omitted rather than faked.
What you’ll enter
The exact fields the connect form asks for — and where to find each value.
- Gitea hostoptional
- Leave blank for the public gitea.com. Self-hosted: your instance root like https://gitea.example.com — NOT a repository or org URL.
- Access token (read-only)
- Gitea → Settings → Applications → Generate New Token → select read scopes (repository, user, organization) → Generate → copy the value (shown once).
Step-by-step setup
- 1
Open Applications settings
Use the link above (gitea.com), or on self-hosted Gitea: your avatar → Settings → Applications → Manage Access Tokens.
- 2
Generate a read-only token
Under “Generate New Token”, name it “ShipReady Metrics”, then select READ scopes for repository, user, and organization (Gitea 1.20+ has granular scopes). Click Generate Token.
- 3
Copy the token
Copy the token value now — Gitea shows it only once.
- 4
Set the host correctly
For gitea.com, LEAVE the Gitea host field blank. For self-hosted, use the instance ROOT (e.g. https://gitea.example.com) — NOT a repository or org URL, which redirects to a web page and fails.
- 5
Paste the token and connect
Enter the token in Access token (read-only) and click Connect. We validate it live against the Gitea API, encrypt it at rest, and run the first sync.
Troubleshooting
- “did not return JSON” / a host error.
- Leave the host blank for the public gitea.com, or use your instance ROOT (https://gitea.example.com) — not a repository or org URL, which redirects to a web page and fails.
- Token rejected (401).
- Create the token under Settings → Applications → Generate New Token with read scopes (repository, user, organization), and paste the value — Gitea shows it only once.
Connect with a read-only token — validated live against the Gitea API, encrypted at rest, then synced. Token connect + sync implemented and mocked-fetch tested against the Gitea 1.x API; full ingestion runs once a token is provided.