doc-locale/fr-fr/api/project_job_token_scopes.md
{{< details >}}
{{< /details >}}
Utilisez cette API pour interagir avec les portées du jeton de job CI/CD.
[!note] Toutes les requêtes vers le point de terminaison de l'API de portée du jeton de job CI/CD doivent être authentifiées. L'utilisateur authentifié doit avoir le rôle Maintainer ou Owner pour le projet.
Récupère les paramètres d'accès au jeton de job CI/CD (portée du jeton de job) d'un projet spécifié.
GET /projects/:id/job_token_scope
Attributs pris en charge :
| Attribut | Type | Obligatoire | Description |
|---|---|---|---|
id | entier ou chaîne | Oui | ID ou chemin encodé en URL du projet. |
En cas de succès, renvoie 200 et les attributs de réponse suivants :
| Attribut | Type | Description |
|---|---|---|
inbound_enabled | boolean | Indique si le paramètre Groupes et projets autorisés est activé pour la liste d'autorisation. Si désactivé, alors tous les projets ont accès. Cette valeur indique si la liste d'autorisation est actuellement active, ce qui peut être true en raison du paramètre d'instance Enforce job token allowlist. |
outbound_enabled | boolean | Indique si le jeton de job CI/CD généré dans ce projet a accès à d'autres projets. Déprécié et dont la suppression est prévue dans GitLab 18.0. |
Exemple de requête :
curl --request GET \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/1/job_token_scope"
Exemple de réponse :
{
"inbound_enabled": true,
"outbound_enabled": false
}
{{< history >}}
{{< /history >}}
Met à jour le paramètre Groupes et projets autorisés (portée du jeton de job) d'un projet spécifié.
PATCH /projects/:id/job_token_scope
Attributs pris en charge :
| Attribut | Type | Obligatoire | Description |
|---|---|---|---|
id | entier ou chaîne | Oui | ID ou chemin encodé en URL du projet. |
enabled | boolean | Oui | Restreint l'accès au jeton de job aux seuls projets figurant dans la liste d'autorisation. Définissez sur false pour autoriser l'accès depuis tous les projets. Ce paramètre peut être remplacé par le paramètre d'instance Enforce job token allowlist. |
En cas de succès, renvoie 204 et aucun corps de réponse.
Si le paramètre d'instance Enforce job token allowlist est activé et que vous tentez de définir enabled sur false, renvoie 400 avec un message d'erreur.
Exemple de requête :
curl --request PATCH \
--url "https://gitlab.example.com/api/v4/projects/1/job_token_scope" \
--header 'PRIVATE-TOKEN: <your_access_token>' \
--header 'Content-Type: application/json' \
--data '{ "enabled": false }'
Répertorie tous les projets dans la liste d'autorisation de jeton de job CI/CD d'un projet spécifié.
GET /projects/:id/job_token_scope/allowlist
Attributs pris en charge :
| Attribut | Type | Obligatoire | Description |
|---|---|---|---|
id | entier ou chaîne | Oui | ID ou chemin encodé en URL du projet. |
Ce point de terminaison prend en charge la pagination basée sur les décalages.
En cas de succès, renvoie 200 et une liste de projets avec des champs limités pour chaque projet.
Exemple de requête :
curl --request GET \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/1/job_token_scope/allowlist"
Exemple de réponse :
[
{
"id": 4,
"description": null,
"name": "Diaspora Client",
"name_with_namespace": "Diaspora / Diaspora Client",
"path": "diaspora-client",
"path_with_namespace": "diaspora/diaspora-client",
"created_at": "2013-09-30T13:46:02Z",
"default_branch": "main",
"tag_list": [
"example",
"disapora client"
],
"topics": [
"example",
"disapora client"
],
"ssh_url_to_repo": "[email protected]:diaspora/diaspora-client.git",
"http_url_to_repo": "https://gitlab.example.com/diaspora/diaspora-client.git",
"web_url": "https://gitlab.example.com/diaspora/diaspora-client",
"avatar_url": "https://gitlab.example.com/uploads/project/avatar/4/uploads/avatar.png",
"star_count": 0,
"last_activity_at": "2013-09-30T13:46:02Z",
"namespace": {
"id": 2,
"name": "Diaspora",
"path": "diaspora",
"kind": "group",
"full_path": "diaspora",
"parent_id": null,
"avatar_url": null,
"web_url": "https://gitlab.example.com/diaspora"
}
},
{
...
}
Ajoute un projet à la liste d'autorisation de jeton de job CI/CD d'un projet spécifié.
POST /projects/:id/job_token_scope/allowlist
Attributs pris en charge :
| Attribut | Type | Obligatoire | Description |
|---|---|---|---|
id | entier ou chaîne | Oui | ID ou chemin encodé en URL du projet. |
target_project_id | entier | Oui | L'ID du projet ajouté à la liste d'autorisation entrante de jeton de job CI/CD. |
En cas de succès, renvoie 201 et les attributs de réponse suivants :
| Attribut | Type | Description |
|---|---|---|
source_project_id | entier | ID du projet contenant la liste d'autorisation entrante de jeton de job CI/CD à mettre à jour. |
target_project_id | entier | ID du projet ajouté à la liste d'autorisation entrante du projet source. |
Exemple de requête :
curl --request POST \
--url "https://gitlab.example.com/api/v4/projects/1/job_token_scope/allowlist" \
--header 'PRIVATE-TOKEN: <your_access_token>' \
--header 'Content-Type: application/json' \
--data '{ "target_project_id": 2 }'
Exemple de réponse :
{
"source_project_id": 1,
"target_project_id": 2
}
Supprime un projet de la liste d'autorisation de jeton de job CI/CD d'un projet spécifié.
DELETE /projects/:id/job_token_scope/allowlist/:target_project_id
Attributs pris en charge :
| Attribut | Type | Obligatoire | Description |
|---|---|---|---|
id | entier ou chaîne | Oui | ID ou chemin encodé en URL du projet. |
target_project_id | entier | Oui | L'ID du projet supprimé de la liste d'autorisation entrante de jeton de job CI/CD. |
En cas de succès, renvoie 204 et aucun corps de réponse.
Exemple de requête :
curl --request DELETE \
--url "https://gitlab.example.com/api/v4/projects/1/job_token_scope/allowlist/2" \
--header 'PRIVATE-TOKEN: <your_access_token>' \
--header 'Content-Type: application/json'
Répertorie tous les groupes dans la liste d'autorisation de jeton de job CI/CD d'un projet spécifié.
GET /projects/:id/job_token_scope/groups_allowlist
Attributs pris en charge :
| Attribut | Type | Obligatoire | Description |
|---|---|---|---|
id | entier ou chaîne | Oui | ID ou chemin encodé en URL du projet. |
Ce point de terminaison prend en charge la pagination basée sur les décalages.
En cas de succès, renvoie 200 et une liste de groupes avec des champs limités pour chaque projet.
Exemple de requête :
curl --request GET \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/1/job_token_scope/groups_allowlist"
Exemple de réponse :
[
{
"id": 4,
"web_url": "https://gitlab.example.com/groups/diaspora/diaspora-group",
"name": "namegroup"
},
{
...
}
]
Ajoute un groupe à la liste d'autorisation de jeton de job CI/CD d'un projet spécifié.
POST /projects/:id/job_token_scope/groups_allowlist
Attributs pris en charge :
| Attribut | Type | Obligatoire | Description |
|---|---|---|---|
id | entier ou chaîne | Oui | ID ou chemin encodé en URL du projet. |
target_group_id | entier | Oui | L'ID du groupe ajouté à la liste d'autorisation des groupes de jeton de job CI/CD. |
En cas de succès, renvoie 201 et les attributs de réponse suivants :
| Attribut | Type | Description |
|---|---|---|
source_project_id | entier | ID du projet contenant la liste d'autorisation entrante de jeton de job CI/CD à mettre à jour. |
target_group_id | entier | ID du groupe ajouté à la liste d'autorisation des groupes du projet source. |
Exemple de requête :
curl --request POST \
--url "https://gitlab.example.com/api/v4/projects/1/job_token_scope/groups_allowlist" \
--header 'PRIVATE-TOKEN: <your_access_token>' \
--header 'Content-Type: application/json' \
--data '{ "target_group_id": 2 }'
Exemple de réponse :
{
"source_project_id": 1,
"target_group_id": 2
}
Supprime un groupe de la liste d'autorisation de jeton de job CI/CD d'un projet spécifié.
DELETE /projects/:id/job_token_scope/groups_allowlist/:target_group_id
Attributs pris en charge :
| Attribut | Type | Obligatoire | Description |
|---|---|---|---|
id | entier ou chaîne | Oui | ID ou chemin encodé en URL du projet. |
target_group_id | entier | Oui | L'ID du groupe supprimé de la liste d'autorisation des groupes de jeton de job CI/CD. |
En cas de succès, renvoie 204 et aucun corps de réponse.
Exemple de requête :
curl --request DELETE \
--url "https://gitlab.example.com/api/v4/projects/1/job_token_scope/groups_allowlist/2" \
--header 'PRIVATE-TOKEN: <your_access_token>' \
--header 'Content-Type: application/json'