# Esecuzione di un profilo

Availability-note[Beta](https://help.talend.com/r/en-US/Cloud/labels-on-talend-help-center/availability-beta)

Contenuto beta

In questo scenario, si utilizzano le Talend API per eseguire un profilo al fine di migliorare la qualità del progetto.

## Informazioni su questa attività

Ecco alcuni dettagli sulla chiamata 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 utilizza un ID profilo come parametro contenente un elenco di specifiche da eseguire sul Talend Progetto.

## Procedura

1. Chiamare l'endpoint GET api/v1/projects/quality/profiles per ottenere l'ID del profilo che si desidera eseguire.
2. Annotare l'ID del profilo che si desidera eseguire.
3. Chiamare l'endpoint POST api/v1/projects/quality/profiles/{id}/executions per eseguire un profilo. Aggiungi l'ID del profilo che desideri eseguire come parametro.
4. Nell'area Corpo, inserire le seguenti informazioni:
   | Nome parametro | Valore |
   | --- | --- |
   | repository | Inserisci il nome del repository. |
   | nome utente | Inserisci il tuo nome utente. |
   | codice di accesso | Inserisci il tuo codice di accesso. |
   | ramo | Inserisci il nome del ramo. |
   | Area di lavoro | Immettere il nome dell'area di lavoro. |
   | cliente | Immettere il nome del client. |

   Esempio:
   ```
    {
     "repository": "GIT",
     "authentication": {
       "username": "******",
       "passcode": "*************"
     },
     "branch": "master",
     "workspace": "PROJECT_73",
     "client": "UI"
   }
   ```
5. Fare clic su Esegui per effettuare la chiamata.

## Risultati

Ecco un esempio di risposta:

```
{
  "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\\qtcmt_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"
    }
  ]
}
```

In questo esempio, la regola Active-tLogRow cerca Job con i componenti tLogRow. Come definito nella condizione, il numero totale di risorse identificate dovrebbe essere inferiore al valore massimo della soglia, che qui è 5.

Il risultato in questo esempio è 30. Il controllo di qualità della regola non è riuscito. Lo stato della regola è Non riuscito. Lo stato di ogni regola viene valutato in base al confronto tra il risultato e la soglia.

La qualità complessiva del progetto è determinata dallo stato della specifica. Lo stato della specifica è convalidato dal risultato cumulativo o dallo stato di tutte le regole. In questo esempio, la soglia è impostata su 100%. Qui, anche se una singola condizione o regola fallisce, la specifica fallisce e lo stato viene impostato su Fallito.

La soglia, il tipo di soglia e l'operatore possono essere aggiornati in base all'impatto delle regole e delle specifiche sulla qualità del tuo progetto Talend.

Quando tutte le specifiche vengono eseguite, lo stato dell'esecuzione viene impostato in base alla seguente condizione:

* Superato: Stato se tutte le specifiche sono state superate.
* Non riuscito: Stato se una qualsiasi specifica non è riuscita.
* Annullato: Stato se l'esecuzione è annullata.
* In esecuzione: Stato se l'esecuzione è in corso.

Le esecuzioni sono accessibili utilizzando un endpoint GET /api/v1/projects/quality/profiles/executions. Le esecuzioni possono essere filtrate in base a diversi criteri: lo stato dell'esecuzione da un determinato orario di inizio o il nome del progetto.![API selezionata per ottenere tutte le esecuzioni.](https://help.qlik.com/Resources/Images/qlik-talend-cloud-migration-toolkit-user-guide/tcmp-execution-api.png)

Le esecuzioni possono anche essere eliminate tramite i loro ID di esecuzione o tramite il loro stato, l'ora di inizio o il nome del progetto.![API per eliminare tutte le esecuzioni.](https://help.qlik.com/Resources/Images/qlik-talend-cloud-migration-toolkit-user-guide/tcmp-delete-executions-api.png)