跳转至

查询指定 Runner Group 下的所有主机 Runner

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

用户调用此接口,查询指定 Runner Group 下的所有主机 Runner。

访问令牌支持说明

  • AtomGit 用户访问令牌(AtomGit user access tokens)

是否允许匿名访问

此接口不允许匿名访问

请求参数

参数名 位置 类型 必填 说明
org path string 是 组织路径
runner_group_id path string 是 Runner Group ID
access_token query string 是 用户授权码
keyword query string 否 关键字过滤
page query integer 否 当前页码,默认 1
per_page query integer 否 每页的项目数,默认 10

响应参数

字段 类型 必返 可为空 说明
total_count integer 是 否 Runner 总数
runners object[] 是 否 Runner 列表

runners 对象

字段 类型 必返 可为空 说明
runners.id string — — Runner ID
runners.runner_group_id string — — Runner Group ID
runners.runner_name string — — Runner 名称
runners.name string — — 名称
runners.work_dir string — — 工作目录
runners.labels object[] — — 标签列表
runners.status string — — 状态,枚举:IDLE / BUSY / OFFLINE / DISABLE
runners.create_time integer — — 创建时间
runners.update_time integer — — 更新时间
runners.memory number — — 内存使用率(%)
runners.disk number — — 可用硬盘(GB)

runners.labels 对象

字段 类型 必返 可为空 说明
runners.labels.label_name string — — 标签名称
runners.labels.label_value string — — 标签值
runners.labels.label_color string — — 标签颜色

失败响应

400 参数错误

{
  "error": "invalid_request",
  "message": "参数 runner_group_id 不能为空",
  "field": "runner_group_id"
}

401 未认证

{
  "error": "unauthorized",
  "message": "缺少或无效的访问令牌"
}

404 资源不存在

{
  "error": "not_found",
  "message": "指定的 Runner Group 不存在"
}

错误字段名以后端实际返回为准。

HTTP 响应状态码

状态码 说明
200 成功(OK)
400 参数错误或请求无法解析
401 需要认证(Requires authentication)
404 请求的资源不存在
500 系统内部错误

请求示例

参数说明

<org> 替换为组织路径名(企业、组织或个人的地址 path);<runner_group_id> 替换为 Runner Group ID;<token> 替换为你的 AtomGit 用户访问令牌。

cURL

curl -X GET 'https://api.atomgit.com/api/v8/orgs/<org>/actions/runner-groups/<runner_group_id>/runners?access_token=<token>&keyword=<keyword>&page=1&per_page=10' \
  -H 'Accept: application/json'

JavaScript

// 原生 fetch (Node.js 18+ / 浏览器)
const params = new URLSearchParams({
  access_token: "<YOUR-TOKEN>",
  keyword: "build",
  page: "1",
  per_page: "10",
});

const response = await fetch(
  `https://api.atomgit.com/api/v8/orgs/<org>/actions/runner-groups/<runner_group_id>/runners?${params}`,
  {
    headers: { "Accept": "application/json" },
  }
);

if (!response.ok) {
  throw new Error(`请求失败: ${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>/runners",
    params={
        "access_token": "<YOUR-TOKEN>",
        "keyword": "build",
        "page": 1,
        "per_page": 10,
    },
    headers={"Accept": "application/json"},
    timeout=10,
)
resp.raise_for_status()

print(resp.json())

响应示例

状态码: 200

{
  "total_count": 0,
  "runners": [
    {
      "id": "string",
      "runner_group_id": "string",
      "runner_name": "string",
      "name": "string",
      "work_dir": "string",
      "labels": [
        {
          "label_name": "string",
          "label_value": "string",
          "label_color": "string"
        }
      ],
      "status": "IDLE",
      "create_time": 0,
      "update_time": 0,
      "memory": 0,
      "disk": 0
    }
  ]
}

错误码

错误码 说明
400 参数错误或请求无法解析
401 未认证或凭证无效(缺少/无效的访问凭证)
404 请求路径不存在
500 系统内部错误

本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 gitcode-dev/atomgit-api-doc