跳转至

Actions

Actions 用于在仓库里运行流水线(workflow)。通过 API 可以手动触发与重跑流水线,查看运行记录、Job 与日志,管理构建产物(Artifact)以及执行任务的主机/K8S Runner。

本组接口的版本前缀是 /api/v8,不是其他分组的 /api/v5。

对象

对象 说明 相关接口
流水线(workflow) 仓库内的 workflow 定义,可手动触发、校验 YAML 获取仓库的流水线列表
运行记录(run) 每次运行的状态与详情,可停止、重跑、重试失败任务 获取流水线的运行详情
Job 运行内的任务单元,可单独查看详情 获取工作流运行的job详情
日志 Job 的 Step 级日志与整份日志下载 下载工作流运行的job日志
Artifact 运行产物:列出、详情、下载、删除 获取 Artifact 详情
主机 Runner 仓库自有的与分享给仓库的主机执行器 查询指定仓库下的所有主机 Runner
K8S Runner 仓库自有的与分享给仓库的 K8S 执行器 查询指定仓库下的所有 K8S Runner
Runner Group 组织级 Runner 分组及其成员、共享范围 查询指定组织下的所有 Runner Group

标识方式

  • 仓库级接口用 owner + repo;组织级 Runner 接口用 org。
  • workflow_id 标识流水线,run_id 标识一次运行,job_id 标识运行内的任务。
  • artifact_id 标识构建产物,runner_group_id 标识 Runner 分组。
  • 下载 Artifact 时路径里还要带 archive_format(如 zip)。

常见任务

注意事项

  • 版本前缀是 /api/v8:同一套文档里其他分组都是 /api/v5,照抄路径很容易拿不到接口。
  • 运行相关三个动作路径不同、语义不同:stop 停止当前运行,rerun 整体重跑,retry 只重试失败任务。
  • 手动触发流水线用的是 workflows/{workflow_id}/dispatches(复数 dispatches),与 workflows/validate 这类校验接口都在 workflows/ 下。
  • Step 级日志接口是 POST:POST .../runs/{run_id}/jobs/{job_id}/logs;整份日志下载才是 GET .../jobs/{job_id}/download_log。
  • Runner 分主机(runners)与 K8S(runner-sets)两套路径,另有「分享给仓库」的 shared-runners / shared-runner-sets。
  • 组织级 Runner 相关接口前缀是 /api/v8/orgs/{org}/actions/…,与仓库级 /api/v8/repos/{owner}/{repo}/actions/… 并列。

接口列表

本模块共 27 个接口。

