Skip to main content
REST API 现已经过版本控制。 有关详细信息,请参阅“关于 API 版本控制”。

工作流的 REST API 终结点

可以使用 REST API 查看 Actions 中存储库的工作流。 工作流程通过广泛的各种工具和服务自动化软件开发生命周期。有关详细信息,请参阅 Actions 文档中的 About workflows

Lists the workflows in a repository.

Anyone with read access to the repository can use this endpoint.

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint with a private repository.

“List repository workflows”的细粒度访问令牌

此端点支持以下精细令牌类型:

精细令牌必须具有以下权限集:

  • "Actions" repository permissions (read)

如果仅请求公共资源,则无需身份验证或上述权限即可使用此终结点。

“List repository workflows”的参数

标头
名称, 类型, 说明
accept string

Setting to application/vnd.+json is recommended.

路径参数
名称, 类型, 说明
owner string 必须

The account owner of the repository. The name is not case sensitive.

repo string 必须

The name of the repository without the .git extension. The name is not case sensitive.

查询参数
名称, 类型, 说明
per_page integer

The number of results per page (max 100). For more information, see "Using pagination in the REST API."

默认: 30

page integer

The page number of the results to fetch. For more information, see "Using pagination in the REST API."

默认: 1

“List repository workflows”的 HTTP 响应状态代码

状态代码说明
200

OK

“List repository workflows”的示例代码

请求示例

get/repos/{owner}/{repo}/actions/workflows
curl -L \ -H "Accept: application/vnd.+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X--Api-Version: 2022-11-28" \ https://api..com/repos/OWNER/REPO/actions/workflows

Response

Status: 200
{ "total_count": 2, "workflows": [ { "id": 161335, "node_id": "MDg6V29ya2Zsb3cxNjEzMzU=", "name": "CI", "path": "./workflows/blank.yaml", "state": "active", "created_at": "2020-01-08T23:48:37.000-08:00", "updated_at": "2020-01-08T23:50:21.000-08:00", "url": "https://api..com/repos/octo-org/octo-repo/actions/workflows/161335", "html_url": "https://.com/octo-org/octo-repo/blob/master/./workflows/161335", "badge_url": "https://.com/octo-org/octo-repo/workflows/CI/badge.svg" }, { "id": 269289, "node_id": "MDE4OldvcmtmbG93IFNlY29uZGFyeTI2OTI4OQ==", "name": "Linter", "path": "./workflows/linter.yaml", "state": "active", "created_at": "2020-01-08T23:48:37.000-08:00", "updated_at": "2020-01-08T23:50:21.000-08:00", "url": "https://api..com/repos/octo-org/octo-repo/actions/workflows/269289", "html_url": "https://.com/octo-org/octo-repo/blob/master/./workflows/269289", "badge_url": "https://.com/octo-org/octo-repo/workflows/Linter/badge.svg" } ] }

Gets a specific workflow. You can replace workflow_id with the workflow file name. For example, you could use main.yaml.

Anyone with read access to the repository can use this endpoint.

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint with a private repository.

“Get a workflow”的细粒度访问令牌

此端点支持以下精细令牌类型:

精细令牌必须具有以下权限集:

  • "Actions" repository permissions (read)

如果仅请求公共资源,则无需身份验证或上述权限即可使用此终结点。

“Get a workflow”的参数

标头
名称, 类型, 说明
accept string

Setting to application/vnd.+json is recommended.

路径参数
名称, 类型, 说明
owner string 必须

The account owner of the repository. The name is not case sensitive.

repo string 必须

The name of the repository without the .git extension. The name is not case sensitive.

workflow_id 必须

The ID of the workflow. You can also pass the workflow file name as a string.

“Get a workflow”的 HTTP 响应状态代码

状态代码说明
200

OK

“Get a workflow”的示例代码

请求示例

get/repos/{owner}/{repo}/actions/workflows/{workflow_id}
curl -L \ -H "Accept: application/vnd.+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X--Api-Version: 2022-11-28" \ https://api..com/repos/OWNER/REPO/actions/workflows/WORKFLOW_ID

Response

Status: 200
{ "id": 161335, "node_id": "MDg6V29ya2Zsb3cxNjEzMzU=", "name": "CI", "path": "./workflows/blank.yaml", "state": "active", "created_at": "2020-01-08T23:48:37.000-08:00", "updated_at": "2020-01-08T23:50:21.000-08:00", "url": "https://api..com/repos/octo-org/octo-repo/actions/workflows/161335", "html_url": "https://.com/octo-org/octo-repo/blob/master/./workflows/161335", "badge_url": "https://.com/octo-org/octo-repo/workflows/CI/badge.svg" }

Disables a workflow and sets the state of the workflow to disabled_manually. You can replace workflow_id with the workflow file name. For example, you could use main.yaml.

OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

“Disable a workflow”的细粒度访问令牌

此端点支持以下精细令牌类型:

精细令牌必须具有以下权限集:

  • "Actions" repository permissions (write)

“Disable a workflow”的参数

标头
名称, 类型, 说明
accept string

Setting to application/vnd.+json is recommended.

路径参数
名称, 类型, 说明
owner string 必须

