Skip to main content

Cette version de GitHub Enterprise Server n'est plus disponible depuis le 2024-09-25. Aucune publication de correctifs n’est effectuée, même pour les problèmes de sécurité critiques. Pour de meilleures performances, une sécurité améliorée et de nouvelles fonctionnalités, effectuez une mise à niveau vers la dernière version de GitHub Enterprise. Pour obtenir de l’aide sur la mise à niveau, contactez le support GitHub Enterprise.

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 collaborateurs Project (classic)

Utilisez l’API REST pour gérer les collaborateurs sur un projet (classique).

L’API REST permettant de gérer des projects (classic) prend uniquement en charge l’authentification à l’aide d’un personal access token (classic). Pour plus d’informations, consultez « Gestion de vos jetons d'accès personnels ».

List project collaborators

Lists the collaborators for an organization project. For a project, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. You must be an organization owner or a project admin to list collaborators.

Jetons d’accès affinés pour « List project collaborators »

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

Le jeton précis doit avoir au moins l’un des ensembles d’autorisations suivants:

  • "Projects" repository permissions (write)
  • "Projects" organization permissions (admin)

Paramètres pour « List project collaborators »

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
project_id integer Obligatoire

The unique identifier of the project.

Paramètres de requête
Nom, Type, Description
affiliation string

Filters the collaborators by their affiliation. outside means outside collaborators of a project that are not a member of the project's organization. direct means collaborators with permissions to a project, regardless of organization membership status. all means all collaborators the authenticated user can see.

Default: all

Peut être: outside, direct, all

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

Codes d’état de la réponse HTTP pour « List project collaborators »

Code d’étatDescription
200

OK

304

Not modified

401

Requires authentication

403

Forbidden

404

Resource not found

422

Validation failed, or the endpoint has been spammed.

Exemples de code pour « List project collaborators »

Exemple de requête

get/projects/{project_id}/collaborators
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/projects/PROJECT_ID/collaborators

Response

Status: 200
[ { "login": "octocat", "id": 1, "node_id": "MDQ6VXNlcjE=", "avatar_url": "https://github.com/images/error/octocat_happy.gif", "gravatar_id": "", "url": "https://HOSTNAME/users/octocat", "html_url": "https://github.com/octocat", "followers_url": "https://HOSTNAME/users/octocat/followers", "following_url": "https://HOSTNAME/users/octocat/following{/other_user}", "gists_url": "https://HOSTNAME/users/octocat/gists{/gist_id}", "starred_url": "https://HOSTNAME/users/octocat/starred{/owner}{/repo}", "subscriptions_url": "https://HOSTNAME/users/octocat/subscriptions", "organizations_url": "https://HOSTNAME/users/octocat/orgs", "repos_url": "https://HOSTNAME/users/octocat/repos", "events_url": "https://HOSTNAME/users/octocat/events{/privacy}", "received_events_url": "https://HOSTNAME/users/octocat/received_events", "type": "User", "site_admin": false } ]

Add project collaborator

Adds a collaborator to an organization project and sets their permission level. You must be an organization owner or a project admin to add a collaborator.

Jetons d’accès affinés pour « Add project collaborator »

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

Le jeton précis doit avoir au moins l’un des ensembles d’autorisations suivants:

  • "Projects" repository permissions (write)
  • "Projects" organization permissions (admin)

Paramètres pour « Add project collaborator »

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
project_id integer Obligatoire

The unique identifier of the project.

username string Obligatoire

The handle for the GitHub user account.

Paramètres du corps
Nom, Type, Description
permission string

The permission to grant the collaborator.

Default: write

Peut être: read, write, admin

Codes d’état de la réponse HTTP pour « Add project collaborator »

Code d’étatDescription
204

No Content

304

Not modified

401

Requires authentication

403

Forbidden

404

Resource not found

422

Validation failed, or the endpoint has been spammed.

Exemples de code pour « Add project collaborator »

Exemple de requête

put/projects/{project_id}/collaborators/{username}
curl -L \ -X PUT \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ http(s)://HOSTNAME/api/v3/projects/PROJECT_ID/collaborators/USERNAME \ -d '{"permission":"write"}'

Response

Status: 204

Remove user as a collaborator

Removes a collaborator from an organization project. You must be an organization owner or a project admin to remove a collaborator.

Jetons d’accès affinés pour « Remove user as a collaborator »

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

Le jeton précis doit avoir au moins l’un des ensembles d’autorisations suivants:

  • "Projects" repository permissions (write)
  • "Projects" organization permissions (admin)

Paramètres pour « Remove user as a collaborator »

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
project_id integer Obligatoire

The unique identifier of the project.

username string Obligatoire

The handle for the GitHub user account.

Codes d’état de la réponse HTTP pour « Remove user as a collaborator »

Code d’étatDescription
204

No Content

304

Not modified

401

Requires authentication

403

Forbidden

404

Resource not found

422

Validation failed, or the endpoint has been spammed.

Exemples de code pour « Remove user as a collaborator »

Exemple de requête

delete/projects/{project_id}/collaborators/{username}
curl -L \ -X DELETE \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ http(s)://HOSTNAME/api/v3/projects/PROJECT_ID/collaborators/USERNAME

Response

Status: 204

Get project permission for a user

Returns the collaborator's permission level for an organization project. Possible values for the permission key: admin, write, read, none. You must be an organization owner or a project admin to review a user's permission level.

Jetons d’accès affinés pour « Get project permission for a user »

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

Le jeton précis doit avoir au moins l’un des ensembles d’autorisations suivants:

  • "Projects" repository permissions (write)
  • "Projects" organization permissions (admin)

Paramètres pour « Get project permission for a user »

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
project_id integer Obligatoire

The unique identifier of the project.

username string Obligatoire

The handle for the GitHub user account.

Codes d’état de la réponse HTTP pour « Get project permission for a user »

Code d’étatDescription
200

OK

304

Not modified

401

Requires authentication

403

Forbidden

404

Resource not found

422

Validation failed, or the endpoint has been spammed.

Exemples de code pour « Get project permission for a user »

Exemple de requête

get/projects/{project_id}/collaborators/{username}/permission
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/projects/PROJECT_ID/collaborators/USERNAME/permission

Response

Status: 200
{ "permission": "admin", "user": { "login": "octocat", "id": 1, "node_id": "MDQ6VXNlcjE=", "avatar_url": "https://github.com/images/error/octocat_happy.gif", "gravatar_id": "", "url": "https://HOSTNAME/users/octocat", "html_url": "https://github.com/octocat", "followers_url": "https://HOSTNAME/users/octocat/followers", "following_url": "https://HOSTNAME/users/octocat/following{/other_user}", "gists_url": "https://HOSTNAME/users/octocat/gists{/gist_id}", "starred_url": "https://HOSTNAME/users/octocat/starred{/owner}{/repo}", "subscriptions_url": "https://HOSTNAME/users/octocat/subscriptions", "organizations_url": "https://HOSTNAME/users/octocat/orgs", "repos_url": "https://HOSTNAME/users/octocat/repos", "events_url": "https://HOSTNAME/users/octocat/events{/privacy}", "received_events_url": "https://HOSTNAME/users/octocat/received_events", "type": "User", "site_admin": false } }