问题
I recently re-configured our TeamCity build configuration to take advantage of the Branch features to apply the same build configuration to multiple branches in the same repository.
Now, I'm trying to setup an automated build script that can pull the latest artifact from TeamCity, but only for a specific branch. I was able to get it working fine on the default branch in the original configuration, using the TeamCity REST API, but can't figure out how to format the URL to pull the artifact for a specific branch.
I've looked at the following resources, but to no avail:
http://confluence.jetbrains.com/display/TW/REST+API+Plugin http://confluence.jetbrains.com/display/TCD7/Patterns+For+Accessing+Build+Artifacts
Thoughts?
回答1:
I just came across this article.
I plan on giving this a try over the next couple days, and if it works, I will give a brief summary of the result for anyone else who has trouble with this.
EDIT:
Sorry for the delay, just realized that I never came back to report how we resolved this issue.
We ended up upgrading TeamCity (which we should have done anyway, so it wasn't a big deal), and once that was finished, it worked great without much effort. We're now running TeamCity v8.1.5, and here's the URL pattern we're using to pull our artifacts:
http://<build-server>/httpAuth/app/rest/builds/buildType:<build-type>,branch:<branch>/artifacts/content/<artifact-path>
NOTE: We're using the httpAuth API in order to authorize access to our build artifacts, so we also had to create a new TeamCity user for our deployments.
回答2:
From the linked page adding the QueryString param worked for me:
?branch=<branch_name>
Without this it only downloads artifacts from default branch.
Our full url:
http://<buildserver>/repository/downloadAll/<BuildId>/.lastFinished?branch=<branchname>
Which will download latest build from branch 'branchname' on the 'buildid' config.
回答3:
You can construct the URL as follows:
http://<TeamCity-Server>/guestAuth/repository/download/<BUILD_TYPE_ID>/<BUILD_NUMBER>/<ARTIFACT_PATH>
来源:https://stackoverflow.com/questions/17625547/teamcity-artifact-from-lastsuccessful-branch-build