跳至主要内容
REST API 现在已版本化。 有关更多信息,请参阅“关于 API 版本控制”。

GitHub Actions 权限的 REST API 端点

使用 REST API 与 GitHub Actions 的权限进行交互。

关于 GitHub Actions 的权限

您可以使用 REST API 设置允许运行 GitHub Actions 的组织和存储库的权限,以及允许运行的操作和可重用工作流。有关更多信息,请参阅“使用限制、计费和管理”。

获取组织的 GitHub Actions 权限

获取组织中存储库和允许的操作以及可重用工作流的 GitHub Actions 权限策略。

OAuth 令牌和个人访问令牌(经典)需要 admin:org 范围才能使用此端点。

用于“获取组织的 GitHub Actions 权限”的细粒度访问令牌

此端点适用于以下细粒度令牌类型

细粒度令牌必须具有以下权限集

  • “管理”组织权限(读取)

用于“获取组织的 GitHub Actions 权限”的参数

标头
名称、类型、描述
accept string

建议设置为 application/vnd.github+json

路径参数
名称、类型、描述
org string 必需

组织名称。名称不区分大小写。

用于“获取组织的 GitHub Actions 权限”的 HTTP 响应状态代码

状态代码描述
200

OK

用于“获取组织的 GitHub Actions 权限”的代码示例

请求示例

get/orgs/{org}/actions/permissions
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/orgs/ORG/actions/permissions

响应

状态:200
{ "enabled_repositories": "all", "allowed_actions": "selected", "selected_actions_url": "https://api.github.com/organizations/42/actions/permissions/selected-actions" }

为组织设置 GitHub Actions 权限

设置组织中仓库、允许的操作以及可重用工作流的 GitHub Actions 权限策略。

OAuth 应用令牌和个人访问令牌(经典)需要 admin:org 范围才能使用此端点。

用于“为组织设置 GitHub Actions 权限”的细粒度访问令牌

此端点适用于以下细粒度令牌类型

细粒度令牌必须具有以下权限集

  • “管理”组织权限(写入)

用于“为组织设置 GitHub Actions 权限”的参数

标头
名称、类型、描述
accept string

建议设置为 application/vnd.github+json

路径参数
名称、类型、描述
org string 必需

组织名称。名称不区分大小写。

主体参数
名称、类型、描述
enabled_repositories 字符串 必需

控制组织中允许运行 GitHub Actions 的仓库的策略。

可以是以下之一:: all, none, selected

allowed_actions 字符串

控制允许运行的操作和可重用工作流的权限策略。

可以是以下之一:: all, local_only, selected

用于“为组织设置 GitHub Actions 权限”的 HTTP 响应状态代码

状态代码描述
204

无内容

用于“为组织设置 GitHub Actions 权限”的代码示例

请求示例

put/orgs/{org}/actions/permissions
curl -L \ -X PUT \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/orgs/ORG/actions/permissions \ -d '{"enabled_repositories":"all","allowed_actions":"selected"}'

响应

状态:204

列出组织中为 GitHub Actions 启用的选定仓库

列出组织中为 GitHub Actions 启用的选定仓库。要使用此端点,组织的 enabled_repositories 权限策略必须配置为 selected。有关更多信息,请参阅“为组织设置 GitHub Actions 权限”。

OAuth 应用令牌和个人访问令牌(经典)需要 admin:org 范围才能使用此端点。

用于“列出组织中为 GitHub Actions 启用的选定仓库”的细粒度访问令牌

此端点适用于以下细粒度令牌类型

细粒度令牌必须具有以下权限集

  • “管理”组织权限(读取)

用于“列出组织中为 GitHub Actions 启用的选定仓库”的参数

标头
名称、类型、描述
accept string

建议设置为 application/vnd.github+json

路径参数
名称、类型、描述
org string 必需

组织名称。名称不区分大小写。

查询参数
名称、类型、描述
per_page 整数

每页结果数(最大 100)。有关更多信息,请参阅“在 REST API 中使用分页”。

默认: 30

page 整数

要获取的结果页码。有关更多信息,请参阅“在 REST API 中使用分页”。

默认: 1