The account owner of the repository. The name is not case sensitive.

repo string 必须

The name of the repository without the .git extension. The name is not case sensitive.

workflow_id 必须

The ID of the workflow. You can also pass the workflow file name as a string.

“Disable a workflow”的 HTTP 响应状态代码

状态代码说明
204

No Content

“Disable a workflow”的示例代码

请求示例

put/repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable
curl -L \ -X PUT \ -H "Accept: application/vnd.+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X--Api-Version: 2022-11-28" \ https://api..com/repos/OWNER/REPO/actions/workflows/WORKFLOW_ID/disable

Response

Status: 204

You can use this endpoint to manually trigger a Actions workflow run. You can replace workflow_id with the workflow file name. For example, you could use main.yaml.

You must configure your Actions workflow to run when the workflow_dis webhook event occurs. The inputs are configured in the workflow file. For more information about how to configure the workflow_dis event in the workflow file, see "Events that trigger workflows."

OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

“Create a workflow dis event”的细粒度访问令牌

此端点支持以下精细令牌类型:

精细令牌必须具有以下权限集:

  • "Actions" repository permissions (write)

“Create a workflow dis event”的参数

标头
名称, 类型, 说明
accept string

Setting to application/vnd.+json is recommended.

路径参数
名称, 类型, 说明
owner string 必须

The account owner of the repository. The name is not case sensitive.

repo string 必须

The name of the repository without the .git extension. The name is not case sensitive.

workflow_id 必须

The ID of the workflow. You can also pass the workflow file name as a string.

正文参数
名称, 类型, 说明
ref string 必须

The git reference for the workflow. The reference can be a branch or tag name.

inputs object

Input keys and values configured in the workflow file. The maximum number of properties is 10. Any default properties configured in the workflow file will be used when inputs are omitted.

“Create a workflow dis event”的 HTTP 响应状态代码

状态代码说明
204

No Content

“Create a workflow dis event”的示例代码

请求示例

post/repos/{owner}/{repo}/actions/workflows/{workflow_id}/dises
curl -L \ -X POST \ -H "Accept: application/vnd.+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X--Api-Version: 2022-11-28" \ https://api..com/repos/OWNER/REPO/actions/workflows/WORKFLOW_ID/dises \ -d '{"ref":"topic-branch","inputs":{"name":"Mona the Octocat","home":"San Francisco, CA"}}'

Response

Status: 204

Enables a workflow and sets the state of the workflow to active. You can replace workflow_id with the workflow file name. For example, you could use main.yaml.

OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

“Enable a workflow”的细粒度访问令牌

此端点支持以下精细令牌类型:

精细令牌必须具有以下权限集:

  • "Actions" repository permissions (write)

“Enable a workflow”的参数

标头
名称, 类型, 说明
accept string

Setting to application/vnd.+json is recommended.

路径参数
名称, 类型, 说明
owner string 必须

The account owner of the repository. The name is not case sensitive.

repo string 必须

The name of the repository without the .git extension. The name is not case sensitive.

workflow_id 必须

The ID of the workflow. You can also pass the workflow file name as a string.

“Enable a workflow”的 HTTP 响应状态代码

状态代码说明
204

No Content

“Enable a workflow”的示例代码

请求示例

put/repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable
curl -L \ -X PUT \ -H "Accept: application/vnd.+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X--Api-Version: 2022-11-28" \ https://api..com/repos/OWNER/REPO/actions/workflows/WORKFLOW_ID/enable

Response

Status: 204

Warning


This endpoint is in the process of closing down. Refer to "Actions Get workflow usage and Get workflow run usage endpoints closing down" for more information.

Gets the number of billable minutes used by a specific workflow during the current billing cycle. Billable minutes only apply to workflows in private repositories that use -hosted runners. Usage is listed for each -hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "Managing billing for Actions".

You can replace workflow_id with the workflow file name. For example, you could use main.yaml.

Anyone with read access to the repository can use this endpoint.

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint with a private repository.

“Get workflow usage”的细粒度访问令牌

此端点支持以下精细令牌类型:

精细令牌必须具有以下权限集:

  • "Actions" repository permissions (read)

如果仅请求公共资源,则无需身份验证或上述权限即可使用此终结点。

“Get workflow usage”的参数

标头
名称, 类型, 说明
accept string

Setting to application/vnd.+json is recommended.

路径参数
名称, 类型, 说明
owner string 必须

The account owner of the repository. The name is not case sensitive.

repo string 必须

The name of the repository without the .git extension. The name is not case sensitive.

workflow_id 必须

The ID of the workflow. You can also pass the workflow file name as a string.

“Get workflow usage”的 HTTP 响应状态代码

状态代码说明
200

OK

“Get workflow usage”的示例代码

请求示例

get/repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing
curl -L \ -H "Accept: application/vnd.+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X--Api-Version: 2022-11-28" \ https://api..com/repos/OWNER/REPO/actions/workflows/WORKFLOW_ID/timing

Response

Status: 200
{ "billable": { "UBUNTU": { "total_ms": 180000 }, "MACOS": { "total_ms": 240000 }, "WINDOWS": { "total_ms": 300000 } } }