DanielBlanco
10/16/2015 - 4:44 PM

git hook to append Jira ticket

git hook to append Jira ticket

#!/bin/bash                                                                     
                                                                                
# This way you can customize which branches should be skipped when              
# prepending commit message.                                                    
if [ -z "$BRANCHES_TO_SKIP" ]; then                                             
  BRANCHES_TO_SKIP=(master)                                                     
fi                                                                              
                                                                              
JIRA_SERVER=$(git config jira.server)                                           
BRANCH_NAME=$(git symbolic-ref --short HEAD)                                    
BRANCH_NAME="${BRANCH_NAME##*/}"                                                
                                                                               
BRANCH_EXCLUDED=$(printf "%s\n" "${BRANCHES_TO_SKIP[@]}" | grep -c "^$BRANCH_NAME$")
TICKET_IN_COMMIT=$(grep -c "Jira:" $1)                                          
                                                                               
if [ -n "$BRANCH_NAME" ] && ! [[ $BRANCH_EXCLUDED -eq 1 ]] && ! [[ $TICKET_IN_COMMIT -ge 1 ]]; then
  jira_ref="Jira: $JIRA_SERVER/browse/$BRANCH_NAME"                             
  text="\n \n $jira_ref \n"                                                     
  sed -i.bak -e "1s|^|$text|" $1                                                
fi