How to retrieve Git commit id and message in VSTS/TFS build?

ⅰ亾dé卋堺 提交于 2020-01-22 15:35:07

问题


I'm in a CI environment using VSTS and I want to get the commit comment to set him into a text file.

Here are my build step :

The idea is to copy the GIT commit comment into a text file stored in the artifact folder. Then with the HockeyApp SDK, i'll set my commit comment in the relase note.

I can easily copy the file with a command line operation, but I do not know how the retrieve the comment.


回答1:


The environment variable $(Build.SOURCEVERSIONMESSAGE) is set during build. You can access it using $(build.SOURCEVERSIONMESSAGE) directly in your task inputs.

If you want to access it in a powershell script or inline powershell script. You can access it via the environment variable i.e. Get-Item Env:\BUILD_SOURCEVERSIONMESSAGE

The following script will create a new file commit.txt in the binaries folder with commit message in it. Run the script using the Powershell task with inline Type.

$message = (Get-Item Env:\BUILD_SOURCEVERSIONMESSAGE)

$path =  (Get-Item Env:\BUILD_BINARIESDIRECTORY).Value + '\commit.txt'

echo $message > $path




回答2:


Following command will display the latest commit id and commit message:

git log --pretty=oneline | head -1



回答3:


You can create a power-shell script task in the build definition to get the commit comment and write it to a text file via Rest API.



来源:https://stackoverflow.com/questions/38199473/how-to-retrieve-git-commit-id-and-message-in-vsts-tfs-build

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!