Вопрос Как я могу передать переменные в сценарий dsl задания, встроенный в файл конвейера. У меня есть конвейер Jenkins, который устанавливает некоторые переменные, и я хочу использовать эти переменные в шаблоне pipelineJob в конвейере. Пробовал разные комбинации, но не получилось. Например, ниже показан мой конвейер, который получает ввод от пользователя, т.е. URL-адрес репо git.
pipeline {
agent any
parameters {
string(name: 'repo_url', defaultValue: '')
}
stages {
stage('Input gathering') {
steps {
script {
env.repo_url = input message: 'Enter github url', parameters: [string(defaultValue: '', description: '', name: 'repo_url', trim: false)]
}
echo "====${env.repo_url}======"
}
}
stage('stage'){
steps {
// some other steps
echo "====${env.repo_url}======"
jobDsl scriptText: '''pipelineJob(\'new-job\') {
triggers {
scm(\'H/5 * * * *\')
}
definition {
cpsScm {
scm {
git {
remote {
url(repo_url)
credentials('bitbucket-jenkins-access')
}
branches(\'master\')
scriptPath(\'Jenkinsfile\')
extensions { }
}
}
}
}
}'''
}
}
}
}