How to compose git log for pending changes in TeamCIty

后端 未结 3 2054
北荒
北荒 2021-02-13 21:46

I have a TeamCity agent configured to build my XCode projects and I use github. I would like to automatically include in my release notes the descriptions from all pending commi

3条回答
  •  陌清茗
    陌清茗 (楼主)
    2021-02-13 22:26

    THis is how I ended up doing this using a bash script:

    #!/bin/bash 
    
    curl -o lastBuild.tmp "http://localhost:8111/app/rest/buildTypes/id:bt2/builds/status:SUCCESS" --user rest:rest
    last_commit=`xpath lastBuild.tmp  '/build/revisions/revision/@version'| awk -F"\"" '{print $2}'`
    
    echo "##Last commit = $last_commit"
    # prepare build notes
    NOTES=`git log --pretty=format:"- %s" $last_commit..origin/master`
    
    echo "this is it:$NOTES"
    

    Some explanations:

    1. Use curl to fetch the last successful build from your build configuration. In my sample this is bt2, make sure to replace it with yours
    2. Use XPath/AWK to parse the XML response and get the last git version
    3. Use git log to get all changes form last build and format them anyway you want. I wanted to just get the commit descriptions.

提交回复
热议问题