jira_trailer.sh 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #!/bin/bash
  2. # --[ function
  3. function get_sed () {
  4. OS=$(uname -s)
  5. if [ "${OS}" == "Linux" ]; then
  6. SED=$(command -v sed)
  7. else
  8. SED=$(command -v gsed)
  9. fi
  10. if [ -z "${SED}" ]; then
  11. echo ">> GNU 'sed' was not found on the system."
  12. echo ">> Please install it"
  13. exit 1
  14. fi
  15. echo "${SED}"
  16. }
  17. function rebasing-branch() {
  18. for location in rebase-merge rebase-apply; do
  19. path=$(git rev-parse --git-path ${location})
  20. if test -d ${path}; then
  21. revision=$(<${path}/head-name)
  22. echo ${revision##refs/heads/}
  23. return 0
  24. fi
  25. done
  26. }
  27. function get_branch_name () {
  28. BRANCH_NAME="$(git branch --show-current)"
  29. if [ -z "${BRANCH_NAME}" ]; then
  30. BRANCH_NAME="$(rebasing-branch)"
  31. fi
  32. echo "${BRANCH_NAME}"
  33. }
  34. # Function to extract the ticket number:
  35. # Ex: 12324-toto -> AVXSRE-1234
  36. # 12134/titi -> AVXSRE-1234
  37. function clean_branch_name () {
  38. echo "$1" | grep -E -o '[0-9][0-9]+'
  39. }
  40. # --[ Env
  41. TRAILER=$1
  42. SED="$(get_sed)"
  43. BRANCH="$(get_branch_name)"
  44. CLEAN_BRANCH="$(clean_branch_name $BRANCH)"
  45. # --[ Main function
  46. echo "${1}-${CLEAN_BRANCH}"