通过XML API创建参数化Jenkins项目

时间:2015-04-15 17:53:58

标签: xml rest jenkins

这是我发给我的jenkins服务器的xml。我试图通过xml api创建一个参数化的Jenkins项目。我发布到http://localhost:8080/createItem?name=testjob。它正在创建作业,但没有构建参数定义。这需要是一个参数化项目,它为每个构建接受一个CALLBACK_URL参数。

我错过了什么吗?如何通过api创建参数化构建?信息记录在哪里?我很难找到可以记录的地方

<project>
  <actions/>
  <description/>
  <keepDependencies>true</keepDependencies>
  <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>test</command>
    </hudson.tasks.Shell>
  </builders>
  <publishers/>
  <buildWrappers/>
  <action>
    <parameterDefinition>
      <defaultParameterValue>
        <value>google.com</value>
      </defaultParameterValue>
      <description>webhook callback</description>
      <type>StringParameterDefinition</type>
      <name>CALLBACK_URL</name>
    </parameterDefinition>
  </action>
  <property>
    <parameterDefinition>
      <defaultParameterValue>
        <value>google.com</value>
        <name>CALLBACK_URL</name>
      </defaultParameterValue>
      <description>webhook callback</description>
      <type>StringParameterDefinition</type>
      <name>CALLBACK_URL</name>
    </parameterDefinition>
  </property>
</project>

1 个答案:

答案 0 :(得分:0)

我发布了错误的XML。我查看了通过jenkins GUI创建的项目的xml配置。下面的xml,当发布时我做了我想做的事情,即创建一个参数化的jenkins项目

<project>
  <actions/>
  <description/>
  <keepDependencies>false</keepDependencies>
  <properties>
    <hudson.model.ParametersDefinitionProperty>
      <parameterDefinitions>
        <hudson.model.StringParameterDefinition>
          <name>CALLBACK_URL</name>
          <description>webhook callback url</description>
          <defaultValue/>
        </hudson.model.StringParameterDefinition>
        <hudson.model.StringParameterDefinition>
          <name>TYPE</name>
          <description>build type</description>
          <defaultValue>ALL</defaultValue>
        </hudson.model.StringParameterDefinition>
      </parameterDefinitions>
    </hudson.model.ParametersDefinitionProperty>
  </properties>
  <scm type="scm" class="hudson.scm.NullSCM"/>
  <canRoam>true</canRoam>
  <disabled>false</disabled>
  <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
  <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
  <triggers/>
  <concurrentBuild>false</concurrentBuild>
  <builders>
    <hudson.tasks.shell>
      <command>test</command>
    </hudson.tasks.shell>
  </builders>
  <publishers/>
  <buildWrappers/>
</project>