问题
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