Skip to main content
L’API REST est maintenant versionnée. Pour plus d’informations, consultez « À propos des versions de l’API ».

Points de terminaison d’API REST pour les propriétés personnalisées

Utilisez l’API REST afin de créer et gérer des propriétés personnalisées pour une organisation.

À propos des propriétés personnalisées

Vous pouvez utiliser l’API REST afin de créer et gérer des propriétés personnalisées pour une organisation. Vous pouvez utiliser des propriétés personnalisées pour ajouter des métadonnées aux référentiels de votre organisation. Pour plus d’informations, consultez « Gestion des propriétés personnalisées pour les référentiels de votre organisation ».

Get all custom properties for an organization

Gets all custom properties defined for an organization. Organization members can read these properties.

Jetons d’accès affinés pour « Get all custom properties for an organization »

Ce point de terminaison fonctionne avec les types de jetons précis suivants:

Le jeton précis doit avoir l’ensemble d’autorisations suivant:

  • "Custom properties" organization permissions (read)

Paramètres pour « Get all custom properties for an organization »

En-têtes
Nom, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Paramètres de chemin d’accès
Nom, Type, Description
org string Obligatoire

The organization name. The name is not case sensitive.

Codes d’état de la réponse HTTP pour « Get all custom properties for an organization »

Code d’étatDescription
200

OK

403

Forbidden

404

Resource not found

Exemples de code pour « Get all custom properties for an organization »

Exemple de requête

get/orgs/{org}/properties/schema
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", "url": "https://api.github.com/orgs/github/properties/schema/environment", "source_type": "organization", "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", "url": "https://api.github.com/orgs/github/properties/schema/service", "source_type": "organization", "value_type": "string" }, { "property_name": "team", "url": "https://api.github.com/orgs/github/properties/schema/team", "source_type": "organization", "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.

To use this endpoint, the authenticated user must be one of:

  • An administrator for the organization.
  • A user, or a user on a team, with the fine-grained permission of custom_properties_org_definitions_manager in the organization.

Jetons d’accès affinés pour « Create or update custom properties for an organization »

Ce point de terminaison fonctionne avec les types de jetons précis suivants:

Le jeton précis doit avoir l’ensemble d’autorisations suivant:

  • "Custom properties" organization permissions (admin)

Paramètres pour « Create or update custom properties for an organization »

En-têtes
Nom, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Paramètres de chemin d’accès
Nom, Type, Description
org string Obligatoire

The organization name. The name is not case sensitive.

Paramètres du corps
Nom, Type, Description
properties array of objects Obligatoire

The array of custom properties to create or update.

Nom, Type, Description
property_name string Obligatoire

The name of the property

url string

The URL that can be used to fetch, update, or delete info about this property via the API.

source_type string

The source type of the property

Peut être: organization, enterprise

value_type string Obligatoire

The type of the value for the property

Peut être: string, single_select, multi_select, true_false

required boolean

Whether the property is required.

default_value null or string or array

Default value of the property

description string or null

Short description of the property

allowed_values array of strings or null

An ordered list of the allowed values of the property. The property can have up to 200 allowed values.

values_editable_by string or null

Who can edit the values of the property

Peut être: org_actors, org_and_repo_actors, null

Codes d’état de la réponse HTTP pour « Create or update custom properties for an organization »

Code d’étatDescription
200

OK

403

Forbidden

404

Resource not found

Exemples de code pour « Create or update custom properties for an organization »

Exemple de requête

patch/orgs/{org}/properties/schema
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"}]}'

Response

