使用 REST API 为组织创建和管理自定义属性。
你可以使用 REST API 为组织创建和管理自定义属性。你可以使用自定义属性向组织中的存储库添加元数据。有关详细信息,请参阅“管理组织中存储库的自定义属性”。
获取为组织定义的所有自定义属性。组织成员可以读取这些属性。
此端点适用于以下细粒度令牌类型
细粒度令牌必须具有以下权限设置
accept
建议设置为 application/vnd.github+json。
application/vnd.github+json
org
组织名称。该名称不区分大小写。
200
确定
403
禁止
404
找不到资源
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/properties/schema
响应
状态:200
[ { "property_name": "environment", "value_type": "single_select", "required": true, "default_value": "production", "description": "Prod or dev environment", "allowed_values": [ "production", "development" ], "values_editable_by": "org_actors" }, { "property_name": "service", "value_type": "string" }, { "property_name": "team", "value_type": "string", "description": "Team owning the repository" } ]
批量创建新自定义属性或更新组织中定义的现有自定义属性。
要使用此端点,经过身份验证的用户必须是以下之一
custom_properties_org_definitions_manager
properties
要创建或更新的自定义属性数组。
property_name
属性的名称
value_type
属性值的类型
可以是以下之一:: string, single_select, multi_select, true_false
string
single_select
multi_select
true_false
required
属性是否必需。
default_value
属性的默认值
description
属性的简短描述
allowed_values
属性允许值的顺序列表。该属性最多可以有 200 个允许值。
values_editable_by
谁可以编辑属性的值
可以是以下之一:: org_actors, org_and_repo_actors, null
org_actors
org_and_repo_actors
null
curl -L \ -X PATCH \ -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/properties/schema \ -d '{"properties":[{"property_name":"environment","value_type":"single_select","required":true,"default_value":"production","description":"Prod or dev environment","allowed_values":["production","development"],"values_editable_by":"org_actors"},{"property_name":"service","value_type":"string"},{"property_name":"team","value_type":"string","description":"Team owning the repository"}]}'
获取为组织定义的自定义属性。组织成员可以读取这些属性。
custom_property_name
自定义属性名称。名称区分大小写。
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/properties/schema/CUSTOM_PROPERTY_NAME
{ "property_name": "environment", "value_type": "single_select", "required": true, "default_value": "production", "description": "Prod or dev environment", "allowed_values": [ "production", "development" ] }
创建新的或更新为组织定义的现有自定义属性。
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/properties/schema/CUSTOM_PROPERTY_NAME \ -d '{"value_type":"single_select","required":true,"default_value":"production","description":"Prod or dev environment","allowed_values":["production","development"]}'
移除为组织定义的自定义属性。
204
返回不含内容的标头。
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/properties/schema/CUSTOM_PROPERTY_NAME
状态:204
列出所有自定义属性值的组织仓库。组织成员可以读取这些属性。
per_page
每页结果数(最大 100)。有关更多信息,请参阅“在 REST API 中使用分页”。
默认: 30
30
page
要获取的结果的页码。有关更多信息,请参阅“在 REST API 中使用分页”。
默认: 1
1
repository_query
查找组织中包含一个或多个搜索关键字和限定符的查询的仓库。限定符允许您将搜索限制在 GitHub 的特定区域。REST API 支持与 GitHub Web 界面相同的限定符。要了解有关查询格式的更多信息,请参阅 构建搜索查询。有关限定符的详细列表,请参阅“搜索仓库”。
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/properties/values
[ { "repository_id": 1296269, "repository_name": "Hello-World", "repository_full_name": "octocat/Hello-World", "properties": [ { "property_name": "environment", "value": "production" }, { "property_name": "service", "value": "web" }, { "property_name": "team", "value": "octocat" } ] } ]
批量创建新自定义属性值或更新属于组织的仓库的现有自定义属性值。每个目标仓库的自定义属性值都将更新为与请求中提供的值相匹配。
单个请求中最多可以更新 30 个仓库。
为自定义属性使用 null 值将从存储库中移除或“取消设置”属性值。
custom_properties_org_values_editor
repository_names
将应用自定义属性值的存储库名称。
要应用于存储库的自定义属性名称和关联值的列表。
value
分配给该属性的值
当成功创建或更新自定义属性值时无内容
422
验证失败,或端点已受到垃圾邮件攻击。
curl -L \ -X PATCH \ -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/properties/values \ -d '{"repository_names":["Hello-World","octo-repo"],"properties":[{"property_name":"environment","value":"production"},{"property_name":"service","value":"web"},{"property_name":"team","value":"octocat"}]}'