# 接口 方法与路径 说明
1 停止运行中的流水线实例 POST /api/v8/repos/{owner}/{repo}/actions/runs/{run_id}/stop 用户调用此接口,进行停止运行中的流水线实例操作.
2 重试失败任务 POST /api/v8/repos/{owner}/{repo}/actions/runs/{run_id}/retry 用户调用此接口,进行重试失败任务操作.
3 重新运行流水线 POST /api/v8/repos/{owner}/{repo}/actions/runs/{run_id}/rerun 用户调用此接口,进行重新运行流水线操作.
4 手动运行流水线 POST /api/v8/repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches 用户调用此接口,进行手动运行流水线操作.
5 校验 Workflow YAML POST /api/v8/repos/{owner}/{repo}/actions/workflows/validate 用户调用此接口,进行校验 Workflow YAML操作.
6 获取仓库的流水线列表 GET /api/v8/repos/{owner}/{repo}/actions/workflows 用户调用此接口,进行获取仓库的流水线列表操作.
7 获取仓库所有的流水线的运行记录 GET /api/v8/repos/{owner}/{repo}/actions/runs 用户调用此接口,进行获取仓库所有的流水线的运行记录操作.
8 获取流水线的运行详情 GET /api/v8/repos/{owner}/{repo}/actions/runs/{run_id} 用户调用此接口,进行获取流水线的运行详情操作.
9 获取工作流运行的jobs列表 GET /api/v8/repos/{owner}/{repo}/actions/runs/{run_id}/jobs 用户调用此接口,进行获取工作流运行的jobs列表操作.
10 获取工作流运行的job详情 GET /api/v8/repos/{owner}/{repo}/actions/runs/{run_id}/jobs/{job_id} 用户调用此接口,进行获取工作流运行的job详情操作.
11 查询工作流Job的Step级日志 POST /api/v8/repos/{owner}/{repo}/actions/runs/{run_id}/jobs/{job_id}/logs 用户调用此接口,进行查询工作流Job的Step级日志操作.
12 下载工作流运行的job日志 GET /api/v8/repos/{owner}/{repo}/actions/runs/{run_id}/jobs/{job_id}/download_log 用户调用此接口,进行下载工作流运行的job日志操作.
13 列出仓库的 Artifacts GET /api/v8/repos/{owner}/{repo}/actions/artifacts 用户调用此接口,进行列出仓库的 Artifacts操作.
14 列出特定 Run 的 Artifacts GET /api/v8/repos/{owner}/{repo}/actions/runs/{run_id}/artifacts 用户调用此接口,进行列出特定 Run 的 Artifacts操作.
15 获取 Artifact 详情 GET /api/v8/repos/{owner}/{repo}/actions/artifacts/{artifact_id} 用户调用此接口,进行获取 Artifact 详情操作.
16 删除指定 Artifact DELETE /api/v8/repos/{owner}/{repo}/actions/artifacts/{artifact_id} 用户调用此接口,进行删除指定 Artifact操作.
17 下载指定 Artifact GET /api/v8/repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format} 用户调用此接口,进行下载指定 Artifact操作.
18 查询指定仓库下的所有主机 Runner GET /api/v8/repos/{owner}/{repo}/actions/runners 用户调用此接口,进行查询指定仓库下的所有主机 Runner操作.
19 查询分享给仓库的所有主机 Runner GET /api/v8/repos/{owner}/{repo}/actions/runners/shared-runners 用户调用此接口,进行查询分享给仓库的所有主机 Runner操作.
20 查询指定仓库下的所有 K8S Runner GET /api/v8/repos/{owner}/{repo}/actions/runner-sets 用户调用此接口,进行查询指定仓库下的所有 K8S Runner操作.
21 查询分享给仓库的所有 K8S Runner GET /api/v8/repos/{owner}/{repo}/actions/shared-runner-sets 用户调用此接口,进行查询分享给仓库的所有 K8S Runner操作.
22 查询指定组织下的所有 Runner Group GET /api/v8/orgs/{org}/actions/runner-groups 用户调用此接口,进行查询指定组织下的所有 Runner Group操作.
23 获取指定 Runner Group 的详细信息 GET /api/v8/orgs/{org}/actions/runner-groups/{runner_group_id} 用户调用此接口,进行获取指定 Runner Group 的详细信息操作.
24 查询指定 Runner Group 下的所有主机 Runner GET /api/v8/orgs/{org}/actions/runner-groups/{runner_group_id}/runners 用户调用此接口,进行查询指定 Runner Group 下的所有主机 Runner操作.
25 查询指定 Runner Group 下的所有 K8S Runner GET /api/v8/orgs/{org}/actions/runner-groups/{runner_group_id}/runner-sets 用户调用此接口,进行查询指定 Runner Group 下的所有 K8S Runner操作.
26 查询Runner资源的Job执行历史 GET /api/v8/orgs/{org}/actions/runner-resources/job-history 用户调用此接口,进行查询Runner资源的Job执行历史操作.
27 查询有权访问指定 Runner Group 的仓库列表 GET /api/v8/orgs/{org}/actions/runner-groups/{runner_group_id}/shared-namespaces 用户调用此接口,进行查询有权访问指定 Runner Group 的仓库列表操作.

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