Sign in
Docs
API referenceCoordinator

API reference

Submit a gate report

Have a token? Manage tokens in the console
POST
/v1/coordinator/jobs/{job_id}/gate-report

A runner's signed gate report on a build job's PR: the command it ran, its exit code, the PR head and the main commit it was merged with. Fenced by the job's lease like a turn report; the same report again answers duplicate. It records evidence and asks the job's next gate; the command's output never reaches the coordinator.

Needs scope coordinator:runner and coordinator:write.

Authorization

bearer
headerAuthorizationBearer <JWT>

An access token from the identity provider: a person's, or a customer's from the client credentials grant with an API key (developers.inorbit.hr). The gateway verifies it; the audience is iohr-api.

Path Parameters

job_id*string

The job's id, job_ and a ULID.

Request Body

iohr.coordinator.v1.SubmitGateReportRequest; path variables override their fields

application/json
  1. body

iohr.coordinator.v1.SubmitGateReportRequest

account_id?string
command?string
exit_code?integer
Formatint32
fencing_token?string
Formatint64
head?string
job_id?string
lease_id?string
main_commit?string
output_sha256?string
runner_id?string
signature?string
Formatbyte

Response Body

iohr.coordinator.v1.SubmitGateReportResponse

application/json
  1. response

iohr.coordinator.v1.SubmitGateReportResponse

duplicate*boolean
evidence_id*string
job?

iohr.coordinator.v1.Job

transition?

iohr.coordinator.v1.Transition

import { ApiError, Public } from "@inorbithr/sdk";// Reads INORBIT_TOKEN, or INORBIT_KEY_ID and INORBIT_KEY_SECRET.const api = Public.fromEnv();try {  const { value } = await api.coordinator.submitGateReport("<job_id>", {    command: "<command>",    head: "<head>",    main_commit: "<main_commit>",    output_sha256: "<output_sha256>",  });  console.log(value);} catch (e) {  if (!(e instanceof ApiError)) throw e;  console.error(`${e.code}: ${e.problem} (request id ${e.raw.requestId})`);  process.exitCode = 1;}

npm install @inorbithr/sdk. Calls the package's public surface; an operation newer than your package needs the next release or a client generated for your account. The SDKs.

Example Response
{  "duplicate": true,  "evidence_id": "string",  "job": {    "account_id": "string",    "await_deadline": "string",    "await_escalation": "string",    "await_kind": "string",    "brief": "string",    "brief_sha256": "string",    "compliance": {      "evidence_id": "string",      "needed": "string",      "paths_observed": true,      "pull_request": "string",      "pull_request_state": "string",      "reasons": [        "string"      ],      "repository": "string",      "required": true,      "verified": true    },    "created_at": "string",    "created_by": "string",    "document_id": "string",    "hold_ask": "string",    "hold_reason": "string",    "job_id": "string",    "kind": "string",    "lease_id": "string",    "mode": "string",    "model": "string",    "model_override_reason": "string",    "parent_job_id": "string",    "paused_from": "string",    "priority": 0,    "repository": "string",    "retried": true,    "retry_at": "string",    "runner_labels": [      "string"    ],    "stage": "string",    "state": "string",    "supersedes": "string",    "tags": [      "string"    ],    "thread_id": "string",    "token_budget": 0,    "trust_tier": "string",    "updated_at": "string",    "usage": {      "cache_read_tokens": "string",      "cache_write_tokens": "string",      "done_job_tokens": "string",      "reports": 0,      "tokens_in": "string",      "tokens_out": "string",      "total_tokens": "string"    },    "user": "string"  },  "transition": {    "actor": "string",    "checks": [      {        "check": "string",        "detail": "string",        "evidence": [          "string"        ],        "outcome": "string"      }    ],    "compensation": [      "string"    ],    "created_at": "string",    "detail": "string",    "evidence": [      "string"    ],    "from_mode": "string",    "from_stage": "string",    "gate": "string",    "job_id": "string",    "kind": "string",    "ledger_hash": "string",    "outcome": "string",    "reason": "string",    "request": "string",    "seq": 0,    "to_mode": "string",    "to_stage": "string"  }}