Перейти к основному содержимому Перейти к дополнительному содержимому

Выполнение профиля

Availability-noteБета

В этом сценарии вы используете Talend API для выполнения профиля, чтобы улучшить качество вашего проекта.

Об этой задаче

Вот некоторые подробности о вызове 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"
    }

Конечная точка использует идентификатор профиля в качестве параметра, содержащего список спецификаций для выполнения в проекте Talend.

Процедура

  1. Вызовите конечную точку GET api/v1/projects/quality/profiles, чтобы получить идентификатор профиля, который вы хотите выполнить.
  2. Запишите идентификатор профиля, который вы хотите выполнить.
  3. Вызовите конечную точку POST api/v1/projects/quality/profiles/{id}/executions, чтобы выполнить профиль. Добавьте идентификатор профиля, который вы хотите выполнить в качестве параметра.
  4. В области Body введите следующую информацию:
    Имя параметраВеличина
    репозиторийВведите имя репозитория.
    имя пользователяВведите ваше имя пользователя.
    код доступаВведите ваш код доступа.
    веткаВведите имя ветки.
    рабочая областьВведите имя рабочей области.
    клиентВведите имя клиента.

    Пример:

     {
      "repository": "GIT",
      "authentication": {
        "username": "******",
        "passcode": "*************"
      },
      "branch": "master",
      "workspace": "PROJECT_73",
      "client": "UI"
    }
  5. Нажмите Выполнить, чтобы выполнить вызов.

Результаты

Вот пример ответа:
{
  "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"
    }
  ]
}
В этом примере правило Active-tLogRow ищет задания с компонентами tLogRow. Как определено в условии, общее количество выявленных ресурсов должно быть меньше максимального порогового значения, которое составляет 5 здесь.

Результат в этом примере: 30. Проверка качества правила не пройдена. Статус правила: Не выполнено. Статус каждого правила оценивается на основе сравнения между результатом и порогом.

Общее качество проекта определяется статусом спецификации. Статус спецификации проверяется совокупным результатом или статусом всех правил. В этом примере порог установлен на 100%. Здесь, даже если одно условие или правило не выполняется, спецификация не выполняется, и статус устанавливается как Не выполнено.

Порог, тип порога и оператор могут быть обновлены на основе влияния правил и спецификаций на качество вашего Talend проекта.

Когда все спецификации выполнены, статус выполнения устанавливается на основе следующего условия:
  • Выполнено: Статус, если все спецификации выполнены.
  • Сбой: Статус, если какая-либо спецификация завершилась сбоем.
  • Отменено: Статус, если выполнение отменено.
  • Выполняется: Статус, если выполнение находится в процессе.
Доступ к выполнениям можно получить с помощью конечной точки GET /api/v1/projects/quality/profiles/executions. Выполнения можно фильтровать по нескольким критериям: статусу выполнения с определенного времени начала или по имени проекта.
API выбрано для получения всех выполнений.
Выполнения также могут быть удалены по их идентификаторам выполнения, или по их статусу, времени начала или имени проекта.
API для удаления всех выполнений.

Visit the discussion forum at community.qlik.com

Помогла ли вам эта страница?

Если вы обнаружили какую-либо проблему на этой странице или с ее содержанием — будь то опечатка, пропущенный шаг или техническая ошибка, сообщите нам об этом!