2016-11-17 61 views
0

我了解HTTPClient和GET过程。我在这里想找到的是使Team Team能够使用的正确的URL /语法。您如何以编程方式从使用C#的最新Team City构建中下载构件?

我一直试图让这个使用实例在RestDocumentation

然而工作,他们都需要一个buildId。这是一个不同的版本号,随每个版本而变化。我尝试了几种与buildId=lastSuccesful的组合,但我似乎无法得到正确的语法。我已经能够创建一个链接,在粘贴到Web浏览器时成功下载特定版本,但是,当我尝试以编程方式获取它时,我得到了400未授权的例外。

我想在我可以使用REST API之前,我需要以某种方式登录到Team City?

无论如何,这可能是一个相当简单的操作,我似乎无法破译执行它的步骤。

所以,这是我认为需要发生的步骤,但我不知道如何实现它们。

  1. 以编程方式登录Team City。 (这现在正在为我工​​作)
  2. 获取我项目最后一次成功构建的BuildID。 (HELP !!)
  3. 下载与上述版本相关联的工件。 (这是现在对我来说)

我非常感谢在完成上述任何帮助。

谢谢!

+1

您是否遵循了身份验证步骤:https://confluence.jetbrains.com/display/TCD10/REST+API#RESTAPI-RESTAuthentication – Hackerman

+0

非常好。现在我使用guestAuth而不是httpAuth,并且可以从特定版本下载工件。 (YAY !!!)但是,仍然存在确定最近成功构建的buildID的问题。谢谢 !! – Curtis

回答

0

谢谢黑客让我走上正轨!

所以,如果有人有兴趣,这里的答案..

  1. 使用guestAuth而不是httpAuth。这给你授权。
  2. 获取最新成功构建的内部版本号。 http://yourteamcityserver:8080/guestAuth/app/rest/buildTypes/id:yourprojectname/builds?count=1&status=SUCCESS

  3. 解析出您接收到的XML的内部版本号。

  4. 下载您的工件(指定工件的文件名称)。 http://yourteamcityserver:8080/guestAuth/app/rest/builds/id:theIDthatYOUparsedINstep3/artifacts/yourartifactname.zip

希望这可以节省一些你我花搞清楚这一切是如何工作的小时数。

再次感谢Hackerman !!!!

相关问题