“列出组织中为 GitHub Actions 启用的选定存储库”的 HTTP 响应状态代码

状态代码描述
200

OK

“列出组织中为 GitHub Actions 启用的选定存储库”的代码示例

请求示例

get/orgs/{org}/actions/permissions/repositories
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/orgs/ORG/actions/permissions/repositories

响应

状态:200
{ "total_count": 1, "repositories": [ { "id": 1296269, "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", "name": "Hello-World", "full_name": "octocat/Hello-World", "owner": { "login": "octocat", "id": 1, "node_id": "MDQ6VXNlcjE=", "avatar_url": "https://github.com/images/error/octocat_happy.gif", "gravatar_id": "", "url": "https://api.github.com/users/octocat", "html_url": "https://github.com/octocat", "followers_url": "https://api.github.com/users/octocat/followers", "following_url": "https://api.github.com/users/octocat/following{/other_user}", "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", "organizations_url": "https://api.github.com/users/octocat/orgs", "repos_url": "https://api.github.com/users/octocat/repos", "events_url": "https://api.github.com/users/octocat/events{/privacy}", "received_events_url": "https://api.github.com/users/octocat/received_events", "type": "User", "site_admin": false }, "private": false, "html_url": "https://github.com/octocat/Hello-World", "description": "This your first repo!", "fork": false, "url": "https://api.github.com/repos/octocat/Hello-World", "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}", "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}", "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}", "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}", "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}", "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}", "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}", "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}", "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}", "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors", "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments", "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads", "events_url": "https://api.github.com/repos/octocat/Hello-World/events", "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks", "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}", "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}", "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}", "git_url": "git:github.com/octocat/Hello-World.git", "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}", "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}", "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}", "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}", "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}", "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages", "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges", "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}", "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}", "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}", "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}", "ssh_url": "[email protected]:octocat/Hello-World.git", "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers", "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}", "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers", "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription", "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags", "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams", "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}", "clone_url": "https://github.com/octocat/Hello-World.git", "mirror_url": "git:git.example.com/octocat/Hello-World", "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks", "svn_url": "https://svn.github.com/octocat/Hello-World", "homepage": "https://github.com", "language": null, "forks_count": 9, "stargazers_count": 80, "watchers_count": 80, "size": 108, "default_branch": "master", "open_issues_count": 0, "is_template": true, "topics": [ "octocat", "atom", "electron", "api" ], "has_issues": true, "has_projects": true, "has_wiki": true, "has_pages": false, "has_downloads": true, "archived": false, "disabled": false, "visibility": "public", "pushed_at": "2011-01-26T19:06:43Z", "created_at": "2011-01-26T19:01:12Z", "updated_at": "2011-01-26T19:14:43Z", "permissions": { "admin": false, "push": false, "pull": true }, "allow_rebase_merge": true, "template_repository": null, "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O", "allow_squash_merge": true, "allow_auto_merge": false, "delete_branch_on_merge": true, "allow_merge_commit": true, "subscribers_count": 42, "network_count": 0, "license": { "key": "mit", "name": "MIT License", "url": "https://api.github.com/licenses/mit", "spdx_id": "MIT", "node_id": "MDc6TGljZW5zZW1pdA==", "html_url": "https://github.com/licenses/mit" }, "forks": 1, "open_issues": 1, "watchers": 1 } ] }

在组织中设置为 GitHub Actions 启用的选定存储库

替换组织中为 GitHub Actions 启用的选定存储库列表。要使用此端点,必须将组织的 enabled_repositories 权限策略配置为 selected。有关更多信息,请参阅“设置组织的 GitHub Actions 权限”。

OAuth 应用令牌和个人访问令牌(经典)需要 admin:org 范围才能使用此端点。

“在组织中设置为 GitHub Actions 启用的选定存储库”的细粒度访问令牌

此端点适用于以下细粒度令牌类型

细粒度令牌必须具有以下权限集

  • “管理”组织权限(写入)

“在组织中设置为 GitHub Actions 启用的选定存储库”的参数

标头
名称、类型、描述
accept string

建议设置为 application/vnd.github+json

路径参数
名称、类型、描述
org string 必需

