티켓에 자동으로 연결

1649 단어 shellagilegitbash
당신이 나와 같다면 git이 당신이 하고 있는 일과 이유를 넣는 가장 논리적인 장소임에도 불구하고 마지못해 애자일 보드에 대한 링크를 포함시키려고 할 것입니다.

가능한 한 최소한의 노력으로 이 작업을 수행하도록 강제하기 위해 몇 가지 자동화를 생각해 냈습니다. 아마도 그들은 당신과 당신의 팀을 도울 것입니다.

지점 장식하기



먼저 다음 별칭을 사용하여 지점을 특정 티켓에 연결합니다.

# create the alias
git config [-g] alias.story "! git config branch.$(git branch --show-current).story"

# set the branch story
git story [ id of the story ]

# get the branch story
git story
# > id of the story


자신에게 이야기를 추가하도록 강요



다음으로 다음 사전 커밋 githook을 만들고 실행 가능하게 만듭니다.

#!/usr/bin/env bash

if [ -n "$SKIP_STORY" ]; then
  exit 0
fi

if [ -z "$(git story)" ]; then
  echo No story is set
  echo '$ git story AA-1234'
  exit 1
fi

echo "Story is $(git story)"


스토리 없이 커밋하려고 할 때마다 git은 허용하지 않습니다.

커밋 메시지 자동 장식



다음으로 다음 prepare-commit-msg 후크를 만들고 실행 가능하게 만듭니다.

#!/usr/bin/env ruby

exit 0 if ENV['SKIP_STORY']

story=`git story`.strip

tmp=File.read(ARGV[0])
  .gsub(/\n+### Story.*/, "").tap{ |m| puts m }
    .+ "\n### Story [#{story}](#{ENV["STORY_BASE_URL"]}#{story})\n"
File.write(ARGV[0], tmp)


이 후크는 스토리에 마크다운 링크를 자동으로 추가하고 변경합니다.

기본 URL 설정



마지막으로 링크가 스토리를 올바르게 가리키도록 STORY_BASE_URL 환경 변수를 설정합니다. 다음은 JIRA의 예입니다.
https://[my-company].atlassian.net/browse/
그 마지막 부분을 통해 나는 이제 최소한의 노력으로 훌륭한 팀 플레이어가 된 것처럼 보입니다.

좋은 웹페이지 즐겨찾기