2013년 10월 1일 화요일

Trello에 GitHub 연동하기

매우 애용하고 있는 칸반 보드 서비스인 Trello에 GitHub을 연동해보고자 한다. GitHub은 레포지토리 별로 Service Hook을 지원한다. 만약 GitHub/Trello를 사용하고 있는 프로젝트가 있다면 이를 이용하여 Commit, Pull request를 Trello의 지정 리스트에 자동 등록하도록 설정해보자.

1. GitHub에서 Service Hooks 설정하기

repository > Setting > Service Hooks > Trello 순으로 선택.

Trello와 연동하고자 하는 repository에서 setting으로...
Available Service Hooks 맨 아래 쪽에 Trello가 있다.

위 그림에서 알 수 있듯이, 트랠로와의 연동엔 Push List Id, Pull Request List Id, Consumer Token이 필요하다. 우선 Consumer Token을 얻어보자.

2. Consumer Token 얻기

셋팅 입력 폼 밑에 text box를 보면 Install Note가 있다. 1번의 "create a consumer token"을 선택

"create a consumer token"을 선택
Trello의 계정 권한 연동에 대해 물어본다. 당연히 "Allow"
(모자이크로 가려진) consumer token을 얻었다.

token을 쭈욱 복사해서 아까의 consumer token 입력 박스에 붙여 넣자. 자, 그럼 Commit list id와 Pull request id만 남았다. Trello를 열어보자

3. Trello에서 List ID 찾기.

GitHub-Trello 연동을 위해 구글링한 결과, Trello의 board ID를 추출하여 list ID를 구해오는 방식을 설명하더라. 심지어 GitHub의 Install note에도 그렇게 설명되어 있다. 하지만 이제 Trello는 URL 창에 board ID가 노출되지 않는다. 그런 연유로 board ID를 얻기 위하여 한참을 뒤진 결과, Export JSON 발견! 혹시나 했는데 역시나 저기 있더라. 게다가 이 방법은 board ID 없이도 바로 list ID를 추출할 수 있었다.


우선 우측에 "show sidebar" > Menu > Share, print, and Export... > Export JSON

JSON 창이 나오면 맨 첫 줄에 board ID와 board name이 노출된다.(그리고 드디어 URL 창에 board ID가 나온다.) 결국 board ID를 찾았어! 근데 왠지 list ID도 있을 것 같은데... 역시 밑을 잘 찾아보니 해당 board에 등록해놓은 모든 list의 ID와 name 역시 보인다. 빙고! 미리 Trello에서 생성해 놓은 "Commits"와 "Pull Requests"라는 이름의 list를 검색하여 ID를 추출하였다.

board ID를 발견했다. 근데 필요 없어! 바로 밑에 내가 등록해놓은 list ID가 있으니...

이제 모든 입력 폼을 채웠다. 사용할 일만 남았군. +_+) Master branch만 후킹하려면 Master Only 박스를 체크하자. Ignore Regex는 exception rule을 정규표현식으로 입력하게 둔 것 같으나, 사용할 일 없으므로 일단 pass.

이제 모든 준비가 완료되었다. Active를 체크하고 "Update settings" 버튼을 누르자.

4. Enjoy it !
아래와 같이 다소곳이 올라가는 Commits를 볼 수 있다. (아직 해당 프로젝트가 Pull Requests를 받은 적이 없어서 해당 내용은 올라가있지 않다.)



댓글 없음:

댓글 쓰기