[workflow-plugin] how to add parameters to existing/new project

48 views
Skip to first unread message

Arek Skalski

unread,
Jul 15, 2015, 5:06:07 AM7/15/15
to jenkins...@googlegroups.com


I have a code snippet to create an empty workflow project.

def parent = Jenkins.getInstance()
def name = "Test_Name"
def project = parent.getItem(name)

if (project == null) {
    project
= parent.createProject(WorkflowJob.class, name)
} else print "[INFO] Project $name already exists. Will be updated."
project
.setDescription("my description")
project
.setDefinition(new CpsFlowDefinition("print \"test\""))
project
.addTrigger(new hudson.triggers.TimerTrigger("0 20 * * *"))
project
.setBuildDiscarder(new hudson.tasks.LogRotator("", "5", "", ""))
project
.save()

I would like to add parameters to that project, something like:

project.addParameter(new StringParameter("name", "default", "description"))

but I cannot find a way how to actually do it.

Oleg Nenashev

unread,
Jul 15, 2015, 5:23:13 PM7/15/15
to jenkins...@googlegroups.com
Currently you would have to define Workflow job parameters via UIs and then use these parameters as environment variables in your workflow scripts. Unfortunately there is no direct scripting support.

среда, 15 июля 2015 г., 12:06:07 UTC+3 пользователь Arek Skalski написал:
Message has been deleted

Arek Skalski

unread,
Jul 16, 2015, 3:47:08 AM7/16/15
to jenkins...@googlegroups.com
I think it was rather overall jenkins question. I've found an answer in jenkins code:

project.addProperty(new ParametersDefinitionProperty(
   
new StringParameterDefinition("A", "aaa", "Desc"),
   
new StringParameterDefinition("C", "ccc", "Desc2"),
   
new StringParameterDefinition("B", "AAAA", "Desc3")
));
Reply all
Reply to author
Forward
0 new messages