我正在使用Team City API来获取失败的构建(用于在 JavaScript 应用程序中显示)。
我想找出是谁在 Git 中提交了更改,导致构建失败。然后我们可以将开发者的名字大而粗地放在状态显示上......
但我找不到从哪里获取用户信息。请问有什么指点吗?
您可以通过 REST API 获取给定构建 ID 的更改列表,如下所示:
http://<yourTCServer>/httpAuth/app/rest/changes?build=id:<buildId>
Run Code Online (Sandbox Code Playgroud)
该请求的响应将包括一个或多个“更改”条目,具体取决于构建中包含的提交数量。每个条目看起来都像这样(假设响应格式为 XML;如果您愿意,您可以获取 JSON):
<change id="####" version="<commit id>" href="/httpAuth/app/rest/changes/id:####" />
Run Code Online (Sandbox Code Playgroud)
然后,您可以按照返回的 href 来获取每个更改的详细信息,其中包括相关用户的标签,如下所示:
<user username="<some TC username>" name="<some TC user's full name>" ... />
Run Code Online (Sandbox Code Playgroud)
根“change”元素还将包含 git 用户名,但如果您在 TC 中正确设置了所有用户,以便 git 用户和 TC 用户之间存在关联,您将获得“user”元素我在上面展示了它,它将包含更多信息。