【问题标题】:Creating Build Configuration via REST in Teamcity在 Teamcity 中通过 REST 创建构建配置
【发布时间】:2012-08-02 10:40:10
【问题描述】:

是否可以通过 Teamcity 中的 REST api(POST 方法)为现有项目创建新的构建配置?
如果有,如何创建? (一些指导方针)

谢谢

【问题讨论】:

  • 嘿,你做到了吗?如果是,您能否举个例子并解释一下?
  • 嗨.. Arpit 给出的答案包含所有必需的 Rest api.. 你可以参考它。

标签: rest teamcity-7.0


【解决方案1】:

在 8.x 上肯定可以,不需要关心早期版本。

这是一个非常简单的 python sn-p,它将使用此作为指导将现有的构建配置复制到给定的项目中 http://confluence.jetbrains.com/display/TCD8/REST+API#RESTAPI-BuildConfigurationAndTemplateSettings.

import requests

xml =  """<newBuildTypeDescription name='NewBuildConfigName'
          sourceBuildTypeLocator='ExistingBuildConfigNameThatYouWantToCopy'
          copyAllAssociatedSettings='true' shareVCSRoots='false'/>
       """
headers = {'Content-Type': 'application/xml'} # set what your server accepts

print requests.post('http://YOURTEAMCITYWEBADDRESS:YOURTEAMCITYPORT/httpAuth/app/rest/projects/id:PROJECTIDWHERENEWBUILDCONFIGSHOULDBECREATED/buildTypes', data=xml, headers=headers, auth=('TeamCityUserName','TeamCityPassword')).text

【讨论】:

    【解决方案2】:

    现在可以在8.x REST 中使用。您可以执行以下操作:

    POST plain text (name) to http://teamcity:8111/httpAuth/app/rest/projects/<projectLocator>/buildTypes
    

    以上是从8.x REST 复制的。更多详情请查看8.x REST

    【讨论】:

      【解决方案3】:

      不,它没有在 REST API 中实现。看看this

      无法创建构建配置。您可以向其中添加构建步骤并对其进行配置,但似乎根本没有在 API 中实现。实际上,我昨晚自己也在和这个作斗争。如果你找到了方法,请告诉我。

      另外,您可以查看我整理的关于 Teamcity REST API 的这些notes。 (并不是说他们在回答这个问题,但其中一些可能非常有用)。

      【讨论】:

        【解决方案4】:

        嗯,初学者可以参考this

        【讨论】:

        • 如果你真的看过它,你会发现没有办法提到如何通过 REST API 创建构建配置。