doc-locale/fr-fr/api/member_roles.md
{{< details >}}
{{< /details >}}
{{< history >}}
customizable_roles flag, désactivé par défaut.admin_merge_request. Désactivé par défaut.admin_merge_request supprimé dans GitLab 16.5.admin_group_member. Désactivé par défaut. Le feature flag a été supprimé dans GitLab 16.6.manage_project_access_tokens. Désactivé par défaut.{{< /history >}}
Utilisez cette API pour interagir avec les rôles de membre de vos groupes GitLab.com ou de l'ensemble de votre instance GitLab Self-Managed.
{{< details >}}
{{< /details >}}
Prérequis :
Récupère tous les rôles de membre d'une instance.
GET /member_roles
Exemple de requête :
curl --request GET \
--header "Authorization: Bearer <your_access_token>" \
--url "https://gitlab.example.com/api/v4/member_roles"
Exemple de réponse :
[
{
"id": 2,
"name": "Instance custom role",
"description": "Custom guest that can read code",
"group_id": null,
"base_access_level": 10,
"admin_cicd_variables": false,
"admin_compliance_framework": false,
"admin_group_member": false,
"admin_merge_request": false,
"admin_push_rules": false,
"admin_terraform_state": false,
"admin_vulnerability": false,
"admin_web_hook": false,
"archive_project": false,
"manage_deploy_tokens": false,
"manage_group_access_tokens": false,
"manage_merge_request_settings": false,
"manage_project_access_tokens": false,
"manage_security_policy_link": false,
"read_code": true,
"read_runners": false,
"read_dependency": false,
"read_vulnerability": false,
"remove_group": false,
"remove_project": false
}
]
Crée un rôle de membre à l'échelle de l'instance.
POST /member_roles
Attributs pris en charge :
| Attribut | Type | Obligatoire | Description |
|---|---|---|---|
name | string | oui | Le nom du rôle de membre. |
description | string | non | La description du rôle de membre. |
base_access_level | entier | oui | Niveau d'accès de base pour le rôle configuré. Les valeurs valides sont 10 (Guest), 15 (Planificateur), 20 (Reporter), 25 (Responsable sécurité), 30 (Developer), 40 (Maintainer) ou 50 (Owner). |
admin_cicd_variables | boolean | non | Autorisation de créer, lire, mettre à jour et supprimer des variables CI/CD. |
admin_compliance_framework | boolean | non | Autorisation d'administrer les frameworks de conformité. |
admin_group_member | boolean | non | Autorisation d'ajouter, de supprimer et d'assigner des membres dans un groupe. |
admin_merge_request | boolean | non | Autorisation d'approuver des merge requests. |
admin_push_rules | boolean | non | Autorisation de configurer les règles de push pour les dépôts au niveau du groupe ou du projet. |
admin_terraform_state | boolean | non | Autorisation d'administrer l'état terraform du projet. |
admin_vulnerability | boolean | non | Autorisation de modifier l'objet vulnérabilité, y compris le statut et la liaison avec un ticket. |
admin_web_hook | boolean | non | Autorisation d'administrer les webhooks. |
archive_project | boolean | non | Autorisation d'archiver des projets. |
manage_deploy_tokens | boolean | non | Autorisation de gérer les jetons de déploiement. |
manage_group_access_tokens | boolean | non | Autorisation de gérer les jetons d'accès de groupe. |
manage_merge_request_settings | boolean | non | Autorisation de configurer les paramètres des merge requests. |
manage_project_access_tokens | boolean | non | Autorisation de gérer les jetons d'accès au projet. |
manage_security_policy_link | boolean | non | Autorisation de lier des projets de politique de sécurité. |
read_code | boolean | non | Autorisation de lire le code du projet. |
read_runners | boolean | non | Autorisation de consulter les runners de projet. |
read_dependency | boolean | non | Autorisation de lire les dépendances du projet. |
read_vulnerability | boolean | non | Autorisation de lire les vulnérabilités du projet. |
remove_group | boolean | non | Autorisation de supprimer ou de restaurer un groupe. |
remove_project | boolean | non | Autorisation de supprimer un projet. |
Pour plus d'informations sur les autorisations disponibles, consultez les autorisations personnalisées.
Exemple de requête :
curl --request POST \
--header "Content-Type: application/json" \
--header "Authorization: Bearer <your_access_token>" \
--data '{"name" : "Custom guest (instance)", "base_access_level" : 10, "read_code" : true}' \
--url "https://gitlab.example.com/api/v4/member_roles"
Exemple de réponse :
{
"id": 3,
"name": "Custom guest (instance)",
"group_id": null,
"description": null,
"base_access_level": 10,
"admin_cicd_variables": false,
"admin_compliance_framework": false,
"admin_group_member": false,
"admin_merge_request": false,
"admin_push_rules": false,
"admin_terraform_state": false,
"admin_vulnerability": false,
"admin_web_hook": false,
"archive_project": false,
"manage_deploy_tokens": false,
"manage_group_access_tokens": false,
"manage_merge_request_settings": false,
"manage_project_access_tokens": false,
"manage_security_policy_link": false,
"read_code": true,
"read_runners": false,
"read_dependency": false,
"read_vulnerability": false,
"remove_group": false,
"remove_project": false
}
Supprime un rôle de membre de l'instance.
DELETE /member_roles/:member_role_id
Attributs pris en charge :
| Attribut | Type | Obligatoire | Description |
|---|---|---|---|
member_role_id | entier | oui | L'ID du rôle de membre. |
En cas de succès, renvoie 204 et une réponse vide.
Exemple de requête :
curl --request DELETE \
--header "Content-Type: application/json" \
--header "Authorization: Bearer <your_access_token>" \
--url "https://gitlab.example.com/api/v4/member_roles/1"
{{< details >}}
{{< /details >}}
Prérequis :
GET /groups/:id/member_roles
Attributs pris en charge :
| Attribut | Type | Obligatoire | Description |
|---|---|---|---|
id | entier ou chaîne | oui | L'ID ou le chemin encodé en URL du groupe |
Exemple de requête :
curl --request GET \
--header "Authorization: Bearer <your_access_token>" \
--url "https://gitlab.example.com/api/v4/groups/84/member_roles"
Exemple de réponse :
[
{
"id": 2,
"name": "Guest + read code",
"description": "Custom guest that can read code",
"group_id": 84,
"base_access_level": 10,
"admin_cicd_variables": false,
"admin_compliance_framework": false,
"admin_group_member": false,
"admin_merge_request": false,
"admin_push_rules": false,
"admin_terraform_state": false,
"admin_vulnerability": false,
"admin_web_hook": false,
"archive_project": false,
"manage_deploy_tokens": false,
"manage_group_access_tokens": false,
"manage_merge_request_settings": false,
"manage_project_access_tokens": false,
"manage_security_policy_link": false,
"read_code": true,
"read_runners": false,
"read_dependency": false,
"read_vulnerability": false,
"remove_group": false,
"remove_project": false
},
{
"id": 3,
"name": "Guest + security",
"description": "Custom guest that can read and administer security entities",
"group_id": 84,
"base_access_level": 10,
"admin_cicd_variables": false,
"admin_compliance_framework": false,
"admin_group_member": false,
"admin_merge_request": false,
"admin_push_rules": false,
"admin_terraform_state": false,
"admin_vulnerability": true,
"admin_web_hook": false,
"archive_project": false,
"manage_deploy_tokens": false,
"manage_group_access_tokens": false,
"manage_merge_request_settings": false,
"manage_project_access_tokens": false,
"manage_security_policy_link": false,
"read_code": true,
"read_runners": false,
"read_dependency": true,
"read_vulnerability": true,
"remove_group": false,
"remove_project": false
}
]
{{< history >}}
{{< /history >}}
Ajoute un rôle de membre à un groupe. Vous pouvez uniquement ajouter des rôles de membre au niveau racine du groupe.
POST /groups/:id/member_roles
Paramètres :
| Attribut | Type | Obligatoire | Description |
|---|---|---|---|
id | entier ou chaîne | oui | L'ID ou le chemin encodé en URL du groupe. |
admin_cicd_variables | boolean | non | Autorisation de créer, lire, mettre à jour et supprimer des variables CI/CD. |
admin_compliance_framework | boolean | non | Autorisation d'administrer les frameworks de conformité. |
admin_group_member | boolean | non | Autorisation d'ajouter, de supprimer et d'assigner des membres dans un groupe. |
admin_merge_request | boolean | non | Autorisation d'approuver des merge requests. |
admin_push_rules | boolean | non | Autorisation de configurer les règles de push pour les dépôts au niveau du groupe ou du projet. |
admin_terraform_state | boolean | non | Autorisation d'administrer l'état terraform du projet. |
admin_vulnerability | boolean | non | Autorisation d'administrer les vulnérabilités du projet. |
admin_web_hook | boolean | non | Autorisation d'administrer les webhooks. |
archive_project | boolean | non | Autorisation d'archiver des projets. |
manage_deploy_tokens | boolean | non | Autorisation de gérer les jetons de déploiement. |
manage_group_access_tokens | boolean | non | Autorisation de gérer les jetons d'accès de groupe. |
manage_merge_request_settings | boolean | non | Autorisation de configurer les paramètres des merge requests. |
manage_project_access_tokens | boolean | non | Autorisation de gérer les jetons d'accès au projet. |
manage_security_policy_link | boolean | non | Autorisation de lier des projets de politique de sécurité. |
read_code | boolean | non | Autorisation de lire le code du projet. |
read_runners | boolean | non | Autorisation de consulter les runners de projet. |
read_dependency | boolean | non | Autorisation de lire les dépendances du projet. |
read_vulnerability | boolean | non | Autorisation de lire les vulnérabilités du projet. |
remove_group | boolean | non | Autorisation de supprimer ou de restaurer un groupe. |
remove_project | boolean | non | Autorisation de supprimer un projet. |
Exemple de requête :
curl --request POST \
--header "Content-Type: application/json" \
--header "Authorization: Bearer <your_access_token>" \
--data '{"name" : "Custom guest", "base_access_level" : 10, "read_code" : true}' \
--url "https://gitlab.example.com/api/v4/groups/84/member_roles"
Exemple de réponse :
{
"id": 3,
"name": "Custom guest",
"description": null,
"group_id": 84,
"base_access_level": 10,
"admin_cicd_variables": false,
"admin_compliance_framework": false,
"admin_group_member": false,
"admin_merge_request": false,
"admin_push_rules": false,
"admin_terraform_state": false,
"admin_vulnerability": false,
"admin_web_hook": false,
"archive_project": false,
"manage_deploy_tokens": false,
"manage_group_access_tokens": false,
"manage_merge_request_settings": false,
"manage_project_access_tokens": false,
"manage_security_policy_link": false,
"read_code": true,
"read_runners": false,
"read_dependency": false,
"read_vulnerability": false,
"remove_group": false,
"remove_project": false
}
Dans GitLab 16.3 et versions ultérieures, vous pouvez utiliser l'API pour :
Supprime un rôle de membre d'un groupe.
DELETE /groups/:id/member_roles/:member_role_id
| Attribut | Type | Obligatoire | Description |
|---|---|---|---|
id | entier ou chaîne | oui | L'ID ou le chemin encodé en URL du groupe. |
member_role_id | entier | oui | L'ID du rôle de membre. |
En cas de succès, renvoie 204 et une réponse vide.
Exemple de requête :
curl --request DELETE \
--header "Content-Type: application/json" \
--header "Authorization: Bearer <your_access_token>" \
--url "https://gitlab.example.com/api/v4/groups/84/member_roles/1"