组织名称。名称不区分大小写。

主体参数
名称、类型、描述
selected_repository_ids 整数数组 必需

要为 GitHub Actions 启用的存储库 ID 列表。

“在组织中设置为 GitHub Actions 启用的选定存储库”的 HTTP 响应状态代码

状态代码描述
204

无内容

“在组织中设置为 GitHub Actions 启用的选定存储库”的代码示例

请求示例

put/orgs/{org}/actions/permissions/repositories
curl -L \ -X PUT \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/orgs/ORG/actions/permissions/repositories \ -d '{"selected_repository_ids":[32,42]}'

响应

状态:204

在组织中为 GitHub Actions 启用选定存储库

将存储库添加到组织中为 GitHub Actions 启用的选定存储库列表中。要使用此端点,必须将组织的 enabled_repositories 权限策略配置为 selected。有关更多信息,请参阅“设置组织的 GitHub Actions 权限”。

OAuth 令牌和个人访问令牌(经典)需要 admin:org 范围才能使用此端点。

为组织中的“启用选定仓库以使用 GitHub Actions”提供细粒度访问令牌

此端点适用于以下细粒度令牌类型

细粒度令牌必须具有以下权限集

  • "管理" 组织权限(写入)"元数据" 仓库权限(读取)

为“启用选定仓库以使用 GitHub Actions”提供参数

标头
名称、类型、描述
accept string

建议设置为 application/vnd.github+json

路径参数
名称、类型、描述
org string 必需

组织名称。名称不区分大小写。

repository_id 整数 必需

仓库的唯一标识符。

为“启用选定仓库以使用 GitHub Actions”提供 HTTP 响应状态代码

状态代码描述
204

无内容

为“启用选定仓库以使用 GitHub Actions”提供代码示例

请求示例

put/orgs/{org}/actions/permissions/repositories/{repository_id}
curl -L \ -X PUT \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/orgs/ORG/actions/permissions/repositories/REPOSITORY_ID

响应

状态:204

在组织中禁用选定仓库以使用 GitHub Actions

从组织中启用 GitHub Actions 的选定仓库列表中删除仓库。要使用此端点,必须将 enabled_repositories 的组织权限策略配置为 selected。有关更多信息,请参阅“为组织设置 GitHub Actions 权限”。

OAuth 令牌和个人访问令牌(经典)需要 admin:org 范围才能使用此端点。

为“禁用选定仓库以使用 GitHub Actions”提供细粒度访问令牌

此端点适用于以下细粒度令牌类型

细粒度令牌必须具有以下权限集

  • "管理" 组织权限(写入)"元数据" 仓库权限(读取)

为“禁用选定仓库以使用 GitHub Actions”提供参数

标头
名称、类型、描述
accept string

建议设置为 application/vnd.github+json

路径参数
名称、类型、描述
org string 必需

组织名称。名称不区分大小写。

repository_id 整数 必需

仓库的唯一标识符。

为“禁用选定仓库以使用 GitHub Actions”提供 HTTP 响应状态代码

状态代码描述
204

无内容

为“禁用选定仓库以使用 GitHub Actions”提供代码示例

请求示例

delete/orgs/{org}/actions/permissions/repositories/{repository_id}
curl -L \ -X DELETE \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/orgs/ORG/actions/permissions/repositories/REPOSITORY_ID

响应

状态:204

获取组织允许的操作和可重用工作流

获取组织中允许的选定操作和可重用工作流。要使用此端点,必须将组织的allowed_actions权限策略配置为selected。有关更多信息,请参阅“为组织设置 GitHub Actions 权限”。

OAuth 令牌和个人访问令牌(经典)需要 admin:org 范围才能使用此端点。

“获取组织允许的操作和可重用工作流”的细粒度访问令牌

此端点适用于以下细粒度令牌类型

细粒度令牌必须具有以下权限集

  • “管理”组织权限(读取)

“获取组织允许的操作和可重用工作流”的参数

标头
名称、类型、描述
accept string

建议设置为 application/vnd.github+json

路径参数
名称、类型、描述
org string 必需

组织名称。名称不区分大小写。

“获取组织允许的操作和可重用工作流”的 HTTP 响应状态代码

