REST API
Note
This page is a work-in-progress as the OpenAPI spec is not yet complete.
- GET /api/tenant/{tenant}/badge
- Get a badge describing the result of the latest buildset found. - Parameters:
- tenant (string) – The tenant name 
 
- Query Parameters:
- project (string) – A project name 
- pipeline (string) – A pipeline name 
- branch (string) – A branch name 
 
 - Example request: - GET /api/tenant/{tenant}/badge HTTP/1.1 Host: example.com - Status Codes:
- 200 OK – Badge describing the result of the latest buildset found. 
- 404 Not Found – No buildset found 
 
 
- GET /api/tenant/{tenant}/builds
- List the executed builds - Parameters:
- tenant (string) – The tenant name 
 
- Query Parameters:
- project (string) – A project name 
- pipeline (string) – A pipeline name 
- job_name (string) – A job name 
- branch (string) – A branch name 
- change (string) – A change number 
- patchset (string) – A patchset number 
- ref (string) – A ref 
- newrev (string) – A new revision hash 
- uuid (string) – A build uuid 
- voting (string) – A build voting status 
- result (string) – A build result 
- limit (string) – The limit count (default 50) 
- skip (string) – Skip number of results 
 
 - Example request: - GET /api/tenant/{tenant}/builds HTTP/1.1 Host: example.com - Status Codes:
- 200 OK – - Returns the list of builds - Example response: - HTTP/1.1 200 OK Content-Type: application/json [ { "branch": "string", "change": 1, "duration": 1, "end_time": "string", "job_name": "string", "log_url": "string", "newrev": "string", "patchset": 1, "pipeline": "string", "project": "string", "ref": "string", "ref_url": "string", "result": "string", "start_time": "string", "uuid": "string", "voting": true } ] 
- 404 Not Found – Tenant not found 
 
 
- GET /api/tenant/{tenant}/buildsets
- List the executed builds - Parameters:
- tenant (string) – The tenant name 
 
- Query Parameters:
- project (string) – A project name 
- pipeline (string) – A pipeline name 
- branch (string) – A branch name 
- change (string) – A change number 
- patchset (string) – A patchset number 
- ref (string) – A ref 
- newrev (string) – A new revision hash 
- uuid (string) – A buildset uuid 
- result (string) – A buildset result 
- limit (string) – The limit count (default 50) 
- skip (string) – Skip number of results 
 
 - Example request: - GET /api/tenant/{tenant}/buildsets HTTP/1.1 Host: example.com - Status Codes:
- 200 OK – - Returns the list of builds - Example response: - HTTP/1.1 200 OK Content-Type: application/json [ { "project": "string", "event_id": "string", "uuid": "string", "branch": "string", "ref_url": "string", "newrev": "string", "result": "string", "change": 1, "patchset": 1, "ref": "string", "pipeline": "string", "message": {} } ] 
- 404 Not Found – Tenant not found 
 
 
- GET /api/tenant/{tenant}/jobs
- List available jobs - Parameters:
- tenant (string) – The tenant name 
 
 - Example request: - GET /api/tenant/{tenant}/jobs HTTP/1.1 Host: example.com - Status Codes:
- 200 OK – - Returns the list of jobs - Example response: - HTTP/1.1 200 OK Content-Type: application/json [ { "description": "string", "name": "string" } ] 
- 404 Not Found – Tenant not found 
 
 
- GET /api/tenant/{tenant}/key/{project}.pub
- Get a project public key that is used to encrypt secrets - Parameters:
- tenant (string) – The tenant name 
- project (string) – The project name 
 
 - Example request: - GET /api/tenant/{tenant}/key/{project}.pub HTTP/1.1 Host: example.com - Status Codes:
- 200 OK – - Returns the project public key that is used to encrypt secrets - Example response: - HTTP/1.1 200 OK Content-Type: text/plain -----BEGIN PUBLIC KEY----- MIICI... -----END PUBLIC KEY----- 
- 404 Not Found – Tenant or Project not found 
 
 
- GET /api/tenant/{tenant}/project-ssh-key/{project}.pub
- Get a project public key that is used for SSH in post-merge pipelines - Parameters:
- tenant (string) – The tenant name 
- project (string) – The project name 
 
 - Example request: - GET /api/tenant/{tenant}/project-ssh-key/{project}.pub HTTP/1.1 Host: example.com - Status Codes:
- 200 OK – - Returns the project public key that executor adds to SSH agent - Example response: - HTTP/1.1 200 OK Content-Type: text/plain ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACA 
- 404 Not Found – Tenant or Project not found 
 
 
- GET /api/tenant/{tenant}/semaphores
- List available semaphores - Parameters:
- tenant (string) – The tenant name 
 
 - Example request: - GET /api/tenant/{tenant}/semaphores HTTP/1.1 Host: example.com - Status Codes:
- 200 OK – - Returns the list of semaphores - Example response: - HTTP/1.1 200 OK Content-Type: application/json [ { "name": "string", "global": true, "max": 1, "holders": { "count": 1, "this_tenant": [ { "buildset_uuid": "string", "job_name": "string" } ], "other_tenants": 1 } } ] 
- 404 Not Found – Tenant not found 
 
 
- GET /api/tenant/{tenant}/status
- Get tenant status - Parameters:
- tenant (string) – The tenant name 
 
 - Example request: - GET /api/tenant/{tenant}/status HTTP/1.1 Host: example.com - Status Codes:
- 200 OK – - Returns the list of tenants - Example response: - HTTP/1.1 200 OK Content-Type: application/json { "last_reconfigured": 1, "pipelines": [ { "change_queues": [ { "heads": [ [ { "active": true, "enqueue_time": 1, "failing_reasons": [ "string" ], "id": "string", "item_ahead": "string", "items_behind": [ "string" ], "jobs": [ { "canceled": true, "elapsed_time": 1, "launch_time": 1, "name": "string", "number": 1, "pipeline": "string", "remaining_time": 1, "result": "string", "retry": 1, "start_time": 1, "url": "string", "uuid": "string", "voting": true, "worker": { "fqdn": "string", "hostname": "string", "ips": [ "string" ], "name": "string", "program": "string", "version": "string" } } ], "live": true, "owner": "string", "project": "string", "remaining_time": 1, "url": "string", "zuul_ref": "string" } ] ], "name": "string", "window": 1 } ], "description": "string", "name": "string" } ], "trigger_event_queue": 1, "zuul_version": "string" } 
- 404 Not Found – Tenant not found