Back to Gitlabhq

Ressources de l'API REST

doc-locale/fr-fr/api/api_resources.md

19.3.025.7 KB
Original Source

{{< details >}}

  • Édition : Gratuite, GitLab Premium, GitLab Ultimate
  • Offre : GitLab.com, GitLab Self-Managed, GitLab Dedicated

{{< /details >}}

L'API REST GitLab vous donne un contrôle programmatique sur les ressources GitLab. Créez des intégrations avec vos outils existants, automatisez les tâches répétitives et extrayez des données pour des rapports personnalisés. Accédez aux projets, groupes, tickets et merge requests et manipulez-les sans utiliser l'interface web.

Utilisez l'API REST pour :

  • Automatiser la création de projets et la gestion des utilisateurs.
  • Déclencher des pipelines CI/CD depuis des systèmes externes.
  • Extraire des données de tickets et de merge requests pour des tableaux de bord personnalisés.
  • Intégrer GitLab avec des applications tierces.
  • Mettre en œuvre des workflows personnalisés sur plusieurs dépôts.

Les ressources de l'API REST sont organisées en :

Ressources de projet {#project-resources}

Les ressources d'API suivantes sont disponibles dans le contexte de projet :

RessourceEndpoints disponibles
Demandes d'accès/projects/:id/access_requests (également disponible pour les groupes)
Jetons d'accès/projects/:id/access_tokens (également disponible pour les groupes)
Agents/projects/:id/cluster_agents
Branches/projects/:id/repository/branches/, /projects/:id/repository/merged_branches
Commits/projects/:id/repository/commits, /projects/:id/statuses
Registre de conteneurs/projects/:id/registry/repositories
Règles de protection du registre de conteneurs/projects/:id/registry/protection/repository/rules
Règles de protection des tags du registre de conteneurs/projects/:id/registry/protection/tag/rules
Attributs personnalisés/projects/:id/custom_attributes (également disponible pour les groupes et les utilisateurs)
Distributions Composer/projects/:id/packages/composer (également disponible pour les groupes)
Distributions Conan v1/projects/:id/packages/conan (également disponible en autonome)
Distributions Conan v2/projects/:id/packages/conan (également disponible en autonome)
Distributions Debian/projects/:id/debian_distributions (également disponible pour les groupes)
Paquets Debian/projects/:id/packages/debian (également disponible pour les groupes)
Dépendances/projects/:id/dependencies
Clés de déploiement/projects/:id/deploy_keys (également disponible en autonome)
Jetons de déploiement/projects/:id/deploy_tokens (également disponible pour les groupes et en autonome)
Déploiements/projects/:id/deployments
Discussions (commentaires en fil de discussion)/projects/:id/issues/.../discussions, /projects/:id/snippets/.../discussions, /projects/:id/merge_requests/.../discussions, /projects/:id/commits/.../discussions (également disponible pour les groupes)
Notes provisoires (commentaires)/projects/:id/merge_requests/.../draft_notes
Réactions emoji/projects/:id/issues/.../award_emoji, /projects/:id/merge_requests/.../award_emoji, /projects/:id/snippets/.../award_emoji
Environnements/projects/:id/environments
Suivi des erreurs/projects/:id/error_tracking/settings
Événements/projects/:id/events (également disponible pour les utilisateurs et en autonome)
Vérifications de statut externes/projects/:id/external_status_checks
Listes d'utilisateurs de feature flag/projects/:id/feature_flags_user_lists
Feature flags/projects/:id/feature_flags
Périodes de gel/projects/:id/freeze_periods
Proxy Go/projects/:id/packages/go
Dépôt Helm/projects/:id/packages/helm_repository
Intégrations (anciennement « services »)/projects/:id/integrations
Invitations/projects/:id/invitations (également disponible pour les groupes)
Tableaux des tickets/projects/:id/boards
Liens de ticket/projects/:id/issues/.../links
Statistiques des tickets/projects/:id/issues_statistics (également disponible pour les groupes et en autonome)
Tickets/projects/:id/issues (également disponible pour les groupes et en autonome)
Itérations/projects/:id/iterations (également disponible pour les groupes)
Portée du jeton de job CI/CD du projet/projects/:id/job_token_scope
Jobs/projects/:id/jobs, /projects/:id/pipelines/.../jobs
Artefacts de job/projects/:id/jobs/:job_id/artifacts
Labels/projects/:id/labels
Dépôt Maven/projects/:id/packages/maven (également disponible pour les groupes et en autonome)
Membres/projects/:id/members (également disponible pour les groupes)
Approbations de merge request/projects/:id/approvals, /projects/:id/merge_requests/.../approvals
Merge requests/projects/:id/merge_requests (également disponible pour les groupes et en autonome)
Merge trains/projects/:id/merge_trains
Métadonnées/metadata
Registre de modèles/projects/:id/packages/ml_models/
Notes (commentaires)/projects/:id/issues/.../notes, /projects/:id/snippets/.../notes, /projects/:id/merge_requests/.../notes (également disponible pour les groupes)
Paramètres de notification/projects/:id/notification_settings (également disponible pour les groupes et en autonome)
Dépôt NPM/projects/:id/packages/npm
Paquets NuGet/projects/:id/packages/nuget (également disponible pour les groupes)
Paquets/projects/:id/packages
Domaines Pages/projects/:id/pages/domains (également disponible en autonome)
Paramètres Pages/projects/:id/pages
Planifications de pipeline/projects/:id/pipeline_schedules
Déclencheurs de pipeline/projects/:id/triggers
Pipelines/projects/:id/pipelines
Badges de projet/projects/:id/badges
Clusters de projet/projects/:id/clusters
Import/export de projet/projects/:id/export, /projects/import, /projects/:id/import
Jalons de projet/projects/:id/milestones
Extraits de code de projet/projects/:id/snippets
Modèles de projet/projects/:id/templates
Vulnérabilités de projet./projects/:id/vulnerabilities
Wikis de projet/projects/:id/wikis
Variables au niveau du projet/projects/:id/variables
Projets incluant la configuration des webhooks/projects, /projects/:id/hooks (également disponible pour les utilisateurs)
Branches protégées/projects/:id/protected_branches
Registre de conteneurs protégé/projects/:id/registry/protection/rules
Environnements protégés/projects/:id/protected_environments
Paquets protégés/projects/:id/packages/protection/rules
Tags protégés/projects/:id/protected_tags
Paquets PyPI/projects/:id/packages/pypi (également disponible pour les groupes)
Liens de release/projects/:id/releases/.../assets/links
Releases/projects/:id/releases
Miroirs distants/projects/:id/remote_mirrors
Dépôts/projects/:id/repository
Fichiers du dépôt/projects/:id/repository/files
Sous-modules du dépôt/projects/:id/repository/submodules
Événements de label de ressource/projects/:id/issues/.../resource_label_events, /projects/:id/merge_requests/.../resource_label_events (également disponible pour les groupes)
Gems Ruby/projects/:id/packages/rubygems
Runners/projects/:id/runners (également disponible en autonome)
Recherche/projects/:id/search (également disponible pour les groupes et en autonome)
Tags/projects/:id/repository/tags
Modules Terraform/projects/:id/packages/terraform/modules (également disponible en autonome)
Valider le fichier .gitlab-ci.yml/projects/:id/ci/lint
Vulnérabilités/vulnerabilities/:id
Exports de vulnérabilités/projects/:id/vulnerability_exports
Résultats de vulnérabilités/projects/:id/vulnerability_findings

Ressources de groupe {#group-resources}

Les ressources d'API suivantes sont disponibles dans le contexte de groupe :

RessourceEndpoints disponibles
Demandes d'accès/groups/:id/access_requests/ (également disponible pour les projets)
Jetons d'accès/groups/:id/access_tokens (également disponible pour les projets)
Attributs personnalisés/groups/:id/custom_attributes (également disponible pour les projets et les utilisateurs)
Distributions Debian/groups/:id/-/packages/debian (également disponible pour les projets)
Jetons de déploiement/groups/:id/deploy_tokens (également disponible pour les projets et en autonome)
Discussions (commentaires et fils de discussion)/groups/:id/epics/.../discussions (également disponible pour les projets)
Tickets d'epic/groups/:id/epics/.../issues
Liens d'epic/groups/:id/epics/.../epics
Epics/groups/:id/epics
Groupes/groups, /groups/.../subgroups
Badges de groupe/groups/:id/badges
Tableaux des tickets de groupe/groups/:id/boards
Itérations de groupe/groups/:id/iterations (également disponible pour les projets)
Labels de groupe/groups/:id/labels
Variables au niveau du groupe/groups/:id/variables
Jalons de groupe/groups/:id/milestones
Releases de groupe/groups/:id/releases
Certificats SSH de groupe/groups/:id/ssh_certificates
Wikis de groupe/groups/:id/wikis
Invitations/groups/:id/invitations (également disponible pour les projets)
Tickets/groups/:id/issues (également disponible pour les projets et en autonome)
Statistiques des tickets/groups/:id/issues_statistics (également disponible pour les projets et en autonome)
Epics liés/groups/:id/epics/.../related_epics
Rôles de membre/groups/:id/member_roles
Membres/groups/:id/members (également disponible pour les projets)
Merge requests/groups/:id/merge_requests (également disponible pour les projets et en autonome)
Notes (commentaires)/groups/:id/epics/.../notes (également disponible pour les projets)
Paramètres de notification/groups/:id/notification_settings (également disponible pour les projets et en autonome)
Événements de label de ressource/groups/:id/epics/.../resource_label_events (également disponible pour les projets)
Recherche/groups/:id/search (également disponible pour les projets et en autonome)

Ressources autonomes {#standalone-resources}

Les ressources d'API suivantes sont disponibles en dehors des contextes de projet et de groupe (y compris /users) :

RessourceEndpoints disponibles
Apparence/application/appearance
Applications/applications
Événements d'audit/audit_events
Avatar/avatar
Messages de diffusion/broadcast_messages
Extraits de code/snippets
Code Suggestions/code_suggestions
Attributs personnalisés/users/:id/custom_attributes (également disponible pour les groupes et les projets)
Exports de liste de dépendances/pipelines/:id/dependency_list_exports, /projects/:id/dependency_list_exports, /groups/:id/dependency_list_exports, /security/dependency_list_exports/:id, /security/dependency_list_exports/:id/download
Clés de déploiement/deploy_keys (également disponible pour les projets)
Jetons de déploiement/deploy_tokens (également disponible pour les projets et les groupes)
Flows de la plateforme d'agents GitLab Duo/ai/duo_workflows
Événements/events, /users/:id/events (également disponible pour les projets)
Feature flags/features
Nœuds Geo/geo_nodes
GLQL/glql
Analytique d'activité de groupe/analytics/group_activity/{issues_count}
Déplacements de stockage du dépôt de groupe/group_repository_storage_moves
Importer un dépôt depuis GitHub/import/github
Importer un dépôt depuis Bitbucket Server/import/bitbucket_server
Clusters d'instance/admin/clusters
Variables CI/CD au niveau de l'instance/admin/ci/variables
Statistiques des tickets/issues_statistics (également disponible pour les groupes et les projets)
Tickets/issues (également disponible pour les groupes et les projets)
Jobs/job
Clés/keys
Licence/license
Markdown/markdown
Merge requests/merge_requests (également disponible pour les groupes et les projets)
Espaces de nommage/namespaces
Paramètres de notification/notification_settings (également disponible pour les groupes et les projets)
Paramètres de conformité et de politique/admin/security/compliance_policy_settings
Domaines Pages/pages/domains (également disponible pour les projets)
Jetons d'accès personnels/personal_access_tokens
Limites de plan/application/plan_limits
Déplacements de stockage du dépôt de projet/project_repository_storage_moves
Projets/users/:id/projects (également disponible pour les projets)
Runners/runners (également disponible pour les projets)
Recherche/search (également disponible pour les groupes et les projets)
Données de service/usage_data (réservé aux utilisateurs Administrateur de l'instance GitLab)
Paramètres/application/settings
Métriques Sidekiq/sidekiq
Administration des files d'attente Sidekiq/admin/sidekiq/queues/:queue_name
Déplacements de stockage du dépôt d'extrait de code/snippet_repository_storage_moves
Statistiques/application/statistics
Suggestions/suggestions
Hooks système/hooks
Tâches/todos
Informations sur les jetons/admin/token
Sujets/topics
Applications utilisateur/user/applications
Utilisateurs/users
Commits web/web_commits/public_key

Ressources de modèles {#template-resources}

Des endpoints sont disponibles pour :