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