Commit e98a837815

e98a837815cc55c15380a134ab12b523b9af746a

parent: e6f9e31742

Verified · cmc

cmc <hello@cleberg.net> · 2026-08-31 20:14 UTC

Parity, API: merge request timing and resolution

Reviews and checks report when they last changed, ci/<job> checks
report how long the build ran, and a resolved merge request names who
merged or closed it and when. krz/gitbay!137, krz/gitbay-ios!37.

Layout: unified · split

API.org +3 −1
@@ -107,7 +107,9 @@ gitbay status list <owner/name> <sha> --json # {"combined": "...", "statuses"
107107One row per (commit, context): re-reporting updates in place. States:
108108=pending=, =success=, =failure=, =error=; the combined state is the
109109worst of them. Statuses appear on commit pages, MR pages, and
110=mr show=. With =repo settings require-checks <repo> on=, merging
110=mr show=, each with =updated_at=; a =ci/<job>= status also carries
111=duration=, read from the build behind it, once that build has
112finished. With =repo settings require-checks <repo> on=, merging
111113requires the MR head to carry statuses and all of them green. Each
112114report also emits a =status= event to webhooks.
113115
Parity.org +11
@@ -30,6 +30,8 @@ browser-only and the iOS build screen unable to say more than the log.
3030| capability | cli | web | ios |
3131|------------------------+-----+-----+-----|
3232| read, diff, commits | yes | yes | yes |
33| review and check times | yes | yes | yes |
34| who resolved it, when | yes | yes | yes |
3335| comment | yes | yes | yes |
3436| edit title and body | yes | yes | yes |
3537| review (approve etc.) | yes | yes | yes |
@@ -43,6 +45,15 @@ browser-only and the iOS build screen unable to say more than the log.
4345| milestone | yes | yes | yes |
4446| choose body markup | yes | no | no |
4547
48Reviews and checks carry the time they last said something, and a
49=ci/<job>= check carries how long its build ran, so a merge request
50reads without opening the build. Statuses posted through =status set=
51have no build and report only the time. A merged or closed merge
52request names who resolved it and when; a row without that stamp — a
53=migrate= import, or one merged before krz/gitbay!137 with no
54=mr.merged= event to backfill from — says neither rather than
55inventing a time.
56
4657Creating from a fork works anywhere the source can be typed as
4758=owner/name:branch=; only the web lacks it. Retargeting moves an open
4859merge request onto another branch of the same repository and stales the