REST API

Note

This page is a work-in-progress as the OpenAPI spec is not yet complete.

GET /api

Example request:

GET /api HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK – Response not yet documented

GET /api/authorizations

Example request:

GET /api/authorizations HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK – Response not yet documented

GET /api/components

Example request:

GET /api/components HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK – Response not yet documented

GET /api/connections

Example request:

GET /api/connections HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK – Response not yet documented

GET /api/info

Example request:

GET /api/info HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK – Response not yet documented

GET /api/tenant/{tenant_name}/authorizations
Parameters:
  • tenant_name (string) –

Example request:

GET /api/tenant/{tenant_name}/authorizations HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK – Response not yet documented

GET /api/tenant/{tenant_name}/autohold
Parameters:
  • tenant_name (string) –

Example request:

GET /api/tenant/{tenant_name}/autohold HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK – Response not yet documented

DELETE /api/tenant/{tenant_name}/autohold/{request_id}
Parameters:
  • tenant_name (string) –

  • request_id (string) –

Status Codes:
  • 200 OK – Response not yet documented

GET /api/tenant/{tenant_name}/autohold/{request_id}
Parameters:
  • tenant_name (string) –

  • request_id (string) –

Example request:

GET /api/tenant/{tenant_name}/autohold/{request_id} HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK – Response not yet documented

GET /api/tenant/{tenant_name}/badge

Get a badge describing the result of the latest buildset found.

Parameters:
  • tenant_name (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_name}/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_name}/build-times
Parameters:
  • tenant_name (string) –

Query Parameters:
  • project (string) –

  • pipeline (string) –

  • branch (string) –

  • ref (string) –

  • job_name (string) –

  • final (string) –

  • start_time (string) –

  • end_time (string) –

  • limit (string) –

  • skip (string) –

  • exclude_result (string) –

Example request:

GET /api/tenant/{tenant_name}/build-times HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK – Response not yet documented

GET /api/tenant/{tenant_name}/build/{uuid}
Parameters:
  • tenant_name (string) –

  • uuid (string) –

Example request:

GET /api/tenant/{tenant_name}/build/{uuid} HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK – Response not yet documented

GET /api/tenant/{tenant_name}/builds

List the executed builds

Parameters:
  • tenant_name (string) –

Query Parameters:
  • project (string) –

  • pipeline (string) –

  • change (string) –

  • branch (string) –

  • patchset (string) –

  • ref (string) –

  • newrev (string) –

  • uuid (string) –

  • job_name (string) –

  • voting (string) –

  • nodeset (string) –

  • result (string) –

  • final (string) –

  • held (string) –

  • complete (string) –

  • limit (string) –

  • skip (string) –

  • idx_min (string) –

  • idx_max (string) –

  • exclude_result (string) –

Example request:

GET /api/tenant/{tenant_name}/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
    
    [
        {
            "_id": "string",
            "artifacts": [
                {
                    "metadata": {},
                    "name": "string",
                    "url": "string"
                }
            ],
            "duration": "string",
            "end_time": "string",
            "error_detail": "string",
            "final": "string",
            "held": "string",
            "job_name": "string",
            "log_url": "string",
            "nodeset": "string",
            "provides": [
                {
                    "name": "string"
                }
            ],
            "ref": {
                "branch": "string",
                "change": "string",
                "newrev": "string",
                "oldrev": "string",
                "patchset": "string",
                "project": "string",
                "ref": "string",
                "ref_url": "string"
            },
            "result": "string",
            "start_time": "string",
            "uuid": "string",
            "voting": "string"
        }
    ]
    

  • 404 Not Found – Tenant not found

GET /api/tenant/{tenant_name}/buildset/{uuid}
Parameters:
  • tenant_name (string) –

  • uuid (string) –

Example request:

GET /api/tenant/{tenant_name}/buildset/{uuid} HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK – Response not yet documented

GET /api/tenant/{tenant_name}/buildsets
Parameters:
  • tenant_name (string) –

Query Parameters:
  • project (string) –

  • pipeline (string) –

  • change (string) –

  • branch (string) –

  • patchset (string) –

  • ref (string) –

  • newrev (string) –

  • uuid (string) –

  • result (string) –

  • complete (string) –

  • limit (string) –

  • skip (string) –

  • idx_min (string) –

  • idx_max (string) –

Example request:

GET /api/tenant/{tenant_name}/buildsets HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK

    Returns the list of buildsets

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    [
        {
            "_id": "string",
            "event_id": "string",
            "event_timestamp": "string",
            "first_build_start_time": "string",
            "last_build_end_time": "string",
            "message": "string",
            "pipeline": "string",
            "refs": [
                {
                    "branch": "string",
                    "change": "string",
                    "newrev": "string",
                    "oldrev": "string",
                    "patchset": "string",
                    "project": "string",
                    "ref": "string",
                    "ref_url": "string"
                }
            ],
            "result": "string",
            "uuid": "string"
        }
    ]
    

  • 404 Not Found – Tenant not found

GET /api/tenant/{tenant_name}/config-errors
Parameters:
  • tenant_name (string) –

Query Parameters:
  • project (string) –

  • branch (string) –

  • severity (string) –

  • name (string) –

  • limit (string) –

  • skip (string) –

Example request:

GET /api/tenant/{tenant_name}/config-errors HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK – Response not yet documented

GET /api/tenant/{tenant_name}/console-stream
Parameters:
  • tenant_name (string) –

Example request:

GET /api/tenant/{tenant_name}/console-stream HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK – Response not yet documented

