Validation.groovy#

Шаг валидации параметров из всех источников: из конфигурационного файла проекта, из конфигурационного файла библиотеки, из параметров Jenkins Job.

Важно! Изменение в валидации: params не объединяется с config перед валидацией.

Параметры могут относиться к:

  • checkout

    Если присутствует параметр skipCheckout, то валидация блока с информацией по репозиторию пропускается. Нужно на случай, если к моменту запуска Jenkins Job данная информация неизвестна (MultiAutomationInstall.groovy - описан в подразделе «Шаги» раздела «Дополнительная документация» текущего документа) группа параметров, отвечающих за скачивание исходных файлов (приложения, конфигурационные файлы, стендозависимые параметры). Проверяется наличие параметров из этой группы в блоке checkout в конфигурации проекта.
    Пример:

    synapse:
      url: params.synapseGitUrlSources
      branch: params.synapseGitBranchSources
      credentialsId: shh credentials в Jenkins
      dir: synapseSrc
    
  • requiredNotEmpty группа параметров Jenkins Job, в которой каждой параметр должен быть не пустым и не равным null.

  • setPropsIfNotExist группа параметров Jenkins Job, в которой каждому параметру прописывается значение по умолчанию, если оно пустое на момент валидации.

  • requiredLimitedValues группа параметров Jenkins Job, где каждому параметру приписываются значения, которые он может принимать. Соответственно значение параметра на момент валидации сравнивается с допустимыми.

  • optionalParam группа параметров Jenkins Job, в которой, на момент валидации, проверяются, что параметры не равны null. То есть параметр попадает в общий список, если там есть хоть какое-то значение отличное от нуля

После выполнения всех проверок список провалидированных параметров объединяется с перезаписью в общий список параметров, который был сформирован до валидации.

Если валидация не проходит, то выводится соответствующее сообщение об ошибке и параметр, на которой упала валидация.

Список необходимых параметров

Входящие

config.paramsForValid

config.skipCheckout