Skip to main content

Enterprise Server 3.15 is currently available as a release candidate.

The REST API is now versioned. For more information, see "About API versioning."

REST API endpoints for custom properties

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:

  • "Metadata" repository permissions (read)

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 Required

The account owner of the repository. The name is not case sensitive.

repo string Required

The 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 codeDescription
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" \ http(s)://HOSTNAME/api/v3/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:

  • "Custom properties" repository permissions (write)

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 Required

The account owner of the repository. The name is not case sensitive.

repo string Required

The name of the repository without the .git extension. The name is not case sensitive.

Body parameters
Name, Type, Description
properties array of objects Required

A list of custom property names and associated values to apply to the repositories.

Name, Type, Description
property_name string Required

The name of the property

value null or string or array Required

The value assigned to the property

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

Status codeDescription
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" \ http(s)://HOSTNAME/api/v3/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

Status: 204