Ir para conteúdo principal Pular para conteúdo complementar

Executando um perfil

Availability-noteBeta

Nesse cenário, você usa APIs do Talend para executar um perfil e melhorar a qualidade do seu projeto.

Sobre esta tarefa

Eis alguns detalhes sobre a chamada de 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"
    }

O endpoint usa um ID de perfil como parâmetro contendo uma lista de especificações para executar no projeto do Talend.

Procedimento

  1. Chame o endpoint GET api/v1/projects/quality/profiles para obter o ID do perfil que você deseja executar.
  2. Anote o ID do perfil que você deseja executar.
  3. Chame o endpoint POST api/v1/projects/quality/profiles/{id}/executions para executar um perfil. Adicione o ID do perfil que deseja executar como parâmetro.
  4. Na área Corpo, insira as seguintes informações:
    Nome do parâmetroValor
    repositoryDigite o nome do repositório.
    usernameDigite seu nome de usuário.
    passcodeDigite sua senha.
    branchDigite o nome da ramificação.
    workspaceInsira o nome do espaço de trabalho.
    clientInsira o nome do cliente.

    Exemplo:

     {
      "repository": "GIT",
      "authentication": {
        "username": "******",
        "passcode": "*************"
      },
      "branch": "master",
      "workspace": "PROJECT_73",
      "client": "UI"
    }
  5. Clique em Executar para efetuar a chamada.

Resultados

Aqui está um exemplo de resposta:
{
  "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"
    }
  ]
}
neste exemplo, a regra Active-tLogRow procura por trabalhos com os componentes tLogRow. Conforme definido na condição, o número total de ativos identificados deve ser menor que o valor máximo do limite, que está 5 aqui.

O resultado neste exemplo é 30. A verificação de qualidade da regra falhou. O status da regra é Falha. O status de cada regra é avaliado com base na comparação entre o resultado e o limite.

A qualidade geral do projeto é determinada pelo status da especificação. O status da especificação é validado pelo resultado ou status cumulativo de todas as regras. Neste exemplo, o limite é definido como 100%. Aqui, mesmo que uma única condição ou regra falhe, a especificação falha e o status é definido como Falha.

O limite, o tipo de limite e o operador podem ser atualizados com base no impacto das regras e especificações na qualidade do seu projeto do Talend.

Quando todas as especificações são executadas, o status da execução é definido com base na seguinte condição:
  • Aprovado: status se todas as especificações foram aprovadas.
  • Reprovado: status se alguma especificação falhou.
  • Cancelado: status se a execução for cancelada.
  • Em execução: status se a execução estiver em andamento.
As execuções podem ser acessadas usando um endpoint GET /api/v1/projects/quality/profiles/executions. As execuções podem ser filtradas por vários critérios: o status da execução a partir de um determinado horário de início ou o nome do projeto.
API selecionada para obter todas as execuções.
Execuções também podem ser excluídas pelos seus IDs de execução ou pelo seu status, horário de início ou nome do projeto.
API para excluir todas as execuções.

Visit the discussion forum at community.qlik.com

Esta página ajudou?

Se você encontrar algum problema com esta página ou seu conteúdo – um erro de digitação, uma etapa ausente ou um erro técnico – avise-nos!