📜 TIL

Gitlab에 JIRA와 Mattermost 연동시키기

둥굴둥굴둥굴레차 2021. 8. 31. 15:53

 

들어가기 전에

Gitlab에 JIRA와 MetterMost를 세팅하기 전 Members메뉴에 들어가 나의 Max role이 Maintainer인지 확인.

상위 role이어야 Settings메뉴가 보이기 때문에 확인해줘야 한다.

어떤 role부터 Settings메뉴를 건드릴 수 있는지는 모르지만 정확한 건 Developer의 상태에서는 Settings메뉴가 보이지 않아 설정할 수 없다.


Gitlab 설정

 

1. Settings - Repository - Default branch

 

 

현재는 master 브랜치가 Default 브랜치로 설정되어 있다.

 

master에서 공용으로 사용하는 develop 브렌치로 바꾸어준다.

 

2. Settings - Repository - Protected branches

 

Master branch에 아무도 push를 할 수 없도록 No one으로 설정해준다.

 

 

3. Settings - Integrations - Add an integration

Add an integration의 목록에 JIRA와 Mettermost notifications가 있다. 

 

3-1. 우선 JIRA부터 설정해보자.

 

 

JIRA를 아래와 같이 설정해주었다.

참고로 Web URL은 Base URL로 설정해야한다.

 

[참고] Base URL이란?
웹 주소에서 변하지 않는 부분.
즉, 사이트 안에서 어디로 가던 주소가 항상 일정하게 나타나는 부분.
따라서 Base URL은 사이트의 첫 페이지로 이동하였을 때 보이는 주소다.

 

 

다시 이전 페이지로 돌아와 확인해보면 JIRA가 활성화되어 위에 떠있는 모습을 볼 수 있다.

 

 

3-2. 이제 Mattermost noficifations를 설정해주자.

Add an integration에서 Mettermost notifications를 선택하여 아래와 같이 설정해주자.

(나는 너무 많은 알람이 오는건 안 좋은 것 같아 최소한의 항목에만 체크해두었다.)

(각자 원하는 알람을 받도록 알아서 체크하세요!)

Webhook은 Mettermost에서 가져와야하는 정보이다. 

 


 

Webhook 생성 및 가져오기

 

 

1. Mattermost - 내 프로필 우클릭 - 통합

 

2. 제일 왼쪽의 Incoming Webhook 클릭

 

3. Incoming Webhook 추가하기 클릭

 

제목, 설명은 자유롭게 설정

채널은 알람을 받고싶은 채널로 설정.

보통 팀원들끼리만 사용하는 채널이며 오로지 알람을 받기 위한 채널을 따로 파서 그걸로 설정해줍니다.

 

아래의 URL이 바로 Webhook URL! 

 


 

 

이로서 Gitlab에서 Mettermost notifications로 설정 완료.

 


Mattermost 설정

 

1. Mattermost에서 JIRA를 connect

Mattermost로 이동하여 JIRA의 알람을 받아볼 채널의 채팅창에 /jira connect을 실행시켜준다.

(더 많은 명령어를 보고 싶다면 /jira help)

그럼 다음과 같은 창이 뜸. 허용!

 

 

다시 채팅창에 /jira subscribe를 실행시켜주면 아래와 같은 창으로 넘어가진다.

create subscription 클릭!

 

이름은 자유롭게 설정해주고 JIRA프로젝트 중에서 알람을 받아보고 싶은 프로젝트를 설정해준다.

내가 알람을 받아보고 싶은 Events와 Issue Type을 설정해주면 끝!

 

 

2. Mattermost에서 Gitlab을 connect

이번엔 채팅창에 /gitlab connect을 실행시켜준다.

(더 많은 명령어를 보고 싶다면 /gitlab help)

 

왼쪽아래 부분에 주목!

 

그럼 다음과 같은 링크를 보내주는데, 클릭해보자.

 

클릭하면 환영의 메세지와 함께 왼쪽 아래 부분이 바뀐 것을 볼 수 있다.

 


이제 gitlab에 커밋 푸시하여 연동이 잘 되는지 테스트해보자

 

 

git의 커밋 메시지의 앞부분에 #JIRA이슈 번호를 붙인 다음 커밋 메시지를 작성하자.

$ git add .
$ git commit -m "#S05P21C103-22 [S05P21C103-22] [BE-mymysuzy0627] TIL upload"
$ git push origin mymysuzy0627

 

 

push 해주자마자 mattermost에 다음과 같이 봇이 게시글을 올려준다.

아래 빨간 박스(branch)를 클릭해보자.

 

 

그럼 이렇게 해당 이슈의 Jira페이지로 연결이 되어있다!