状态代码描述
200

OK

“获取组织允许的操作和可重用工作流”的代码示例

请求示例

get/orgs/{org}/actions/permissions/selected-actions
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/orgs/ORG/actions/permissions/selected-actions

响应

状态:200
{ "github_owned_allowed": true, "verified_allowed": false, "patterns_allowed": [ "monalisa/octocat@*", "docker/*" ] }

为组织设置允许的操作和可重用工作流

设置组织中允许的操作和可重用工作流。要使用此端点,必须将组织的allowed_actions权限策略配置为selected。有关更多信息,请参阅“为组织设置 GitHub Actions 权限”。

OAuth 应用令牌和个人访问令牌(经典)需要 admin:org 范围才能使用此端点。

“设置组织允许的操作和可重用工作流”的细粒度访问令牌

此端点适用于以下细粒度令牌类型

细粒度令牌必须具有以下权限集

  • “管理”组织权限(写入)

“设置组织允许的操作和可重用工作流”的参数

标头
名称、类型、描述
accept string

建议设置为 application/vnd.github+json

路径参数
名称、类型、描述
org string 必需

组织名称。名称不区分大小写。

主体参数
名称、类型、描述
github_owned_allowed 布尔值

是否允许 GitHub 拥有的操作。例如,这包括actions组织中的操作。

verified_allowed 布尔值

是否允许来自 GitHub Marketplace 验证创建者的操作。设置为true以允许 GitHub Marketplace 验证创建者的所有操作。

patterns_allowed 字符串数组

