Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否有一种自动化TeamCity项目创建的方法?_Teamcity_Build Automation_Devops_Teamcity 9.0 - Fatal编程技术网

是否有一种自动化TeamCity项目创建的方法?

是否有一种自动化TeamCity项目创建的方法?,teamcity,build-automation,devops,teamcity-9.0,Teamcity,Build Automation,Devops,Teamcity 9.0,我正在使用TeamCity 9.x 我必须在主项目下创建400个子项目。 有没有一种方法可以自动化这些项目创建 注意:每个子项目都有一个独特的VCS URL。TeamCity非常适合这样做 要创建新项目,可以使用curl发送包含新项目XML描述的POST请求: 要创建一个新的VCS根目录,您应该发布VCS根目录XML或JSON,类似于为获取VCS根目录详细信息请求而检索到的内容http://teamcity:8111/httpAuth/app/rest/vcs-根。XML示例: <vcs-

我正在使用TeamCity 9.x

我必须在主项目下创建400个子项目。 有没有一种方法可以自动化这些项目创建

注意:每个子项目都有一个独特的VCS URL。

TeamCity非常适合这样做

要创建新项目,可以使用curl发送包含新项目XML描述的POST请求:

要创建一个新的VCS根目录,您应该发布VCS根目录XML或JSON,类似于为获取VCS根目录详细信息请求而检索到的内容http://teamcity:8111/httpAuth/app/rest/vcs-根。XML示例:

<vcs-root id="vcsRoot_id_whatever" name="auto-generated-1" vcsName="jetbrains.git">
<project id="FooProject"/>
<properties count="10">
<property name="agentCleanFilesPolicy" value="ALL_UNTRACKED"/>
<property name="agentCleanPolicy" value="ON_BRANCH_CHANGE"/>
<property name="branch" value="refs/heads/master"/>
<property name="teamcity:branchSpec" value="+:*"/>
<property name="url" value="https://github.com/JetBrains/teamcity-docker-agent.git"/>
<property name="usernameStyle" value="USERID"/>
</properties>
</vcs-root>

旧的变体是使用TeamCity RESTAPI。但现在jetbrains推出了新的Kotlin DSL

将项目设置设置为使用类型为Kotlin的Vcs设置

然后,您只需使用编程技能创建一个代码,该代码将从Kotlin dsl创建所有项目


文档中的更多信息:

我可以使用PowerShell脚本执行这些吗?是的,您可以使用Invoke RestMethod,请参阅此处的文档:谢谢:我将尝试此方法。
{
  "name":"New Project Name",
  "id":"newProjectId0000",
  "parentProject": {
    "locator":"id:FooProject"
  }
}
<vcs-root id="vcsRoot_id_whatever" name="auto-generated-1" vcsName="jetbrains.git">
<project id="FooProject"/>
<properties count="10">
<property name="agentCleanFilesPolicy" value="ALL_UNTRACKED"/>
<property name="agentCleanPolicy" value="ON_BRANCH_CHANGE"/>
<property name="branch" value="refs/heads/master"/>
<property name="teamcity:branchSpec" value="+:*"/>
<property name="url" value="https://github.com/JetBrains/teamcity-docker-agent.git"/>
<property name="usernameStyle" value="USERID"/>
</properties>
</vcs-root>