GET /api/tenant/{tenant_name}/info
Parameters:
  • tenant_name (string) –

Example request:

GET /api/tenant/{tenant_name}/info HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK – Response not yet documented

GET /api/tenant/{tenant_name}/job/{job_name}
Parameters:
  • tenant_name (string) –

  • job_name (string) –

Example request:

GET /api/tenant/{tenant_name}/job/{job_name} HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK – Response not yet documented

GET /api/tenant/{tenant_name}/jobs
Parameters:
  • tenant_name (string) –

Example request:

GET /api/tenant/{tenant_name}/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",
            "tags": [
                "string"
            ],
            "variants": [
                {
                    "branches": [
                        "string"
                    ],
                    "parent": "string"
                }
            ]
        }
    ]
    

  • 404 Not Found – Tenant not found

GET /api/tenant/{tenant_name}/key/{project_name}.pub
Parameters:
  • tenant_name (string) –

  • project_name (string) –

Example request:

GET /api/tenant/{tenant_name}/key/{project_name}.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_name}/labels
Parameters:
  • tenant_name (string) –

Example request:

GET /api/tenant/{tenant_name}/labels HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK – Response not yet documented

GET /api/tenant/{tenant_name}/nodes
Parameters:
  • tenant_name (string) –

Example request:

GET /api/tenant/{tenant_name}/nodes HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK – Response not yet documented

GET /api/tenant/{tenant_name}/pipeline/{pipeline_name}/project/{project_name}/branch/{branch_name}/freeze-job/{job_name}
Parameters:
  • tenant_name (string) –

  • pipeline_name (string) –

  • project_name (string) –

  • branch_name (string) –

  • job_name (string) –

Example request:

GET /api/tenant/{tenant_name}/pipeline/{pipeline_name}/project/{project_name}/branch/{branch_name}/freeze-job/{job_name} HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK – Response not yet documented

GET /api/tenant/{tenant_name}/pipeline/{pipeline_name}/project/{project_name}/branch/{branch_name}/freeze-jobs
Parameters:
  • tenant_name (string) –

  • pipeline_name (string) –

  • project_name (string) –

  • branch_name (string) –

Example request:

GET /api/tenant/{tenant_name}/pipeline/{pipeline_name}/project/{project_name}/branch/{branch_name}/freeze-jobs HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK – Response not yet documented

GET /api/tenant/{tenant_name}/pipelines
Parameters:
  • tenant_name (string) –

Example request:

GET /api/tenant/{tenant_name}/pipelines HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK – Response not yet documented

GET /api/tenant/{tenant_name}/project-ssh-key/{project_name}.pub
Parameters:
  • tenant_name (string) –

  • project_name (string) –

Example request:

GET /api/tenant/{tenant_name}/project-ssh-key/{project_name}.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_name}/project/{project_name}
Parameters:
  • tenant_name (string) –

  • project_name (string) –

Example request:

GET /api/tenant/{tenant_name}/project/{project_name} HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK – Response not yet documented

GET /api/tenant/{tenant_name}/project/{project_name}/autohold
Parameters:
  • tenant_name (string) –

  • project_name (string) –

Example request:

GET /api/tenant/{tenant_name}/project/{project_name}/autohold HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK – Response not yet documented

POST /api/tenant/{tenant_name}/project/{project_name}/autohold
Parameters:
  • tenant_name (string) –

  • project_name (string) –

Status Codes:
  • 200 OK – Response not yet documented

GET /api/tenant/{tenant_name}/project/{project_name}/dequeue
Parameters:
  • tenant_name (string) –

  • project_name (string) –

Example request:

GET /api/tenant/{tenant_name}/project/{project_name}/dequeue HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK – Response not yet documented

GET /api/tenant/{tenant_name}/project/{project_name}/enqueue
Parameters:
  • tenant_name (string) –

  • project_name (string) –

Example request:

GET /api/tenant/{tenant_name}/project/{project_name}/enqueue HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK – Response not yet documented

GET /api/tenant/{tenant_name}/projects
Parameters:
  • tenant_name (string) –

Example request:

GET /api/tenant/{tenant_name}/projects HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK – Response not yet documented

GET /api/tenant/{tenant_name}/promote
Parameters:
  • tenant_name (string) –

Example request:

GET /api/tenant/{tenant_name}/promote HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK – Response not yet documented

GET /api/tenant/{tenant_name}/semaphores
Parameters:
  • tenant_name (string) –

Example request:

GET /api/tenant/{tenant_name}/semaphores HTTP/1.1
Host: example.com
Status Codes:
GET /api/tenant/{tenant_name}/status

Return the tenant status. Note: the output format is not currently documented and subject to change without notice.

Parameters:
  • tenant_name (string) –

Example request:

GET /api/tenant/{tenant_name}/status HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK – Response not yet documented

GET /api/tenant/{tenant_name}/status/change/{change}

Return the status for a single change. Note: the output format is not currently documented and subject to change without notice.

Parameters:
  • tenant_name (string) –

  • change (string) –

Example request:

GET /api/tenant/{tenant_name}/status/change/{change} HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK – Response not yet documented

GET /api/tenant/{tenant_name}/tenant-status
Parameters:
  • tenant_name (string) –

Example request:

GET /api/tenant/{tenant_name}/tenant-status HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK – Response not yet documented

GET /api/tenants

Example request:

GET /api/tenants 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
    
    [
        {
            "name": "string",
            "projects": 1,
            "queue": 1
        }
    ]
    

  • 404 Not Found – Tenant not found