Тут я фиксирую для себя сведения о Jenkins (версии 2 и последующих).
Jenkins 2 поддерживает два варианта синтаксиса описания конвейеров (Jenkinsfile).
Грубо говоря - описание конвейера представляет собой скрипт на языке Groovy.
Сценарный синтаксис более функционален, по сравнению с декларативным и позвоялет создавать максимально гибкие конвейеры.
Визуально сценарный конвейер можно определить по конструкциям вида:
node('worker') { stage('Source') { ... ...
Декларативный способ описания конвейера заключается в объявлении состояний и ожидаемых результатов.
Декларативный синтаксис напоминает web-интерфейс с заполняемыми формами. Если каких-то необходимых действий не предусмотрено, то их придется дописывать.
Описание конвейера в декларативном стиле начинается так:
pipeline { agent {label:'worker'} stages { stage('Source') { ... ...
В общем случае - действие описывается его названием, а также набором именованных параметров, которые могут быть обязательными и не обязательными. Для обязательных параметров можно не указывать имя параметра.
Полный вариант синтаксиса:
git([branch: 'test', url: 'http://github.com/brentlaster/gradle-greetings.git'])
Допускается запись без скобок:
git branch: 'test', url: https://github.com/brentlaster/gradle-greetings.git
Обязательным является только именованный параметр url, поэтому допускается еще более упрощенная запись:
git 'https://github.com/brentlaster/gradle-greetings.git'
Если именованный параметр не требуется, то параметром по умолчанию является объект сценария:
bat ([script: 'echo hi'])
или
bat 'echo hi'