指定一个字符串匹配模式列表,以允许特定的操作和可重用工作流。允许使用通配符、标签和 SHA。例如,monalisa/octocat@*monalisa/octocat@v2monalisa/*

注意patterns_allowed设置仅适用于公共存储库。

“设置组织允许的操作和可重用工作流”的 HTTP 响应状态代码

状态代码描述
204

无内容

“设置组织允许的操作和可重用工作流”的代码示例

请求示例

put/orgs/{org}/actions/permissions/selected-actions
curl -L \ -X PUT \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/orgs/ORG/actions/permissions/selected-actions \ -d '{"github_owned_allowed":true,"verified_allowed":false,"patterns_allowed":["monalisa/octocat@*","docker/*"]}'

响应

状态:204

获取组织的默认工作流权限

获取在组织中运行工作流时授予 GITHUB_TOKEN 的默认工作流权限,以及 GitHub Actions 是否可以提交批准的拉取请求审查。有关更多信息,请参阅“为您的组织设置 GITHUB_TOKEN 的权限”。

OAuth 令牌和个人访问令牌(经典)需要 admin:org 范围才能使用此端点。

“获取组织的默认工作流权限”的细粒度访问令牌

此端点适用于以下细粒度令牌类型

细粒度令牌必须具有以下权限集

  • “管理”组织权限(读取)

“获取组织的默认工作流权限”的参数

标头
名称、类型、描述
accept string

建议设置为 application/vnd.github+json

路径参数
名称、类型、描述
org string 必需

组织名称。名称不区分大小写。

“获取组织的默认工作流权限”的 HTTP 响应状态码

状态代码描述
200

OK

“获取组织的默认工作流权限”的代码示例

请求示例

get/orgs/{org}/actions/permissions/workflow
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/orgs/ORG/actions/permissions/workflow

授予只读权限,并允许批准 PR。

状态:200
{ "default_workflow_permissions": "read", "can_approve_pull_request_reviews": true }

设置组织的默认工作流权限

设置在组织中运行工作流时授予 GITHUB_TOKEN 的默认工作流权限,以及设置 GitHub Actions 是否可以提交批准的拉取请求审查。有关更多信息,请参阅“为您的组织设置 GITHUB_TOKEN 的权限”。

OAuth 应用令牌和个人访问令牌(经典)需要 admin:org 范围才能使用此端点。

“设置组织的默认工作流权限”的细粒度访问令牌

此端点适用于以下细粒度令牌类型

细粒度令牌必须具有以下权限集

  • “管理”组织权限(写入)

“设置组织的默认工作流权限”的参数

标头
名称、类型、描述
accept string

建议设置为 application/vnd.github+json

路径参数
名称、类型、描述
org string 必需

组织名称。名称不区分大小写。

主体参数
名称、类型、描述
default_workflow_permissions string

运行工作流时授予 GITHUB_TOKEN 的默认工作流权限。

可以是以下之一:: read, write

can_approve_pull_request_reviews boolean

GitHub Actions 是否可以批准拉取请求。启用此功能可能会存在安全风险。

“为组织设置默认工作流权限”的 HTTP 响应状态码

状态代码描述
204

成功响应

“为组织设置默认工作流权限”的代码示例

请求示例

put/orgs/{org}/actions/permissions/workflow
curl -L \ -X PUT \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/orgs/ORG/actions/permissions/workflow \ -d '{"default_workflow_permissions":"read","can_approve_pull_request_reviews":true}'

成功响应

状态:204

获取仓库的 GitHub Actions 权限

获取仓库的 GitHub Actions 权限策略,包括是否启用了 GitHub Actions 以及允许在仓库中运行的操作和可重用工作流。

OAuth 令牌和个人访问令牌(经典)需要 repo 范围才能使用此端点。

用于“获取仓库的 GitHub Actions 权限”的细粒度访问令牌

此端点适用于以下细粒度令牌类型

细粒度令牌必须具有以下权限集

  • “管理”仓库权限(读取)

用于“获取仓库的 GitHub Actions 权限”的参数

标头
名称、类型、描述
accept string

建议设置为 application/vnd.github+json

路径参数
名称、类型、描述
owner string 必需

仓库的帐户所有者。名称不区分大小写。

repo string 必需

仓库的名称,不包含 .git 扩展名。名称不区分大小写。

“获取仓库的 GitHub Actions 权限”的 HTTP 响应状态码

状态代码描述
200

OK

“获取仓库的 GitHub Actions 权限”的代码示例

请求示例

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

响应

状态:200
{ "enabled": true, "allowed_actions": "selected", "selected_actions_url": "https://api.github.com/repositories/42/actions/permissions/selected-actions" }

设置仓库的 GitHub Actions 权限

设置仓库的 GitHub Actions 权限策略,以启用 GitHub Actions 以及允许在仓库中运行的操作和可重用工作流。

OAuth 应用令牌和个人访问令牌(经典)需要 repo 范围才能使用此端点。

用于“设置仓库的 GitHub Actions 权限”的细粒度访问令牌

此端点适用于以下细粒度令牌类型

细粒度令牌必须具有以下权限集

  • “管理”仓库权限(写入)

“设置仓库的 GitHub Actions 权限”的参数

标头
名称、类型、描述
accept string

建议设置为 application/vnd.github+json

路径参数
名称、类型、描述
owner string 必需

仓库的帐户所有者。名称不区分大小写。

repo string 必需

仓库的名称,不包含 .git 扩展名。名称不区分大小写。

主体参数
名称、类型、描述
enabled 布尔值 必需

是否在仓库中启用 GitHub Actions。

allowed_actions 字符串

控制允许运行的操作和可重用工作流的权限策略。

可以是以下之一:: all, local_only, selected

“设置仓库的 GitHub Actions 权限”的 HTTP 响应状态码

状态代码描述
204

无内容

“设置仓库的 GitHub Actions 权限”的代码示例

请求示例

put/repos/{owner}/{repo}/actions/permissions
curl -L \ -X PUT \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/OWNER/REPO/actions/permissions \ -d '{"enabled":true,"allowed_actions":"selected"}'

响应

状态:204

获取仓库外部工作流的访问级别

获取仓库外部工作流对仓库中 Actions 和可复用工作流的访问级别。此端点仅适用于私有仓库。有关更多信息,请参阅“允许访问私有仓库中的组件”。

OAuth 应用令牌和个人访问令牌(经典)需要 repo 范围才能使用此端点。

“获取仓库外部工作流的访问级别”的细粒度访问令牌

此端点适用于以下细粒度令牌类型

细粒度令牌必须具有以下权限集

  • “管理”仓库权限(读取)

“获取仓库外部工作流的访问级别”的参数

标头
名称、类型、描述
accept string

建议设置为 application/vnd.github+json

路径参数
名称、类型、描述
owner string 必需

仓库的帐户所有者。名称不区分大小写。

repo string 必需

仓库的名称,不包含 .git 扩展名。名称不区分大小写。

“获取仓库外部工作流的访问级别”的 HTTP 响应状态码

状态代码描述
200

OK

“获取仓库外部工作流的访问级别”的代码示例

请求示例

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

响应

状态:200
{ "access_level": "organization" }

设置仓库外部工作流的访问级别

设置仓库外部工作流对仓库中 Actions 和可复用工作流的访问级别。此端点仅适用于私有仓库。有关更多信息,请参阅“允许访问私有仓库中的组件”。

OAuth 应用令牌和个人访问令牌(经典)需要 repo 范围才能使用此端点。

“设置仓库外部工作流的访问级别”的细粒度访问令牌

此端点适用于以下细粒度令牌类型

细粒度令牌必须具有以下权限集

  • “管理”仓库权限(写入)

“设置仓库外部工作流的访问级别”的参数

标头
名称、类型、描述
accept string

建议设置为 application/vnd.github+json

路径参数
名称、类型、描述
owner string 必需

仓库的帐户所有者。名称不区分大小写。

repo string 必需

仓库的名称,不包含 .git 扩展名。名称不区分大小写。

主体参数
名称、类型、描述
access_level 字符串 必需

定义仓库外部工作流对仓库中 Actions 和可复用工作流的访问级别。

none 表示访问仅限于此仓库中的工作流。user 级别访问允许仅在用户拥有的私有仓库之间共享。organization 级别访问允许在整个组织中共享。

可以是以下之一: none, user, organization

“设置仓库外部工作流的访问级别”的 HTTP 响应状态码

状态代码描述
204

无内容

“设置仓库外部工作流的访问级别”的代码示例

请求示例

put/repos/{owner}/{repo}/actions/permissions/access
curl -L \ -X PUT \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/OWNER/REPO/actions/permissions/access \ -d '{"access_level":"organization"}'

响应

状态:204

获取仓库允许的操作和可重用工作流

获取仓库中允许的选定操作和可重用工作流的设置。要使用此端点,仓库策略的 allowed_actions 必须配置为 selected。有关更多信息,请参阅“设置仓库的 GitHub Actions 权限”。

OAuth 令牌和个人访问令牌(经典)需要 repo 范围才能使用此端点。

“获取仓库允许的操作和可重用工作流”的细粒度访问令牌

此端点适用于以下细粒度令牌类型

细粒度令牌必须具有以下权限集

  • “管理”仓库权限(读取)

“获取仓库允许的操作和可重用工作流”的参数

标头
名称、类型、描述
accept string

建议设置为 application/vnd.github+json

路径参数
名称、类型、描述
owner string 必需

仓库的帐户所有者。名称不区分大小写。

repo string 必需

仓库的名称,不包含 .git 扩展名。名称不区分大小写。

“获取仓库允许的操作和可重用工作流”的 HTTP 响应状态码

状态代码描述
200

OK

“获取仓库允许的操作和可重用工作流”的代码示例

请求示例

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

响应

状态:200
{ "github_owned_allowed": true, "verified_allowed": false, "patterns_allowed": [ "monalisa/octocat@*", "docker/*" ] }

设置仓库允许的操作和可重用工作流

设置仓库中允许的操作和可重用工作流。要使用此端点,仓库权限策略的 allowed_actions 必须配置为 selected。有关更多信息,请参阅“设置仓库的 GitHub Actions 权限”。

OAuth 应用令牌和个人访问令牌(经典)需要 repo 范围才能使用此端点。

“设置仓库允许的操作和可重用工作流”的细粒度访问令牌

此端点适用于以下细粒度令牌类型

细粒度令牌必须具有以下权限集

  • “管理”仓库权限(写入)

“设置仓库允许的操作和可重用工作流”的参数

标头
名称、类型、描述
accept string

建议设置为 application/vnd.github+json

路径参数
名称、类型、描述
owner string 必需

仓库的帐户所有者。名称不区分大小写。

repo string 必需

仓库的名称,不包含 .git 扩展名。名称不区分大小写。

主体参数
名称、类型、描述
github_owned_allowed 布尔值

是否允许 GitHub 拥有的操作。例如,这包括actions组织中的操作。

verified_allowed 布尔值

是否允许来自 GitHub Marketplace 验证创建者的操作。设置为true以允许 GitHub Marketplace 验证创建者的所有操作。

patterns_allowed 字符串数组

指定一个字符串匹配模式列表,以允许特定的操作和可重用工作流。允许使用通配符、标签和 SHA。例如,monalisa/octocat@*monalisa/octocat@v2monalisa/*

注意patterns_allowed设置仅适用于公共存储库。

“设置仓库允许的操作和可重用工作流”的 HTTP 响应状态码

状态代码描述
204

无内容

“设置仓库允许的操作和可重用工作流”的代码示例

请求示例

put/repos/{owner}/{repo}/actions/permissions/selected-actions
curl -L \ -X PUT \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/OWNER/REPO/actions/permissions/selected-actions \ -d '{"github_owned_allowed":true,"verified_allowed":false,"patterns_allowed":["monalisa/octocat@*","docker/*"]}'

响应

状态:204

获取仓库的默认工作流权限

获取在仓库中运行工作流时授予 GITHUB_TOKEN 的默认工作流权限,以及 GitHub Actions 是否可以提交批准的拉取请求审查。有关更多信息,请参阅“设置仓库的 GITHUB_TOKEN 权限”。

OAuth 令牌和个人访问令牌(经典)需要 repo 范围才能使用此端点。

“获取仓库的默认工作流权限”的细粒度访问令牌

此端点适用于以下细粒度令牌类型

细粒度令牌必须具有以下权限集

  • “管理”仓库权限(读取)

“获取仓库的默认工作流权限”的参数

标头
名称、类型、描述
accept string

建议设置为 application/vnd.github+json

路径参数
名称、类型、描述
owner string 必需

仓库的帐户所有者。名称不区分大小写。

repo string 必需

仓库的名称,不包含 .git 扩展名。名称不区分大小写。

“获取仓库的默认工作流权限”的 HTTP 响应状态代码

状态代码描述
200

OK

“获取仓库的默认工作流权限”的代码示例

请求示例

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

授予只读权限,并允许批准 PR。

状态:200
{ "default_workflow_permissions": "read", "can_approve_pull_request_reviews": true }

设置仓库的默认工作流权限

设置在仓库中运行工作流时授予 GITHUB_TOKEN 的默认工作流权限,以及设置 GitHub Actions 是否可以提交批准的拉取请求审查。有关更多信息,请参阅“设置仓库的 GITHUB_TOKEN 权限”。

OAuth 应用令牌和个人访问令牌(经典)需要 repo 范围才能使用此端点。

“设置仓库的默认工作流权限”的细粒度访问令牌

此端点适用于以下细粒度令牌类型

细粒度令牌必须具有以下权限集

  • “管理”仓库权限(写入)

“设置仓库的默认工作流权限”的参数

标头
名称、类型、描述
accept string

建议设置为 application/vnd.github+json

路径参数
名称、类型、描述
owner string 必需

仓库的帐户所有者。名称不区分大小写。

repo string 必需

仓库的名称,不包含 .git 扩展名。名称不区分大小写。

主体参数
名称、类型、描述
default_workflow_permissions string

运行工作流时授予 GITHUB_TOKEN 的默认工作流权限。

可以是以下之一:: read, write

can_approve_pull_request_reviews boolean

GitHub Actions 是否可以批准拉取请求。启用此功能可能会存在安全风险。

“设置仓库的默认工作流权限”的 HTTP 响应状态代码

状态代码描述
204

成功响应

409

更改设置时,由于拥有组织的阻止,导致的冲突响应

“设置仓库的默认工作流权限”的代码示例

请求示例

放置/repos/{owner}/{repo}/actions/permissions/workflow
curl -L \ -X PUT \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/OWNER/REPO/actions/permissions/workflow \ -d '{"default_workflow_permissions":"read","can_approve_pull_request_reviews":true}'

成功响应

状态:204