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

Creating Parametrized Jenkins Project via XML API

这是我要发布到我的詹金斯服务器的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>

我发错了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>