Difference between revisions of "Git & Atlassian"
From Briki
| Line 13: | Line 13: | ||
** This will transition the JIRA issue to Done | ** This will transition the JIRA issue to Done | ||
* Delete branch locally if desired, with <code>git branch -d branchname</code> | * Delete branch locally if desired, with <code>git branch -d branchname</code> | ||
| + | |||
| + | === Hook to add branch/issue name to feature branches === | ||
| + | This enables JIRA/Bamboo integration so that JIRA can detect build status in the Development pane | ||
| + | <pre> | ||
| + | #!/bin/sh | ||
| + | # | ||
| + | # Automatically adds branch name and branch description to every commit message. | ||
| + | # Modified from the stackoverflow answer here: http://stackoverflow.com/a/11524807/151445 | ||
| + | # | ||
| + | |||
| + | # Succeed on all merge messages, as evidenced by MERGE_MSG existing | ||
| + | [ -f $GIT_DIR/MERGE_MSG ] && exit 0 | ||
| + | |||
| + | # Get branch name and description | ||
| + | NAME=$(git branch | grep '*' | sed 's/* //') | ||
| + | DESCRIPTION=$(git config branch."$NAME".description) | ||
| + | |||
| + | case "$NAME" in | ||
| + | feature/*) | ||
| + | # Append branch name and optional description to COMMIT_MSG | ||
| + | # For info on parameters to githooks, run: man githooks | ||
| + | ISSUE=$(echo $NAME | sed 's/feature\/\([A-Z]*-[0-9]*\).*/\1/') | ||
| + | if [ "$ISSUE" != "$NAME" ]; then | ||
| + | echo -e "\nIssue: $ISSUE" >> "$1" | ||
| + | BRANCH_PREFIX="" | ||
| + | else | ||
| + | BRANCH_PREFIX="\n" | ||
| + | fi | ||
| + | echo -e "${BRANCH_PREFIX}Branch: $NAME $DESCRIPTION" >> "$1" | ||
| + | esac | ||
| + | </pre> | ||
Revision as of 14:57, 5 December 2014
Simple workflow
- Create JIRA issue
- Click "Create Branch" on JIRA issue (check source branch)
- This will transition the JIRA issue to In Progress
-
git fetch -
git checkout branchname(this will automatically create the new branch locally, based on the new remote branch) - Make changes
-
git commit -am "My commit description" -
git push - Create pull request
- This will transition the JIRA issue to In Review
- Merge on build success, and optionally delete branch
- This will transition the JIRA issue to Done
- Delete branch locally if desired, with
git branch -d branchname
Hook to add branch/issue name to feature branches
This enables JIRA/Bamboo integration so that JIRA can detect build status in the Development pane
#!/bin/sh
#
# Automatically adds branch name and branch description to every commit message.
# Modified from the stackoverflow answer here: http://stackoverflow.com/a/11524807/151445
#
# Succeed on all merge messages, as evidenced by MERGE_MSG existing
[ -f $GIT_DIR/MERGE_MSG ] && exit 0
# Get branch name and description
NAME=$(git branch | grep '*' | sed 's/* //')
DESCRIPTION=$(git config branch."$NAME".description)
case "$NAME" in
feature/*)
# Append branch name and optional description to COMMIT_MSG
# For info on parameters to githooks, run: man githooks
ISSUE=$(echo $NAME | sed 's/feature\/\([A-Z]*-[0-9]*\).*/\1/')
if [ "$ISSUE" != "$NAME" ]; then
echo -e "\nIssue: $ISSUE" >> "$1"
BRANCH_PREFIX=""
else
BRANCH_PREFIX="\n"
fi
echo -e "${BRANCH_PREFIX}Branch: $NAME $DESCRIPTION" >> "$1"
esac