跳至主要内容
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 字符串

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

路径参数
名称、类型、描述
org 字符串 必需

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

“获取组织的 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 字符串

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

路径参数
名称、类型、描述
org 字符串 必需

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

主体参数
名称、类型、描述
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 字符串

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

路径参数
名称、类型、描述
org 字符串 必需

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

查询参数
名称、类型、描述
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 字符串

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

路径参数
名称、类型、描述
org 字符串 必需

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

主体参数
名称、类型、描述
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 字符串

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

路径参数
名称、类型、描述
org 字符串 必需

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

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 字符串

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

路径参数
名称、类型、描述
org 字符串 必需

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

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 字符串

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

路径参数
名称、类型、描述
org 字符串 必需

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

“获取组织允许的操作和可重用工作流”的 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 字符串

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

路径参数
名称、类型、描述
org 字符串 必需

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

主体参数
名称、类型、描述
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 字符串

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

路径参数
名称、类型、描述
org 字符串 必需

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

“获取组织的默认工作流权限”的 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 字符串

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

路径参数
名称、类型、描述
org 字符串 必需

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

主体参数
名称、类型、描述
default_workflow_permissions 字符串

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

可以是以下之一:readwrite

can_approve_pull_request_reviews 布尔值

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 字符串

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

路径参数
名称、类型、描述
owner 字符串 必填

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

repo 字符串 必填

不包含.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 字符串

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

路径参数
名称、类型、描述
owner 字符串 必填

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

repo 字符串 必填

不包含.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

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

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

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

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

此端点可与以下细粒度令牌类型配合使用:

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

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

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

标头
名称、类型、描述
accept 字符串

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

路径参数
名称、类型、描述
owner 字符串 必填

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

repo 字符串 必填

不包含.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" }

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

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

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

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

此端点可与以下细粒度令牌类型配合使用:

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

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

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

标头
名称、类型、描述
accept 字符串

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

路径参数
名称、类型、描述
owner 字符串 必填

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

repo 字符串 必填

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

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

定义仓库外部工作流对仓库内操作和可重用工作流的访问级别。

none 表示访问只能从此仓库中的工作流进行。user 级别的访问仅允许跨用户拥有的私有仓库共享。organization 级别的访问允许跨组织共享。

可以是以下之一:noneuserorganization

“设置仓库外部工作流的访问级别”的 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 字符串

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

路径参数
名称、类型、描述
owner 字符串 必填

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

repo 字符串 必填

不包含.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 字符串

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

路径参数
名称、类型、描述
owner 字符串 必填

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

repo 字符串 必填

不包含.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 字符串

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

路径参数
名称、类型、描述
owner 字符串 必填

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

repo 字符串 必填

不包含.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 字符串

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

路径参数
名称、类型、描述
owner 字符串 必填

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

repo 字符串 必填

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

主体参数
名称、类型、描述
default_workflow_permissions 字符串

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

可以是以下之一:readwrite

can_approve_pull_request_reviews 布尔值

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

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

状态代码描述
204

成功响应

409

更改设置时,如果被拥有组织阻止则会返回冲突响应

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

请求示例

put/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