Отладка интеграций в VS Code
8 800 555-89-02
Войти
Для разработчиков
CTRL+K
Standalone2505

Отладка интеграций в Visual Studio CodeBETA

В этой статье

Интеграции можно отлаживать в VS Code с использованием точек останова (breakpoints). Это упрощает проверку логики работы блоков и подключений в реальном времени.

Для работы отладки требуется установить специальное расширение. При запуске проекта CLI предложит установить его автоматически.

Вы можете запускать отладку как для блоков, так и для подключений. Если блок использует подключение, необходимо указать connectionKey в конфигурации — тогда сначала будет выполнено подключение, затем сам блок.

Чтобы отладка работала корректно, объект integration (в котором содержится meta и executePagination) должен быть определен в одном файле.

Доступны три режима отладки:

  1. Одиночный запуск блока — позволяет однократно выполнить блок. Используйте этот режим, например, для проверки базовой логики. Можно выполнить:
    • Через интерфейс VS Code: Debug <ключ блока>
    • Через CLI:
    node --import tsx ./node_modules/.bin/im-package-cli integration debug --entityKey=block1
    
    Важно: При запуске без VS Code брекпоинты работать не будут.
  2. Серия запусков — позволяет выполнить блок несколько раз подряд. Полезно для проверки логики, связанной с context.
    node --import tsx ./node_modules/.bin/im-package-cli integration debug --entityKey=block1 --series
    
    Количество повторений задается параметром seriesIterations (по умолчанию — 3).
  3. Генерация схемы output — запускает выполнение блока и, на основе его output, автоматически формирует output_variables. Позволяет делать быструю настройку структуры данных.
    node --import tsx ./node_modules/.bin/im-package-cli integration debug --entityKey=block1 --isGenerateSchema
    
    Важно: Типы, определенные автоматически, могут быть неточными. Обязательно проверьте сгенерированные output_variables вручную.

Имитация входных данных для inputFields

Для полноценной отладки можно использовать тестовые данные (inputData и authData), чтобы не зависеть от реальных подключений и API.

Добавьте соответствующую конфигурацию в файл integrationrc.js:

//@ts-check

require("dotenv").config();

/**
 *  @type {import("@infomaximum/package-cli").IntegrationRCConfig}
 */
const config = {
  //.... другие конфигурации
  debugging: {
    // количество серий запусков отладки блока, если поле не указано, то по умолчанию 3, максимальное значение 100к
    seriesIterations: 3,
    // конфигурирование блоков
    blocks: {
      // ключ блока, указанный в meta
      qwerty1: {
        // моковые данные для inputFields
        inputData: {
        // ключ inputField
          assignee: "Text 97887",
          author: "Text 55574",
          description: "Text 84517",
          end_date: "Text 28407",
          epic_key: "Text 4267",
          issue_id_or_key: "Text 78869",
          labels: "Text 4989",
          start_date: "Text 94656",
          task_type: "Text 24406",
          theme: "Text 7",
        },
        // ключ подключения, которое будет вызываться непосредственно перед запуском блока для формирования authData
        connectionKey: "jira_base_connection",
        // {authData: {...}} - пока нет подключения, можно указать моковые данные подключения
      },
    },
    // конфигурирование подключений
    connections: {
    // ключ подключения, указанный в meta
      jira_base_connection: {
        // моковые данные для inputFields подключения
        authData: {
          connection_base_url: "https://jira.office.infomaximum.com",
          connection_login: process.env.JIRA_LOGIN,
          connection_password: process.env.JIRA_PASSWORD,
        },
      },
    },
  },
};
Важно

Все конфиденциальные данные — логины, пароли, API-ключи, токены и т. п. — должны находиться только в .env и не должны попадать в репозиторий. Создайте .env_example с имитационными значениями, добавьте его в репозиторий и используйте как шаблон для создания .env с рабочими данными.

Дополнительные инструменты отладки

В дополнение к брекпоинтам можно использовать:

  • console.log(...) — для вывода значений в терминал
  • debugger — для установки точки останова вручную

Валидация данных блоков

При запуске отладки CLI автоматически выполняет валидацию соответствия между значениями, возвращаемыми из блока (output), и описанием выходных данных (output_variables).

Если output_variables не заданы, CLI может предложить сгенерировать их автоматически на основе полученного output. Это позволяет ускорить настройку блоков и избежать ошибок при интеграции.

Совет

После автогенерации рекомендуется вручную проверить типы данных в output_variables.

Была ли статья полезна?

Да
Нет
8 (800) 555-89-028 (495) 150-31-45team@infomaximum.com
Для бизнеса
© 20102025. ООО «Инфомаксимум»
Мы используем файлы cookies, чтобы сайт был лучше для вас.