Привет: у меня есть конвейерный проект в Jenkins под названием «ProjectLaunch», который автоматически запускает другие проекты один день в неделю. Я хотел бы показать в «Редактировать информацию о сборке» текст, который говорит что-то вроде «ProjectCalled полностью запущен» в вызываемом проекте. С конвейером, который у меня есть в «ProjectLaunch», я могу получить этот текст только в «Редактировать информацию о выполнении», но не в вызываемых проектах.
Мой конвейер:
pipeline {
agent any
stages {
stage('Proyect called') {
steps{
build job: 'Proyect called',string(name: "DESCRIPTION", value: "ProjectCalled full launched") ]
}
}
}
}
В проекте, который называется в конфигурации, у меня есть скрипт Execute system Groovy, он такой:
import hudson.model.*
def build = manager.build
def params = build.action(hudson.model.ParametersAction).getParameters()
def description = "${params.DESCRIPTION}"
echo "Setting build description to: ${description}"
build.createSummary("Build description").appendText(description, "html")
Но когда я запускаю его, я получаю эту ошибку: Поймано: groovy.lang.MissingPropertyException: нет такого свойства: менеджер для класса: hudson1130775177255181016 groovy.lang.MissingPropertyException: такого свойства нет: менеджер для класса: hudson1130775177255181016
Есть идеи? Спасибо.
Насколько я знаю, вы не можете установить описание сборки нижестоящего задания из вышестоящего задания. Следовательно, в вашем нисходящем задании у вас может быть некоторая логика для установки описания на основе триггера.
pipeline {
agent any
stages {
stage('Hello') {
steps {
script {
echo 'Your second Job'
if (currentBuild.getBuildCauses()[0]._class == "org.jenkinsci.plugins.workflow.support.steps.build.BuildUpstreamCause") {
echo "This is triggered by upstream Job"
currentBuild.description = "ProjectCalled full launched."
}
}
}
}
}
}
Я сделал следующее, потому что с Groovy я не мог этого сделать. Я установил плагин «Build Name and Description Setter». В проекте пайплайна «ProjectLaunch» пайплайн будет примерно таким:
Pipeline {
agent any
parameters{
string(name: "DESCRIPTION", defaultValue: "ProjectCalled full launched", description: "")
}
stages {
stage('ProjectCalled') {
steps{
build job: 'ProjectCalled', parameters: [string(name: "DESCRIPTION", value: params.DESCRIPTION)]
}
}
}
}
А в настройках ProjectCalled добавляю параметр, выбираю опцию плагина Changes build description, и пишу ${DESCRIPTION}.
Ах! Я также создал строковый параметр с именем DESCRIPTION и без значения. Строковый параметр