REST API endpoints for custom properties - GitHub Docs (original) (raw)

Use the REST API to list the custom properties assigned to a repository by the organization.

About custom properties

You can use the REST API to view the custom properties that were assigned to a repository by the organization that owns the repository. For more information, see Managing custom properties for repositories in your organization. For more information about the REST API endpoints to manage custom properties, see REST API endpoints for custom properties.

Get all custom property values for a repository

Gets all custom property values that are set for a repository. Users with read access to the repository can use this endpoint.

Fine-grained access tokens for "Get all custom property values for a repository"

This endpoint works with the following fine-grained token types:

The fine-grained token must have the following permission set:

This endpoint can be used without authentication or the aforementioned permissions if only public resources are requested.

Parameters for "Get all custom property values for a repository"

Headers

Name, Type, Description
accept string Setting to application/vnd.github+json is recommended.

Path parameters

Name, Type, Description
owner string RequiredThe account owner of the repository. The name is not case sensitive.
repo string RequiredThe name of the repository without the .git extension. The name is not case sensitive.

HTTP response status codes for "Get all custom property values for a repository"

Status code Description
200 OK
403 Forbidden
404 Resource not found

Code samples for "Get all custom property values for a repository"

Request example

get/repos/{owner}/{repo}/properties/values

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/properties/values

Response

Status: 200

[ { "property_name": "environment", "value": "production" }, { "property_name": "service", "value": "web" }, { "property_name": "team", "value": "octocat" } ]

Create or update custom property values for a repository

Create new or update existing custom property values for a repository. Using a value of null for a custom property will remove or 'unset' the property value from the repository.

Repository admins and other users with the repository-level "edit custom property values" fine-grained permission can use this endpoint.

Fine-grained access tokens for "Create or update custom property values for a repository"

This endpoint works with the following fine-grained token types:

The fine-grained token must have the following permission set:

Parameters for "Create or update custom property values for a repository"

Headers

Name, Type, Description
accept string Setting to application/vnd.github+json is recommended.

Path parameters

Name, Type, Description
owner string RequiredThe account owner of the repository. The name is not case sensitive.
repo string RequiredThe name of the repository without the .git extension. The name is not case sensitive.

Body parameters

Name, Type, Description
properties array of objects RequiredA list of custom property names and associated values to apply to the repositories.
Properties of propertiesName, Type, Descriptionproperty_name string RequiredThe name of the propertyvalue null or string or array RequiredThe value assigned to the property

HTTP response status codes for "Create or update custom property values for a repository"

Status code Description
204 No Content when custom property values are successfully created or updated
403 Forbidden
404 Resource not found
422 Validation failed, or the endpoint has been spammed.

Code samples for "Create or update custom property values for a repository"

Request example

patch/repos/{owner}/{repo}/properties/values

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/repos/OWNER/REPO/properties/values \ -d '{"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