Badges
evalship serves README badges with live eval results from your default branch. They have the same shape as shields.io badges, so they fit in an existing badge row.
Badge URLs
| URL | Shows |
|---|---|
https://evalship.com/gh/OWNER/REPO/badge.svg |
evalship | 46 / 48 |
https://evalship.com/gh/OWNER/REPO/badge/pass-rate.svg |
evalship | 95% (rounded down) |
https://evalship.com/gh/OWNER/REPO/badge/reviewed.svg |
evalship | reviewed for 90 days after the latest audit was claimed, else not reviewed |
Query parameters (branch and suite apply to the first two badges):
| Parameter | Effect |
|---|---|
?branch=release |
Results from that branch instead of the default branch. |
?suite=support_bot |
Results for one suite. The label becomes evalship: support_bot. |
?format=shields |
Returns shields.io endpoint JSON instead of SVG. |
?token=... |
Required for private repositories. |
Colors
| Color | When |
|---|---|
| Green | Every case passes. |
| Yellow | Some cases fail, but either all of them are flaky or the pass rate is at least 90%. |
| Red | Otherwise. |
Grey, no data |
No results for the branch or suite yet, an unknown repository, or a private repository without a valid token. |
Grey, stale |
The latest run on the branch is more than 14 days old. |
With ?suite=, flakiness isn't taken into account: a suite badge is yellow only at a pass rate of 90% or more. See How PR analysis works for how flaky cases are detected.
Snippets
Markdown:
[](https://evalship.com/gh/OWNER/REPO)
HTML:
<a href="https://evalship.com/gh/OWNER/REPO"><img src="https://evalship.com/gh/OWNER/REPO/badge.svg" alt="evalship"></a>
reStructuredText:
.. image:: https://evalship.com/gh/OWNER/REPO/badge.svg
:target: https://evalship.com/gh/OWNER/REPO
The report page for your repository has these snippets ready to copy, with the token included for private repositories. The setup prompt offers to add the Markdown badge next to your existing badges.
shields.io styling
To render the badge in another shields.io style, point the shields.io endpoint badge at the ?format=shields URL. The response looks like this:
{ "schemaVersion": 1, "label": "evalship", "message": "46 / 48", "color": "dfb317" }
URL-encode the evalship URL in the url parameter:
[](https://evalship.com/gh/OWNER/REPO)
Private repositories
Badges for private repositories need ?token=<badge token>. Without a valid token the badge shows no data, the same as for a repository that doesn't exist, so the badge doesn't reveal whether the repository is connected.
Copy the badge with its token from the report page. To revoke a token, use "Rotate badge token" in the repository's settings on evalship; badges with the old token show no data until you update them. If you use the shields.io endpoint, shields.io sees the token in the URL.
Caching
Badges are cached for 5 minutes (Cache-Control: max-age=300) and carry an ETag, so clients that revalidate get 304 Not Modified when nothing changed. Badges for public repositories are publicly cacheable; badges for private repositories are marked private. GitHub also caches README images through its own image proxy.