11

是否有 REST API 端点来获取 TeamCity 中构建待处理的更改集合?

我们将构建设置为手动,它在 TeamCity 外部触发,并希望显示该构建中的提交的项目符号列表。

在用户界面中,您可以在“Pending Changes (X)”选项卡下看到这一点。

我找不到任何这样做的例子,我发现的最接近的是:

http://<server>/httpAuth/app/rest/changes/buildType:<build type id>

不过,这似乎返回了最后的更改。

以前有人做过吗?

4

2 回答 2

13

由于这个问题,我刚刚找到了一个可行的解决方案。如果其他人正在寻找完整的解决方案,我会在这里展示它:

您需要知道buildTypeId要在其上获取待处理更改的构建版本。在这种情况下,让我们说buildTypeId=bt85

1
    http://<server>/httpAuth/app/rest/buildTypes/id:bt85/builds/
    // Get the last build from the XML returned.
    // Lets say last build id = 14000

2

    http://<server>/httpAuth/app/rest/changes?build=id:14000
    // The newest change returned is the one you need.
    // Lets say newest change id = 15000

3

    http://<server>/httpAuth/app/rest/changes?buildType=id:bt85&sinceChange=15000
    // You're now looking at the pending changes list of the buildType bt85
于 2014-04-02T17:53:25.077 回答
3

我以某种方式解决的最终解决方案是:

从我的 TeamCity 之外的构建数据库中找到最新的更改 ID(我想您可以查询 TeamCity API 以找到最后一个成功的构建并从那里提取它)

然后调用:

http://<server>/httpAuth/app/rest/changes?buildId=id:<build id>&sinceChange=id:<last change id>

然后从该列表中获取每个单独的更改。

有点解决方法,但无论如何我都看不到要获取待处理更改的列表。

于 2014-02-11T10:21:39.347 回答