我使用Jenkins python api创建参数化作业,我可以使用以下config.xml创建一个带有一个参数的作业
<?xml version='1.0' encoding='UTF-8'?>
<project>
<actions/>
<description>A build that explores the wonderous possibilities of parameterized builds.</description>
<keepDependencies>false</keepDependencies>
<properties>
<hudson.model.ParametersDefinitionProperty>
<parameterDefinitions>
<hudson.model.StringParameterDefinition>
<name>B</name>
<description>B, like buzzing B.</description>
<defaultValue></defaultValue>
</hudson.model.StringParameterDefinition>
</parameterDefinitions>
</hudson.model.ParametersDefinitionProperty>
</properties>
<scm class="hudson.scm.NullSCM"/>
<canRoam>true</canRoam>
<disabled>false</disabled>
<blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
<blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
<triggers class="vector"/>
<concurrentBuild>false</concurrentBuild>
<builders>
<hudson.tasks.Shell>
<command>ping -c 1 localhost | tee out.txt
echo $A > a.txt
echo $B > b.txt</command>
</hudson.tasks.Shell>
</builders>
<publishers>
<hudson.tasks.ArtifactArchiver>
<artifacts>*</artifacts>
<latestOnly>false</latestOnly>
</hudson.tasks.ArtifactArchiver>
<hudson.tasks.Fingerprinter>
<targets></targets>
<recordBuildArtifacts>true</recordBuildArtifacts>
</hudson.tasks.Fingerprinter>
</publishers>
<buildWrappers/>
</project>
我真正想要的是创建一个包含多个参数的作业,我尝试在此xml中添加并行<name>
标记,但它实际上在新作业中创建了一个参数。我错误地更改了xml吗?
还有什么可以在api中的参数字段中添加预定义值?例如,参数B
在创建作业后将具有值b
。
答案 0 :(得分:4)
每个参数都需要自己的hudson.model.StringParameterDefinition部分。听起来你正试图在一个StringParameterDefintion部分中放置多个名称,这将不起作用。
如果有疑问,请手动创建作业,然后转到该作业的页面并附加“/config.xml”。您将获得该作业的XML。让你的Python复制它,你就完全了。