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
401 Unauthenticated
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