Exécuter un profil
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
Résultats
{
"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"
}
]
}
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.
- 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.