sync-jira-github를 사용하여 jira github 이슈 동기화 하기.

스크린샷 2014-08-27 17.51.36

jira를 github를 동기화할 방법을 찾다가, zapier 를 사용하는 방법과, npm lib인 sync-jira-github를 사용하는 두가지 방법을 찾았다.

 

여기서는 sync-jira-github를 사용하여 sync 하는 방법을 소개한다.

 

https://www.npmjs.org/package/sync-jira-github 를 다운 받는다. npm 설치하여 바로 사용할 수 있지만, 일단 마지막 커밋이 2013-4-2로 상당히 오래 되었다.

 

그래서 수정이 필요할 것으로 보여 내 저장소로 fork를 하고, local로 clone했다.

https://github.com/kimalec/jira-github-issue-sync

 

소스를 다운 받고 두가지를 수정하였는데, 그중에 하나는 package.json에서 jira, github npm 버젼을 최신으로 변경하였다.

https://github.com/kimalec/jira-github-issue-sync/commit/d79b006ad748ecde449a675313e5182b28f82716

 

또 한가지는 bin/sync-jira-github가 무조건 npm lib를 호출하도록 되어 있는 것을 상위 sync.js를 호출하도록 하였다. 

https://github.com/kimalec/jira-github-issue-sync/commit/654a17ca2482aeb6594d719196c3c5366ecc2951

 

이렇게 하지 않으면 package.json에 sync-jira-github를 넣어주어야 한다.

 

사용법은 간단하다. project-example.json 를 따라 JIRA 계정정보와 github 계정 정보를 넣어주면 된다.

 

주의 할 것은 userMapping인데 jira와 github모두 협업툴이므로, asign대상을 맞추어 mapping해주어야 하는데 그 정보를 넣어주어야 한다.

“userMapping”: {
          “AlecKim”: “kimalec”,

그런데 문제가 jira에만 있는 계정이거나, JIRA issue가 담당자가 없는 경우에는 대해서는 에러가 발생하게 되어 있다. 나중에 수정할 생각인데 이 경우에는 aleckim에 할당하게 하였다.

var getGhUserFor = function getGhUserFor(jiraUser) {
     var ghuser = context.config.userMapping[jiraUser];
     if(!ghuser) {
              ghuser = ‘kimalec’;
          }
     if(!ghuser) {
               throw new Error(“Can’t find ghuser for jiraUser:” + jiraUser);
     }
     return ghuser;
};

 

sync-jira-github를 사용하여 jira github 이슈 동기화 하기.”의 1개의 생각

댓글 남기기