Get VCS changes to variable
Hi everybody. Is there a way to get pending VCS changes and than store to some variable or to text file? I need them to use in next build step as command line argument.
Question same as https://teamcity-support.jetbrains.com/hc/en-us/community/posts/206200079-how-to-access-vcs-changes-via-msbuild-variable-?input_string=VCS%20changes
Please sign in to leave a comment.
Hello Vladimir,
When the build is running a temp file with the list of changes made since the last build is generated. The path to the file is stored in %system.teamcity.build.changedFiles.file% property.
Also it's possible to get the list of pending changes using REST API, see the comments to the request: https://youtrack.jetbrains.com/issue/TW-10667.
Thank you. It was very helpful. Maybe there's some way to do it even better and get list of changes from attached issue tracker?
Do you want to get issue details from the change via REST API? f yes, then please vote for the feature request: https://youtrack.jetbrains.com/issue/TW-36410.
If it's not what you are specking about, please describe your use case in more detail.
I think i need the same as Vladimir wants.
Something like
%system.teamcity.build.changes% variable which will all the commit messages of the pending changes
Eah, we need the same thing too, as Grigory said: something like %system.teamcity.build.changes%
Came here from googling this. Is there such a variable? I want to pass it to our deployment server.
No, there isn't, as such a variable would be very complex and every user would like to have it present different information in different ways. The usual approach here is to have your own build step that collects the changelogs, either via the REST API, or directly through the VCS Root, then publish it as an artifact (to make it available for other builds) or simply reuse them internally.