Status: 200
[ { "property_name": "environment", "url": "https://api.github.com/orgs/github/properties/schema/environment", "source_type": "organization", "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", "url": "https://api.github.com/orgs/github/properties/schema/service", "source_type": "organization", "value_type": "string" }, { "property_name": "team", "url": "https://api.github.com/orgs/github/properties/schema/team", "source_type": "organization", "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. Organization members can read these properties.

Jetons d’accès affinés pour « Get a custom property for an organization »

Ce point de terminaison fonctionne avec les types de jetons précis suivants:

Le jeton précis doit avoir l’ensemble d’autorisations suivant:

  • "Custom properties" organization permissions (read)

Paramètres pour « Get a custom property for an organization »

En-têtes
Nom, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Paramètres de chemin d’accès
Nom, Type, Description
org string Obligatoire

The organization name. The name is not case sensitive.

custom_property_name string Obligatoire

The custom property name

Codes d’état de la réponse HTTP pour « Get a custom property for an organization »

Code d’étatDescription
200

OK

403

Forbidden

404

Resource not found

Exemples de code pour « Get a custom property for an organization »

Exemple de requête

get/orgs/{org}/properties/schema/{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

Response

Status: 200
{ "property_name": "environment", "url": "https://api.github.com/orgs/github/properties/schema/environment", "source_type": "organization", "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.

To use this endpoint, the authenticated user must be one of:

  • An administrator for the organization.
  • A user, or a user on a team, with the fine-grained permission of custom_properties_org_definitions_manager in the organization.

Jetons d’accès affinés pour « Create or update a custom property for an organization »

Ce point de terminaison fonctionne avec les types de jetons précis suivants:

Le jeton précis doit avoir l’ensemble d’autorisations suivant:

  • "Custom properties" organization permissions (admin)

Paramètres pour « Create or update a custom property for an organization »

En-têtes
Nom, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Paramètres de chemin d’accès
Nom, Type, Description
org string Obligatoire

The organization name. The name is not case sensitive.

custom_property_name string Obligatoire

The custom property name

Paramètres du corps
Nom, Type, Description
value_type string Obligatoire

The type of the value for the property

Peut être: string, single_select, multi_select, true_false

required boolean

Whether the property is required.

default_value null or string or array

Default value of the property

description string or null

Short description of the property

allowed_values array of strings or null

An ordered list of the allowed values of the property. The property can have up to 200 allowed values.

Codes d’état de la réponse HTTP pour « Create or update a custom property for an organization »

Code d’étatDescription
200

OK

403

Forbidden

404

Resource not found

Exemples de code pour « Create or update a custom property for an organization »

Exemple de requête

put/orgs/{org}/properties/schema/{custom_property_name}
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", "url": "https://api.github.com/orgs/github/properties/schema/environment", "source_type": "organization", "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.

To use this endpoint, the authenticated user must be one of:

  • An administrator for the organization.
  • A user, or a user on a team, with the fine-grained permission of custom_properties_org_definitions_manager in the organization.

Jetons d’accès affinés pour « Remove a custom property for an organization »

Ce point de terminaison fonctionne avec les types de jetons précis suivants:

Le jeton précis doit avoir l’ensemble d’autorisations suivant:

  • "Custom properties" organization permissions (admin)

Paramètres pour « Remove a custom property for an organization »

En-têtes
Nom, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Paramètres de chemin d’accès
Nom, Type, Description
org string Obligatoire

The organization name. The name is not case sensitive.

custom_property_name string Obligatoire

The custom property name

Codes d’état de la réponse HTTP pour « Remove a custom property for an organization »

Code d’étatDescription
204

A header with no content is returned.

403

Forbidden

404

Resource not found

Exemples de code pour « Remove a custom property for an organization »

Exemple de requête

delete/orgs/{org}/properties/schema/{custom_property_name}
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.

Jetons d’accès affinés pour « List custom property values for organization repositories »

Ce point de terminaison fonctionne avec les types de jetons précis suivants:

Le jeton précis doit avoir l’ensemble d’autorisations suivant:

  • "Custom properties" organization permissions (read)

Paramètres pour « List custom property values for organization repositories »

En-têtes
Nom, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Paramètres de chemin d’accès
Nom, Type, Description
org string Obligatoire

The organization name. The name is not case sensitive.

Paramètres de requête
Nom, Type, Description
per_page integer

The number of results per page (max 100). For more information, see "Using pagination in the REST API."

Default: 30

page integer

The page number of the results to fetch. For more information, see "Using pagination in the REST API."

Default: 1

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.

Codes d’état de la réponse HTTP pour « List custom property values for organization repositories »

Code d’étatDescription
200

OK

403

Forbidden

404

Resource not found

Exemples de code pour « List custom property values for organization repositories »

Exemple de requête

get/orgs/{org}/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/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.

To use this endpoint, the authenticated user must be one of:

  • An administrator for the organization.
  • A user, or a user on a team, with the fine-grained permission of custom_properties_org_values_editor in the organization.

Jetons d’accès affinés pour « Create or update custom property values for organization repositories »

Ce point de terminaison fonctionne avec les types de jetons précis suivants:

Le jeton précis doit avoir l’ensemble d’autorisations suivant:

  • "Custom properties" organization permissions (write)

Paramètres pour « Create or update custom property values for organization repositories »

En-têtes
Nom, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Paramètres de chemin d’accès
Nom, Type, Description
org string Obligatoire

The organization name. The name is not case sensitive.

Paramètres du corps
Nom, Type, Description
repository_names array of strings Obligatoire

The names of repositories that the custom property values will be applied to.

properties array of objects Obligatoire

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

Nom, Type, Description
property_name string Obligatoire

The name of the property

value null or string or array Obligatoire

The value assigned to the property

Codes d’état de la réponse HTTP pour « Create or update custom property values for organization repositories »

Code d’étatDescription
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.

Exemples de code pour « Create or update custom property values for organization repositories »

Exemple de requête

patch/orgs/{org}/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/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