Accéder au contenu principal Passer au contenu complémentaire

Exécuter un profil

Availability-noteBêta

Dans ce scénario, utilisez les API Talend pour exécuter un profil afin d'améliorer la qualité de votre projet.

Pourquoi et quand exécuter cette tâche

Voici quelques détails concernant l'appel d'API :

Method: POST
endpoint: api/v1/projects/quality/profiles/{id}/executions
payload:
    {
  "repository": "string",
  "authentication": {
    "username": "string",
    "passcode": "string"
  },
  "branch": "string",
  "workspace": "string",
  "client": "UI"
    }

L'endpoint utilise un ID de profil comme paramètre contenant une liste de spécifications à exécuter sur le projet Talend.

Procédure

  1. Appelez l'endpoint GET api/v1/projects/quality/profiles pour récupérer l'ID du profil à exécuter.
  2. Notez l'ID du profil à exécuter.
  3. Appelez l'endpoint POST api/v1/projects/quality/profiles/{id}/executions pour exécuter un profil. Ajoutez l'ID du profil à exécuter en tant que paramètre.
  4. Dans la zone Body (Corps), saisissez les informations suivantes :
    Nom du paramètre Value (Valeur)
    repository Saisissez le nom du référentiel.
    username Saisissez votre identifiant.
    passcode Saisissez votre code secret.
    branch Saisissez le nom de la branche.
    espace de travail Entrez le nom de l'espace de travail.
    client Saisissez le nom du client.

    Exemple :

     {
      "repository": "GIT",
      "authentication": {
        "username": "******",
        "passcode": "*************"
      },
      "branch": "master",
      "workspace": "PROJECT_73",
      "client": "UI"
    }
  5. Cliquez sur Execute (Exécuter) pour émettre votre appel.

Résultats

Voici un exemple de réponse :
{
  "id": "67",
  "status": "FAILED",
  "startTimestamp": "2023-10-13 17:36",
  "duration": "2s",
  "specifications": [
    {
      "id": "69",
      "specification": {
        "id": "2",
        "name": "best-practice",
        "description": "This specification contains rules related to best practices",
        "operator": "is_Equal_to",
        "threshold": 100,
        "thresholdType": "PERCENTAGE",
        "createdBy": "system"
      },
      "status": "FAILED",
      "rules": [
        {
          "id": "77",
          "rule": {
            "id": "4",
            "name": "Active-tLogRow",
            "description": "Identify jobs with tLogRow components",
            "category": "COMPONENT",
            "severity": "MINOR",
            "operator": "is_less_than_or_Equal",
            "threshold": "5",
            "thresholdType": "PERCENTAGE",
            "createdBy": "system"
          },
          "result": "30",
          "status": "FAILED"
        },
        {
          "id": "78",
          "rule": {
            "id": "5",
            "name": "JavaLogs",
            "description": "Identify jobs that contain java logs.",
            "category": "COMPONENT",
            "severity": "INFO",
            "operator": "is_less_than_or_Equal",
            "threshold": "50",
            "thresholdType": "PERCENTAGE",
            "createdBy": "system"
          },
          "result": "4.56",
          "status": "PASSED"
        }
      ],
      "duration": "1s"
    }
  ],
  "sourceProvider": {
    "providerType": "LOCAL",
    "workspace": "D:\\Talend_Studio\\studio\\workspaces\\tcmp_test",
    "project": "PROJECT_73"
  },
  "info": {
    "version": "7.3.1",
    "label": "PROJECT_73",
    "description": "Project imported from TalendPS organization",
    "productVersion": "Talend Real-time Big Data Platform-7.3.1.20221115_1012-patch",
    "type": "DQ",
    "bigData": false,
    "local": false
  },
  "inventory": {
    "total_artifact_assets": 258,
    "context_group": 11,
    "standard_job": 210,
    "standard_job_versions": 211,
    "standard_joblet": 24,
    "standard_joblet_versions": 24,
    "resource": 2,
    "resource_versions": 24,
    "bd_batch": 1,
    "bd_batch_versions": 1,
    "bd_batch_joblet": 0,
    "bd_batch_joblet_versions": 0,
    "bd_streaming": 1,
    "bd_streaming_versions": 1,
    "bd_streaming_joblet": 0,
    "bd_streaming_joblet_versions": 0,
    "route": 46,
    "route_versions": 46,
    "routelet": 1,
    "routelet_versions": 1
  },
  "commits": [
    {
      "id": "24b228d45561e0a741a0409195ef492437bf3",
      "date": "Tue Feb 21 01:29:11 2023 +0000",
      "author": "talend <talend@3bed803c5b79>",
      "message": "\tCreate Project: PRJ_731\n"
    }
  ]
}
Dans cet exemple, la règle Active-tLogRow recherche les Jobs ayant des composants tLogRow. Comme défini dans la condition, le nombre total de ressources identifiées doit être inférieur à la valeur du seuil maximal, qui est ici de 5.

Le résultat de cet exemple est 30. La vérification de la qualité de la règle a donc échoué. Le statut de la règle est Failed (En échec). Le statut de chaque règle est évalué en fonction de la comparaison entre le résultat et le seuil.

La qualité globale du projet est déterminée par le statut de la spécification. Le statut de la spécification est validé par le résultat cumulatif ou statut de toutes les règles. Dans cet exemple, le seuil est configuré à 100%. Même si une seule condition ou règle échoue, la spécification échoue et le statut est défini comme Failed (En échec).

Le seuil, le type de seuil et l'opérateur peuvent être mis à jour en fonction de l'impact des règles et spécifications sur la qualité de votre projet Talend.

Lorsque toutes les spécifications sont exécutées, le statut de l'exécution est configuré en se basant sur la condition suivante :
  • Passed (Réussite) : statut lorsque toutes les spécifications ont réussi.
  • Failed (En échec) : statut lorsqu'une spécification au moins a échoué.
  • Canceled (Annulation) : statut lorsque l'exécution est annulée.
  • Running (En cours d'exécution) : statut lorsque l'exécution est en cours.
Les exécutions sont accessibles via un endpoint GET /api/v1/projects/quality/profiles/executions. Il est possible de filtrer les exécutions en fonction de plusieurs critères : le statut de l'exécution à partir d'une certaine heure de démarrage ou pour un nom de projet spécifique.
Les exécutions peuvent également être supprimées par leur ID d'exécution, leur statut, leur heure de démarrage ou leur nom de projet.

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – faites-le-nous savoir.