Expose the runner UUID in the REST API, GraphQL, and job details
What does this MR do and why?
Expose the runner UUID in the REST API, GraphQL, and job details
Since !241155 (merged) every runner has a UUID, but it is visible only in the job payload, Runner logs and the job trace. Expose it, read-only, wherever runner details are returned, so users can match a runner in GitLab with what they see in Runner logs and job traces.
In the REST API the attribute comes from a new RunnerWithUuid entity, used only by the runner endpoints. The base runner entity is nested in other APIs, such as jobs and deployments, and is guarded against growth, so those responses stay unchanged.
The GraphQL field is non-nullable because the column is NOT NULL. The job details JSON also gets the UUID. It is gated by job read access, which is the same audience that already sees the UUID in the job trace.
The model marks the UUID as read-only, so it can't change after the runner is created, whatever an API caller sends.
Committed by an AI agent on behalf of and under the supervision of a human
Changelog: added
References
Screenshots or screen recordings
| Before | After |
|---|---|
How to set up and validate locally
MR acceptance checklist
Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.