Вы можете получить URL удаленного хранилища с помощью команды git config remote.origin.url
.Вы можете выполнить эту команду, используя директиву expression
внутри блока when
- она определяет замыкание, которое возвращает значение boolean
.
Рассмотрим следующий пример:
def expectedRemoteUrl = "https://github.com/PowerStat/TemplateEngine.git"
pipeline {
agent any
stages {
stage("Release") {
when {
allOf {
branch 'tmp'
expression {
def remoteUrl = isUnix() ?
sh(script: "git config remote.origin.url", returnStdout: true)?.trim() :
bat(script: "git config remote.origin.url", returnStdout: true)?.trim()
return expectedRemoteUrl == remoteUrl
}
}
}
steps {
echo "Do your release steps here..."
}
}
}
}
В качестве альтернативы, если команда git
недоступна на узле, выполняющем конвейер, вы можете получить URL-адрес удаленного хранилища с помощью scm.userRemoteConfigs?.first()?.url
.Рассмотрим следующий пример:
def expectedRemoteUrl = "https://github.com/PowerStat/TemplateEngine.git"
pipeline {
agent any
stages {
stage("Release") {
when {
allOf {
branch 'tmp'
expression {
def remoteUrl = scm.userRemoteConfigs?.first()?.url
return expectedRemoteUrl == remoteUrl
}
}
}
steps {
echo "Do your release steps here..."
}
}
}
}