Ce produit n'est pas pris en charge par le site Datadog que vous avez sélectionné. ().

Section Overview

Si votre fournisseur CI n’est pas pris en charge, vous pouvez envoyer des pipelines personnalisés via HTTP en utilisant l’endpoint d’API publique. Pour en savoir plus sur la façon dont les exécutions de pipeline sont modélisées, consultez la section Modèle de données de pipeline et types d’exécution.

Compatibilité

Pipeline VisibilityPlateformeDéfinition
Pipelines en cours d’exécutionPipelines en cours d’exécutionConsulter les exécutions de pipeline en cours d’exécution.
Tags personnalisés et mesures au runtimeTags personnalisés et mesures au runtimeConfigurer les tags personnalisés et les mesures au runtime.
Étapes manuellesÉtapes manuellesConsultez les pipelines déclenchés manuellement.
ParamètresParamètresDéfinir des paramètres personnalisés lorsqu’un pipeline est déclenché.
Nouvelles tentatives partiellesPipelines partielsConsultez les exécutions de pipelines faisant lʼobjet de nouvelles tentatives.
Raisons d’échec du pipelineRaisons de la défaillance d’un pipelineIdentifiez les raisons de la défaillance dʼun pipeline en vous basant sur les messages d’erreur.
Durée de mise en file d’attenteTemps de mise en file d’attenteAfficher le temps pendant lequel les tâches de pipeline restent dans la file d’attente avant le traitement.
Filtrer les tâches CI sur le chemin critiqueFiltrer les tâches CI sur le chemin critiqueFiltrer par tâches sur le chemin critique.
[Temps d’exécution][19]Durée d’exécutionAfficher le temps pendant lequel les pipelines ont exécuté des tâches.

Configurer CI Visibility

Pour envoyer des événements de pipeline par programmation à Datadog, assurez-vous que votre DD_API_KEY est configurée.

  1. Définissez les en-têtes de votre requête HTTP :

  2. Préparer le corps de la charge utile en entrant des informations sur l’exécution du pipeline dans une commande cURL :

    Nom du paramètreDescriptionExemple de valeur
    Unique IDL’UUID de l’exécution du pipeline. L’ID doit être unique entre les nouvelles tentatives et les pipelines, y compris les nouvelles tentatives partielles.b3262537-a573-44eb-b777-4c0f37912b05
    NameLe nom du pipeline. Toutes les exécutions de pipeline pour les builds doivent avoir le même nom.Documentation Build
    Git RepositoryL’URL du référentiel Git qui a déclenché le pipeline.https://github.com/Datadog/documentation
    Commit AuthorL’e-mail de l’auteur du commit qui a déclenché le pipeline.contributor@github.com
    Commit SHALe hash du commit qui a déclenché le pipeline.cf852e17dea14008ac83036430843a1c
    StatusLe statut final du pipeline. Valeurs d’énumération autorisées : success, error, canceled, skipped, blocked ou running.success
    Partial RetryIndique si le pipeline était ou non une nouvelle tentative partielle d’une tentative précédente. Ce champ attend une valeur booléenne (true ou false). Une nouvelle tentative partielle est une tentative qui n’exécute qu’un sous-ensemble des tâches d’origine.false
    StartHeure à laquelle l’exécution du pipeline a commencé (elle ne doit inclure aucune durée de file d’attente). Le format d’heure doit être RFC3339.2024-08-22T11:36:29-07:00
    EndHeure à laquelle l’exécution du pipeline s’est terminée. Le format d’heure doit être RFC3339. L’heure de fin ne peut pas être supérieure à 1 an après l’heure de début.2024-08-22T14:36:00-07:00
    URLL’URL pour consulter le pipeline dans l’interface du fournisseur CI.http://your-ci-provider.com/pipeline/{pipeline-id}

    Par exemple, cette charge utile envoie un événement de pipeline CI à Datadog :

       curl -X POST "https://api.datadoghq.com/api/v2/ci/pipeline" \
       -H "Content-Type: application/json" \
       -H "DD-API-KEY: <YOUR_API_KEY>" \
       -d @- << EOF
       {
         "data": {
           "attributes": {
             "provider_name": "<YOUR_CI_PROVIDER>",
             "resource": {
               "level": "pipeline",
               "unique_id": "b3262537-a573-44eb-b777-4c0f37912b05",
               "name": "Documentation Build",
               "git": {
                 "repository_url": "https://github.com/Datadog/documentation",
                 "author_email": "contributor@github.com",
                 "sha": "cf852e17dea14008ac83036430843a1c"
               },
               "status": "success",
               "start": "2024-08-22T11:36:29-07:00",
               "end": "2024-08-22T14:36:00-07:00",
               "partial_retry": false,
               "url": ""
             }
           },
           "type": "cipipeline_resource_request"
         }
       }
       EOF
       
  3. Après avoir envoyé votre événement de pipeline à Datadog, vous pouvez intégrer des types d’événements supplémentaires tels que stage, job et step. Pour en savoir plus, consultez la section Endpoint Send Pipeline Event.

Pipelines en cours d’exécution

Les événements de pipeline envoyés avec le status défini sur running ont le même unique_id que l’événement de pipeline final. Les pipelines en cours d’exécution peuvent être mis à jour en ajoutant plus d’informations pendant qu’ils sont toujours en cours d’exécution. Un pipeline en cours d’exécution se compose des événements suivants :

  1. L’événement de pipeline en cours d’exécution initial avec le status défini sur running.
  2. Éventuellement, N événements de pipeline en cours d’exécution qui mettent à jour le pipeline avec plus d’informations, avec le même unique_id et le status défini sur running.
  3. L’événement de pipeline final sans statut running et avec le même unique_id.

Remarque : la valeur la plus récente n’est pas toujours celle affichée dans l’interface lorsqu’un champ est mis à jour. Par exemple, si le tag my_tag est défini sur value1 dans le premier pipeline en cours d’exécution, puis est mis à jour sur value2, vous pouvez voir value1 au lieu de value2 dans l’interface. Il est recommandé de mettre à jour uniquement les pipelines en cours d’exécution en ajoutant plus de champs au lieu de modifier ceux existants.

Visualiser les données de pipeline dans Datadog

Les pages CI Pipeline List et Executions se remplissent de données une fois que les pipelines sont acceptés pour traitement.

La page CI Pipeline List affiche les données uniquement pour la branche par défaut de chaque référentiel. Pour en savoir plus, consultez la section Rechercher et gérer les pipelines CI.

Pour aller plus loin