Saltar al contenido principal Saltar al contenido complementario

Ejecutar un perfil

Availability-noteBeta

En este escenario, utilizaremos la API Talend para ejecutar un perfil y mejorar la calidad de su proyecto.

Acerca de esta tarea

Aquí tiene algunos detalles sobre la llamada a la 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"
    }

El punto de conexión utiliza un ID de perfil como parámetro que contiene una lista de especificaciones para ejecutar en el proyecto de Talend.

Procedimiento

  1. Llame al punto de conexión GET api/v1/projects/quality/profiles para obtener el ID del perfil que desea ejecutar.
  2. Anote el ID del perfil que desea ejecutar.
  3. Llame al punto de conexión POST api/v1/projects/quality/profiles/{id}/executions para ejecutar un perfil. Añada el ID del perfil que desea ejecutar como parámetro.
  4. En el área Body, inserte la siguiente información:
    Nombre del parámetroValor
    repositorioIndique el nombre del repositorio.
    nombre de usuarioIndique su nombre de usuario.
    código de accesoIndique su código de acceso.
    ramaIndique el nombre de la rama.
    área de trabajoIndique el nombre del área de trabajo.
    clienteIndique el nombre del cliente.

    Ejemplo:

     {
      "repository": "GIT",
      "authentication": {
        "username": "******",
        "passcode": "*************"
      },
      "branch": "master",
      "workspace": "PROJECT_73",
      "client": "UI"
    }
  5. Haga clic en Ejecutar para realizar su llamada.

Resultados

Aquí tiene un ejemplo de respuesta:
{
  "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"
    }
  ]
}
En este ejemplo, la regla Active-tLogRow busca trabajos con los componentes tLogRow. Según lo definido en la condición, el número total de activos identificados debe ser inferior al valor del umbral máximo, que es 5 aquí.

El resultado en este ejemplo es 30. La comprobación de calidad de la regla falló. El estado de la regla es Fallido. El estado de cada regla se evalúa en función de la comparación entre el resultado y el umbral.

La calidad general del proyecto se determina por el estado de la especificación. El estado de la especificación se valida por el resultado acumulativo o el estado de todas las reglas. En este ejemplo, el umbral se establece en 100%. Aquí, incluso si una sola condición o regla falla, la especificación da error y el estado se califica como Fallido.

El umbral, el tipo de umbral y el operador se pueden actualizar en función del impacto de las reglas y especificaciones en la calidad de su proyecto de Talend.

Cuando se ejecutan todas las especificaciones, el estado de la ejecución se establece según la siguiente condición:
  • Aprobado: el estado si todas las especificaciones se han aprobado.
  • Fallido: el estado si alguna especificación falló.
  • Cancelado: el estado si la ejecución se canceló.
  • En ejecución: el estado si la ejecución está en curso.
Se puede acceder a las ejecuciones mediante un punto de conexión GET /api/v1/projects/quality/profiles/executions. Las ejecuciones se pueden filtrar por varios criterios: el estado de la ejecución desde una hora de inicio determinada o el nombre del proyecto.
API seleccionada para obtener todas las ejecuciones.
Las ejecuciones también se pueden eliminar por sus ID de ejecución o por su estado, hora de inicio o nombre de proyecto.
API para eliminar todas las ejecuciones.

Visit the discussion forum at community.qlik.com

¿Esta página le ha sido útil?

Si encuentra algún problema con esta página o su contenido (errores tipográficos, pasos que faltan o errores técnicos), no dude en ponerse en contacto con nosotros.