Custom properties
Use the REST API to create and manage custom properties for an organization.
About custom properties
You can use the REST API to create and manage custom properties for an organization. You can use custom properties to add metadata to repositories in your organization. For more information, see "管理组织中存储库的自定义属性."
Note: The API endpoints for custom properties are in public beta and subject to change.
Get all custom properties for an organization
Gets all custom properties defined for an organization. You must be an organization owner to use this endpoint.
Parameters for "Get all custom properties for an organization"
名称, 类型, 说明 |
---|
accept string Setting to |
名称, 类型, 说明 |
---|
org string 必须The organization name. The name is not case sensitive. |
HTTP response status codes for "Get all custom properties for an organization"
Status code | Description |
---|---|
200 | OK |
403 | Forbidden |
404 | Resource not found |
Code samples for "Get all custom properties for an organization"
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
Response
Status: 200
[
{
"property_name": "environment",
"value_type": "single_select",
"required": true,
"default_value": "production",
"description": "Prod or dev environment",
"allowed_values": [
"production",
"development"
]
},
{
"property_name": "service",
"value_type": "string"
},
{
"property_name": "team",
"value_type": "string",
"description": "Team owning the repository"
}
]
Create or update custom properties for an organization
Creates new or updates existing custom properties defined for an organization in a batch. Only organization owners (or users with the proper permissions granted by them) can update these properties
Parameters for "Create or update custom properties for an organization"
名称, 类型, 说明 |
---|
accept string Setting to |
名称, 类型, 说明 |
---|
org string 必须The organization name. The name is not case sensitive. |
名称, 类型, 说明 | |||||||
---|---|---|---|---|---|---|---|
properties array of objects 必须The array of custom properties to create or update. | |||||||
Properties of |
名称, 类型, 说明 |
---|
property_name string 必须The name of the property |
value_type string 必须The type of the value for the property 可以是以下选项之一: |
required boolean Whether the property is required. |
default_value string or null Default value of the property |
description string or null Short description of the property |
allowed_values array of strings or null Ordered list of allowed values of the property |
HTTP response status codes for "Create or update custom properties for an organization"
Status code | Description |
---|---|
200 | OK |
403 | Forbidden |
404 | Resource not found |
Code samples for "Create or update custom properties for an organization"
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"]},{"property_name":"service","value_type":"string"},{"property_name":"team","value_type":"string","description":"Team owning the repository"}]}'
Response
Status: 200
[
{
"property_name": "environment",
"value_type": "single_select",
"required": true,
"default_value": "production",
"description": "Prod or dev environment",
"allowed_values": [
"production",
"development"
]
},
{
"property_name": "service",
"value_type": "string"
},
{
"property_name": "team",
"value_type": "string",
"description": "Team owning the repository"
}
]
Get a custom property for an organization
Gets a custom property that is defined for an organization. You must be an organization owner to use this endpoint.
Parameters for "Get a custom property for an organization"
名称, 类型, 说明 |
---|
accept string Setting to |
名称, 类型, 说明 |
---|
org string 必须The organization name. The name is not case sensitive. |
custom_property_name string 必须The custom property name. The name is case sensitive. |
HTTP response status codes for "Get a custom property for an organization"
Status code | Description |
---|---|
200 | OK |
403 | Forbidden |
404 | Resource not found |
Code samples for "Get a custom property for an organization"
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
Response
Status: 200
{
"property_name": "environment",
"value_type": "single_select",
"required": true,
"default_value": "production",
"description": "Prod or dev environment",
"allowed_values": [
"production",
"development"
]
}
Create or update a custom property for an organization
Creates a new or updates an existing custom property that is defined for an organization. You must be an organization owner to use this endpoint.
Parameters for "Create or update a custom property for an organization"
名称, 类型, 说明 |
---|
accept string Setting to |
名称, 类型, 说明 |
---|
org string 必须The organization name. The name is not case sensitive. |
custom_property_name string 必须The custom property name. The name is case sensitive. |
名称, 类型, 说明 |
---|
value_type string 必须The type of the value for the property 可以是以下选项之一: |
required boolean Whether the property is required. |
default_value string or null Default value of the property |
description string or null Short description of the property |
allowed_values array of strings or null Ordered list of allowed values of the property |
HTTP response status codes for "Create or update a custom property for an organization"
Status code | Description |
---|---|
200 | OK |
403 | Forbidden |
404 | Resource not found |
Code samples for "Create or update a custom property for an organization"
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"]}'
Response
Status: 200
{
"property_name": "environment",
"value_type": "single_select",
"required": true,
"default_value": "production",
"description": "Prod or dev environment",
"allowed_values": [
"production",
"development"
]
}
Remove a custom property for an organization
Removes a custom property that is defined for an organization. You must be an organization owner to use this endpoint.
Parameters for "Remove a custom property for an organization"
名称, 类型, 说明 |
---|
accept string Setting to |
名称, 类型, 说明 |
---|
org string 必须The organization name. The name is not case sensitive. |
custom_property_name string 必须The custom property name. The name is case sensitive. |
HTTP response status codes for "Remove a custom property for an organization"
Status code | Description |
---|---|
204 | A header with no content is returned. |
403 | Forbidden |
404 | Resource not found |
Code samples for "Remove a custom property for an organization"
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
A header with no content is returned.
Status: 204
List custom property values for organization repositories
Lists organization repositories with all of their custom property values. Organization members can read these properties.
Parameters for "List custom property values for organization repositories"
名称, 类型, 说明 |
---|
accept string Setting to |
名称, 类型, 说明 |
---|
org string 必须The organization name. The name is not case sensitive. |
名称, 类型, 说明 |
---|
per_page integer The number of results per page (max 100). 默认: |
page integer Page number of the results to fetch. 默认: |
repository_query string Finds repositories in the organization with a query containing one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see Constructing a search query. See "Searching for repositories" for a detailed list of qualifiers. |
HTTP response status codes for "List custom property values for organization repositories"
Status code | Description |
---|---|
200 | OK |
403 | Forbidden |
404 | Resource not found |
Code samples for "List custom property values for organization 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/properties/values
Response
Status: 200
[
{
"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"
}
]
}
]
Create or update custom property values for organization repositories
Create new or update existing custom property values for repositories in a batch that belong to an organization. Each target repository will have its custom property values updated to match the values provided in the request.
A maximum of 30 repositories can be updated in a single request.
Using a value of null
for a custom property will remove or 'unset' the property value from the repository.
Only organization owners (or users with the proper permissions granted by them) can update these properties
Parameters for "Create or update custom property values for organization repositories"
名称, 类型, 说明 |
---|
accept string Setting to |
名称, 类型, 说明 |
---|
org string 必须The organization name. The name is not case sensitive. |
名称, 类型, 说明 | |||
---|---|---|---|
repository_names array of strings 必须The names of repositories that the custom property values will be applied to. | |||
properties array of objects 必须List of custom property names and associated values to apply to the repositories. | |||
Properties of |
名称, 类型, 说明 |
---|
property_name string 必须The name of the property |
value string or null 必须The value assigned to the property |
HTTP response status codes for "Create or update custom property values for organization repositories"
Status code | Description |
---|---|
204 | No Content when custom property values are successfully created or updated |
403 | Forbidden |
404 | Resource not found |
Code samples for "Create or update custom property values for organization repositories"
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"}]}'
No Content when custom property values are successfully created or updated
Status: 204