Skip to content

Query all K8S runners under the specified runner group

GET /api/v8/orgs/{org}/actions/runner-groups/{runner_group_id}/runner-sets

Query all K8S runners under the specified runner group.

Access token support

  • AtomGit user access tokens

Anonymous access

This endpoint does not allow anonymous access.

Request parameters

Parameter Location Type Required Description
org path string Yes Organization path
runner_group_id path string Yes Runner Group ID
access_token query string Yes User authorization code
keyword query string No Keyword filter
page query integer No Current page number, default 1
per_page query integer No Number of items per page, default 10

Response parameters

Field Type Always returned Nullable Description
total_count integer Yes — RunnerSet total
runner_sets object[] Yes — RunnerSet list

runner_sets object

Field Type Always returned Nullable Description
runner_sets[].id string Yes — RunnerSet ID
runner_sets[].runner_group_id string Yes — Runner Group ID
runner_sets[].name string Yes — Name
runner_sets[].status string Yes — State, using in use / wait_release releasing
runner_sets[].required_labels object[] Yes — Required labels
runner_sets[].min_runner_size integer Yes — Minimum runner count
runner_sets[].max_runner_size integer Yes — Maximum runner count
runner_sets[].limit_cpu integer Yes — CPU limit
runner_sets[].limit_memory integer Yes — Memory limit
runner_sets[].image_name string Yes — Image name
runner_sets[].user_k8s_cluster_id string Yes — User K8S cluster ID
runner_sets[].user_k8s_cluster_name string Yes — User K8S cluster name
runner_sets[].user_k8s_resource_type string Yes — User K8S resource type
runner_sets[].user_k8s_cluster_namespace string Yes — User K8S namespace
runner_sets[].user_k8s_url string Yes — User K8S address
runner_sets[].create_time integer Yes — Creation time
runner_sets[].update_time integer Yes — Update time
runner_sets[].user_id string Yes — User ID
runner_sets[].user_name string Yes — Username
runner_sets[].user_project_id string Yes — User project ID

runner_sets[].required_labels object

Field Type Always returned Nullable Description
runner_sets[].required_labels[].label_name string Yes — Label name
runner_sets[].required_labels[].label_value string Yes — Label value
runner_sets[].required_labels[].label_color string Yes — Label color

Error responses

The following are examples of failure responses this endpoint may return (the actual error field names returned by the backend take precedence).

400 Invalid parameters

{
  "error": "invalid_request",
  "message": "Invalid parameters or the request could not be parsed"
}

401 Unauthenticated

{
  "error": "unauthorized",
  "message": "Missing or invalid access token"
}

HTTP response status codes

Status code Description
200 Success (OK)
304 Not modified
401 Requires authentication
403 Forbidden

Request example

The following example shows how to call this endpoint.

Parameter notes

<org> is replaced with the organization path (path); <runner_group_id> is replaced with the runner group ID; <token> is replaced with your AtomGit user access token.

cURL

curl -X GET 'https://api.atomgit.com/api/v8/orgs/<org>/actions/runner-groups/<runner_group_id>/runner-sets?access_token=<token>' \
  -H 'Accept: application/json'

JavaScript

// Native fetch (Node.js 18+ / browser)
const response = await fetch("https://api.atomgit.com/api/v8/orgs/<org>/actions/runner-groups/<runner_group_id>/runner-sets?access_token=<token>", {
  headers: {
    "Accept": "application/json",
  },
});

if (!response.ok) {
  throw new Error(`Request failed: ${response.status}`);
}

const data = await response.json();
console.log(data);

Python

import requests

resp = requests.get(
    "https://api.atomgit.com/api/v8/orgs/<org>/actions/runner-groups/<runner_group_id>/runner-sets",
    params={"access_token": "<token>"},
    headers={
        "Accept": "application/json",
    },
    timeout=10,
)
resp.raise_for_status()

print(resp.json())

Response example

Status code: 200

{
  "total_count": 0,
  "runner_sets": [
    {
      "id": "string",
      "runner_group_id": "string",
      "name": "string",
      "status": "string",
      "required_labels": [
        {
          "label_name": "string",
          "label_value": "string",
          "label_color": "string"
        }
      ],
      "min_runner_size": 0,
      "max_runner_size": 0,
      "limit_cpu": 0,
      "limit_memory": 0,
      "image_name": "string",
      "user_k8s_cluster_id": "string",
      "user_k8s_cluster_name": "string",
      "user_k8s_resource_type": "string",
      "user_k8s_cluster_namespace": "string",
      "user_k8s_url": "string",
      "create_time": 0,
      "update_time": 0,
      "user_id": "string",
      "user_name": "string",
      "user_project_id": "string"
    }
  ]
}

Error codes

Error code Description
401 Unauthenticated or invalid credentials (missing or invalid access token)
400 Invalid parameters or the request could not be parsed
404 The request path does not exist
405 The request method is not supported
429 Too many requests; rate limit triggered
500 Internal server error

Markdown source: View on AtomGit·Content from the open-source project gitcode-dev/atomgit-api-doc