{ "type" : "object", "id" : "urn:jsonschema:ru:pulsar:jenkins:library:configuration:JobConfiguration", "properties" : { "v8version" : { "type" : "string", "description" : "Версия платформы 1С:Предприятие в формате 8.3.хх.хххх." }, "edtVersion" : { "type" : "string", "description" : "Версия модуля 1C:Enterprise Development Tools формате xxxx.x.x:x86_64" }, "srcDir" : { "type" : "string", "description" : "Путь к корневому каталогу с исходниками конфигурации, в случае хранения исходников в формате EDT, необходимо указать путь к проекту" }, "sourceFormat" : { "type" : "string", "description" : "Формат исходников конфигурации", "enum" : [ "edt", "designer" ] }, "defaultBranch" : { "type" : "string", "description" : "Имя ветки по умолчанию. Значение по умолчанию - main." }, "secrets" : { "type" : "object", "id" : "urn:jsonschema:ru:pulsar:jenkins:library:configuration:Secrets", "description" : "Идентификаторы сохраненных секретов", "properties" : { "storagePath" : { "type" : "string", "description" : "Путь к хранилищу конфигурации" }, "storage" : { "type" : "string", "description" : "Данные авторизации в хранилище конфигурации" }, "telegramChatId" : { "type" : "string", "description" : "Идентификатор telegram-чата для отправки уведомлений" }, "telegramBotToken" : { "type" : "string", "description" : "Токен авторизации telegram-бота для отправки уведомлений" } } }, "stages" : { "type" : "object", "id" : "urn:jsonschema:ru:pulsar:jenkins:library:configuration:StageFlags", "description" : "Включение этапов сборок", "properties" : { "sonarqube" : { "type" : "boolean", "description" : "Анализ SonarQube включен" }, "syntaxCheck" : { "type" : "boolean", "description" : "Синтаксический контроль включен" }, "edtValidate" : { "type" : "boolean", "description" : "Валидация EDT включена" }, "smoke" : { "type" : "boolean", "description" : "Дымовые тесты включены" }, "yaxunit" : { "type" : "boolean", "description" : "Запуск YAXUnit тестов включен" }, "initSteps" : { "type" : "boolean", "description" : "Предварительные шаги инициализации включены" }, "bdd" : { "type" : "boolean", "description" : "Запуск BDD сценариев включен" }, "email" : { "type" : "boolean", "description" : "Выполнять рассылку результатов сборки на email" }, "telegram" : { "type" : "boolean", "description" : "Выполнять рассылку результатов сборки в telegram" } } }, "timeout" : { "type" : "object", "id" : "urn:jsonschema:ru:pulsar:jenkins:library:configuration:TimeoutOptions", "description" : "Настройка таймаутов для шагов", "properties" : { "edtToDesignerFormatTransformation" : { "type" : "integer", "description" : "Таймаут шага трансформации исходников из формата EDT в формат Конфигуратора, в минутах.\n По умолчанию содержит значение 60.\n " }, "getBinaries" : { "type" : "integer", "description" : "Таймаут шага получения бинарников, в минутах.\n По умолчанию содержит значение 60.\n " }, "createInfoBase" : { "type" : "integer", "description" : "Таймаут шага создания информационной базы, в минутах.\n По умолчанию содержит значение 60.\n " }, "loadConfiguration" : { "type" : "integer", "description" : "Таймаут шага загрузки конфигурации в базу, в минутах.\n По умолчанию содержит значение 60.\n " }, "initInfoBase" : { "type" : "integer", "description" : "Таймаут шага инициализации информационной базы, в минутах.\n По умолчанию содержит значение 60.\n " }, "loadExtensions" : { "type" : "integer", "description" : "Таймаут шага загрузки расширений в базу, в минутах.\n По умолчанию содержит значение 60.\n " }, "zipInfoBase" : { "type" : "integer", "description" : "Таймаут шага архивирования информационной базы, в минутах.\n По умолчанию содержит значение 60.\n " }, "designerToEdtFormatTransformation" : { "type" : "integer", "description" : "Таймаут шага трансформации исходников из формата Конфигуратора в формат EDT, в минутах.\n По умолчанию содержит значение 60.\n " }, "edtValidate" : { "type" : "integer", "description" : "Таймаут шага валидации EDT, в минутах.\n По умолчанию содержит значение 240.\n " }, "resultTransformation" : { "type" : "integer", "description" : "Таймаут шага трансформации результатов EDT, в минутах.\n По умолчанию содержит значение 10.\n " }, "bdd" : { "type" : "integer", "description" : "Таймаут шага проверки сценариев поведения, в минутах.\n По умолчанию содержит значение 120.\n " }, "syntaxCheck" : { "type" : "integer", "description" : "Таймаут шага синтаксического контроля, в минутах.\n По умолчанию содержит значение 240.\n " }, "smoke" : { "type" : "integer", "description" : "Таймаут шага дымовых тестов, в минутах.\n По умолчанию содержит значение 240.\n " }, "yaxunit" : { "type" : "integer", "description" : "Таймаут шага YAXUnit тестов, в минутах.\n По умолчанию содержит значение 240.\n " }, "sonarqube" : { "type" : "integer", "description" : "Таймаут шага статического анализа SonarQube, в минутах.\n По умолчанию содержит значение 90.\n " } } }, "initInfobase" : { "type" : "object", "id" : "urn:jsonschema:ru:pulsar:jenkins:library:configuration:InitInfoBaseOptions", "description" : "Настройки шага инициализации ИБ", "properties" : { "initMethod" : { "type" : "string", "description" : "\n Способ инициализации информационной базы.\n Поддерживается три варианта:\n * fromStorage - инициализация информационной базы из хранилища конфигурации;\n * fromSource - инициализация информационной базы из исходников конфигурации;\n * defaultBranchFromStorage - инициализация основной ветки из хранилища конфигурации, остальных - из исходников конфигурации.\n По умолчанию содержит значение \"fromStorage\".", "enum" : [ "fromStorage", "fromSource", "defaultBranchFromStorage" ] }, "runMigration" : { "type" : "boolean", "description" : "Запустить миграцию ИБ" }, "additionalInitializationSteps" : { "type" : "array", "description" : "Дополнительные шаги, запускаемые через vrunner.\n В каждой строке передается отдельная команда \n vrunner и ее аргументы (например, \"vanessa --settings ./tools/vrunner.first.json\")\n ", "items" : { "type" : "string" } }, "vrunnerSettings" : { "type" : "string", "description" : "Путь к конфигурационному файлу vanessa-runner.\n По умолчанию содержит значение \"./tools/vrunner.json\"\n Используется, если на этапе подготовки база загружается из эталона. \n " }, "templateDBPath" : { "type" : "string", "description" : "\n Путь к файлу эталонной базы данных.\n * По умолчанию не заполнен;\n * Указывается путь к файлу *.dt или *.1CD.\n " }, "extensions" : { "type" : "array", "description" : "Массив расширений для загрузки в конфигурацию.", "items" : { "type" : "object", "id" : "urn:jsonschema:ru:pulsar:jenkins:library:configuration:InitInfoBaseOptions:Extension", "properties" : { "name" : { "type" : "string", "description" : "Имя расширения, используемое при его загрузке в конфигурацию." }, "initMethod" : { "type" : "string", "description" : "\n Способ инициализации расширения.\n Поддерживается два варианта:\n * fromSource - инициализация расширения из исходников;\n * fromFile - скачивание скомпилированного cfe по ссылке.\n ", "enum" : [ "fromSource", "fromFile" ] }, "path" : { "type" : "string", "description" : "\n Путь к расширению.\n * В случае если выбран initMethod - указывается путь к исходникам расширения.\n * В случае если выбран initMethod - указывается путь к cfe-файлу\n " }, "stages" : { "type" : "array", "description" : "\n Шаги, на которых необходимо использовать расширение\n * Если не заполнено, то расширение будет подключено при инициализации базы и останется в базе на всех последующих шагах.\n * Если заполнено, то расширение будет подключено только на соответствующих шагах.\n ", "items" : { "type" : "string" } } } } } } }, "bdd" : { "type" : "object", "id" : "urn:jsonschema:ru:pulsar:jenkins:library:configuration:BddOptions", "description" : "Настройки шага запуска BDD сценариев", "properties" : { "vrunnerSteps" : { "type" : "array", "description" : "Шаги, запускаемые через vrunner.\n В каждой строке передается отдельная команда \n vrunner и ее аргументы (например, \"vanessa --settings ./tools/vrunner.json\").\n По умолчанию содержит одну команду \"vanessa --settings ./tools/vrunner.json\".\n ", "items" : { "type" : "string" } } } }, "sonarqube" : { "type" : "object", "id" : "urn:jsonschema:ru:pulsar:jenkins:library:configuration:SonarQubeOptions", "description" : "Настройки анализа SonarQube", "properties" : { "sonarQubeInstallation" : { "type" : "string", "description" : "Имя настроенного SonarQube-сервера (SonarQube installations).\nЕсли настроен только один сервер, то может быть оставлено пустым." }, "useSonarScannerFromPath" : { "type" : "boolean", "description" : "Использовать sonar-scanner, доступный в PATH" }, "sonarScannerToolName" : { "type" : "string", "description" : "Имя настроенной утилиты sonar-scanner.\nПрименяется, если useSonarScannerFromPath установлено в false." }, "infoBaseUpdateModuleName" : { "type" : "string", "description" : "Имя общего модуля (например, ОбновлениеИнформационнойБазыXXX), в котором указана версия библиотеки.\n Версия должна задаваться в виде присвоения `Описание.Версия = \"ваш номер версии\";`\n " }, "branchAnalysisConfiguration" : { "type" : "string", "description" : "Вариант конфигурации branch plugin.\n Поддерживаемые варианты:\n * auto - применяется автоконфигурация sonar-scanner силами branchplugin. Так же может применяться для отключения конфигурирования, если branch plugin отсутствует;\n * fromEnv - применяется ручная конфигурация sonar-scanner на основе переменных среды.\n Значение по умолчанию: fromEnv.", "enum" : [ "auto", "fromEnv" ] }, "waitForQualityGate" : { "type" : "boolean", "description" : "Ожидать состояние Quality Gate от SonarQube после загрузки анализа. По умолчанию `false`.\n Таймаут ожидания состояния равен таймауту шага.\n " } } }, "syntaxCheck" : { "type" : "object", "id" : "urn:jsonschema:ru:pulsar:jenkins:library:configuration:SyntaxCheckOptions", "description" : "Настройки синтаксического контроля", "properties" : { "pathToJUnitReport" : { "type" : "string", "description" : "Путь к файлу отчета jUnit\n По умолчанию содержит значение \"./build/out/jUnit/syntax.xml\"\n " }, "groupErrorsByMetadata" : { "type" : "boolean", "description" : "Группировать выявленные ошибки по объектам метаданных.\n По умолчанию включено.\n " }, "checkModes" : { "type" : "array", "description" : "Режимы проверки конфигурации", "items" : { "type" : "string" } }, "exceptionFile" : { "type" : "string", "description" : "Путь к файлу с указанием пропускаемых ошибок.\n Формат файла: в каждой строке файла указан текст пропускаемого исключения или его часть\n Кодировка: UTF-8\n " }, "vrunnerSettings" : { "type" : "string", "description" : "Путь к конфигурационному файлу vanessa-runner.\n По умолчанию содержит значение \"./tools/vrunner.json\".\n " } } }, "smoke" : { "type" : "object", "id" : "urn:jsonschema:ru:pulsar:jenkins:library:configuration:SmokeTestOptions", "description" : "Настройки дымового тестирования", "properties" : { "vrunnerSettings" : { "type" : "string", "description" : "Путь к конфигурационному файлу vanessa-runner.\n По умолчанию содержит значение \"./tools/vrunner.json\".\n " }, "xddConfigPath" : { "type" : "string", "description" : "Путь к конфигурационному файлу для xddTestRunner.\n По умолчанию содержит значение \"./tools/xUnitParams.json\".\n " }, "publishToAllureReport" : { "type" : "boolean", "description" : "Выполнять публикацию результатов в отчет Allure.\n По умолчанию выключено.\n " }, "publishToJUnitReport" : { "type" : "boolean", "description" : "Выполнять публикацию результатов в отчет JUnit.\n По умолчанию включено.\n " } } }, "yaxunit" : { "type" : "object", "id" : "urn:jsonschema:ru:pulsar:jenkins:library:configuration:YaxunitOptions", "description" : "Настройки YAXUnit", "properties" : { "vrunnerSettings" : { "type" : "string", "description" : "Путь к конфигурационному файлу vanessa-runner.\n По умолчанию содержит значение \"./tools/vrunner.json\".\n " }, "configPath" : { "type" : "string", "description" : "Путь к конфигурационному файлу YAXUnit.\n По умолчанию содержит значение \"./tools/yaxunit.json\".\n " }, "publishToAllureReport" : { "type" : "boolean", "description" : "Выполнять публикацию результатов в отчет Allure.\n По умолчанию выключено.\n " }, "publishToJUnitReport" : { "type" : "boolean", "description" : "Выполнять публикацию результатов в отчет JUnit.\n По умолчанию включено.\n " } } }, "resultsTransform" : { "type" : "object", "id" : "urn:jsonschema:ru:pulsar:jenkins:library:configuration:ResultsTransformOptions", "description" : "Настройки трансформации результатов анализа", "properties" : { "transformer" : { "type" : "string", "description" : "Способ преобразования замечаний.\n Поддерживается stebi и edt-ripper.\n По умолчанию содержит значение \"stebi\".\n ", "enum" : [ "stebi", "edt-ripper" ] }, "removeSupport" : { "type" : "boolean", "description" : "Фильтровать замечания по уровню поддержки модуля. Только для stebi. По умолчанию включено." }, "supportLevel" : { "type" : "integer", "description" : "Настройка фильтрации замечаний по уровню поддержки. Только для stebi.\n 0 - удалить файлы на замке;\n 1 - удалить файлы на замке и на поддержке;\n 2 - удалить файлы на замке, на поддержке и снятые с поддержки.\n " }, "genericIssueFormat" : { "type" : "string", "description" : "Формат отчета generic issue. Только для stebi.\n Для SonarQube старее 10.3 необходимо использовать Generic_Issue.\n По умолчанию Generic_Issue_10_3\n ", "enum" : [ "Generic_Issue", "Generic_Issue_10_3" ] } } }, "notifications" : { "type" : "object", "id" : "urn:jsonschema:ru:pulsar:jenkins:library:configuration:NotificationsOptions", "description" : "Настройки рассылки результатов сборки", "properties" : { "email" : { "type" : "object", "id" : "urn:jsonschema:ru:pulsar:jenkins:library:configuration:notification:EmailNotificationOptions", "description" : "Настройки рассылки результатов сборки через email", "properties" : { "onAlways" : { "type" : "boolean", "description" : "Отправлять всегда" }, "onSuccess" : { "type" : "boolean", "description" : "Отправлять при успешной сборке" }, "onFailure" : { "type" : "boolean", "description" : "Отправлять при падении сборки" }, "onUnstable" : { "type" : "boolean", "description" : "Отправлять при нестабильной сборке" }, "alwaysOptions" : { "type" : "object", "id" : "urn:jsonschema:ru:pulsar:jenkins:library:configuration:notification:email:EmailExtConfiguration", "properties" : { "attachLog" : { "type" : "boolean" }, "directRecipients" : { "type" : "array", "items" : { "type" : "string" } }, "recipientProviders" : { "type" : "array", "items" : { "type" : "string", "enum" : [ "developers", "requestor", "brokenBuildSuspects", "brokenTestsSuspects" ] } } } }, "successOptions" : { "type" : "object", "$ref" : "urn:jsonschema:ru:pulsar:jenkins:library:configuration:notification:email:EmailExtConfiguration" }, "failureOptions" : { "type" : "object", "$ref" : "urn:jsonschema:ru:pulsar:jenkins:library:configuration:notification:email:EmailExtConfiguration" }, "unstableOptions" : { "type" : "object", "$ref" : "urn:jsonschema:ru:pulsar:jenkins:library:configuration:notification:email:EmailExtConfiguration" } } }, "telegram" : { "type" : "object", "id" : "urn:jsonschema:ru:pulsar:jenkins:library:configuration:notification:TelegramNotificationOptions", "description" : "Настройки рассылки результатов сборки через telegram", "properties" : { "onAlways" : { "type" : "boolean", "description" : "Отправлять всегда" }, "onSuccess" : { "type" : "boolean", "description" : "Отправлять при успешной сборке" }, "onFailure" : { "type" : "boolean", "description" : "Отправлять при падении сборки" }, "onUnstable" : { "type" : "boolean", "description" : "Отправлять при нестабильной сборке" } } } } }, "logosConfig" : { "type" : "string", "description" : "Конфигурация библиотеки logos. Применяется перед запуском каждой стадии сборки" } } }