GitHub를 Mattermost에 연결#
GitHub를 Mattermost와 통합하여 GitHub 코드 저장소와 커뮤니케이션 플랫폼 간의 주의 산만함을 최소화하고 컨텍스트 전환을 줄이세요. Mattermost 채널에서 직접 커밋, 풀 리퀘스트, 이슈 등에 대한 실시간 업데이트를 통해 팀이 집중하고 생산적으로 일할 수 있도록 도와주세요.
배포#
설정은 GitHub에서 시작하고 Mattermost에서 완료됩니다.
GitHub에서 OAuth 앱 등록#
Mattermost 시스템 관리자는 GitHub에서 다음 단계를 수행해야 합니다.
GitHub에서 OAuth 앱을 등록하려면 https://github.com/settings/applications/new 로 이동하세요.
다음 값을 설정하세요:
애플리케이션 이름:
Mattermost GitHub Plugin - <YOUR COMPANY NAME>홈페이지 URL:
https://github.com/mattermost/mattermost-plugin-github인증 콜백 URL:
https://YOUR-MATTERMOST-URL.COM/plugins/github/oauth/complete,https://YOUR-MATTERMOST-URL.COM을 Mattermost URL로 대체하세요. 이 값은 로그인에 사용하는 Mattermost 서버 URL과 일치해야 합니다.
변경 사항을 저장하세요.
새 클라이언트 시크릿 생성 을 선택하고 GitHub 비밀번호를 입력하여 계속하세요.
결과 화면에서 Client ID 와 Client Secret 을 복사하세요.
Mattermost에서 시스템 콘솔 > 플러그인 > GitHub 로 이동하여 각 필드 옆의 재생성 을 선택하여 Webhook Secret 과 At Rest Encryption Key 를 모두 재생성하세요. GitHub에서 웹훅을 생성하려면 Webhook Secret 값의 복사본이 필요합니다.
참고
웹훅 시크릿과 암호화 키는 한 번만 표시되므로 복사본을 만드는 것을 권장합니다.
GitHub에서 웹훅 생성#
Mattermost 시스템 관리자는 GitHub에서 다음 단계를 수행해야 합니다. 설정하려는 각 GitHub 조직에 대해 GitHub에서 웹훅을 생성하세요.
GitHub에서 알림을 보내려는 설정 페이지로 이동한 다음 사이드바에서 Webhooks 를 선택하세요.
웹훅 추가 를 선택하세요.
다음 값을 설정하세요:
페이로드 URL:
https://YOUR-MATTERMOST-URL.COM/plugins/github/webhook.https://YOUR-MATTERMOST-URL.COM을 Mattermost URL로 대체하세요.콘텐츠 유형:
application/json시크릿: 앞서 복사한 Webhook Secret 값.
어떤 이벤트로 이 웹훅을 트리거하시겠습니까? 아래에서 개별 이벤트 선택 을 선택하세요.
다음 이벤트를 선택하세요:
브랜치 또는 태그 생성
브랜치 또는 태그 삭제
릴리스
이슈 댓글
이슈
풀 리퀘스트
풀 리퀘스트 리뷰
풀 리퀘스트 리뷰 댓글
푸시
스타
워크플로우
변경사항을 저장하려면 웹훅 추가 를 선택하세요.
Mattermost 구성#
Mattermost 시스템 관리자는 Mattermost에서 다음 단계를 수행해야 합니다.
Mattermost 배포에
github사용자 계정이 있는지 확인하세요. 계정이 존재하는 경우 기본적으로 채널에 GitHub 메시지를 게시하며, 메시지에는 BOT 태그가 포함되지 않습니다. 다음 방법 중 하나를 사용하여 이 계정 동작을 변경하여 BOT 태그를 포함시킬 수 있습니다:
mmctl user convert 를 사용하여 사용자 계정을 봇으로 변환하세요.
기존
github사용자 이름을 다른 이름으로 변경하세요. enable bot account creation 구성 설정이 활성화된 상태에서 Mattermost 서버가 재시작되면github라는 새로운 봇 계정이 생성됩니다.
제품 내 앱 마켓플레이스에서 GitHub 통합을 설치하세요:
Mattermost에서 제품 메뉴
에서 앱 마켓플레이스 를 선택하세요.
GitHub를 검색하거나 스크롤하여 설치 를 선택하세요.
설치가 완료되면 구성 을 선택하세요. 시스템 콘솔로 이동합니다.
GitHub 구성 페이지에서 다음과 같이 GitHub 상호 운용성을 활성화하고 구성한 다음 저장 을 선택하세요:
등록 중에 얻은 GitHub OAuth 클라이언트 ID 와 GitHub OAuth 클라이언트 시크릿 을 입력하세요.
(선택 사항) GitHub 조직: GitHub 조직의 이름을 지정하여 통합을 단일 GitHub 조직으로 잠그세요.
(GitHub Enterprise 전용): GitHub Enterprise URL(예:
https://github.example.com)을 Enterprise Base URL 및 Enterprise Upload URL 값으로 설정하세요. 이 값들은 종종 동일합니다.(Mattermost 데스크톱 앱 전용) 왼쪽 사이드바에 알림 카운터 표시: Mattermost 사이드바에서 GitHub 알림 카운터를 표시하거나 숨깁니다.
(선택 사항) 비공개 저장소 활성화: 비공개 저장소 작업 기능을 활성화합니다. 비공개 저장소가 활성화되면 영향을 받는 사용자에게 알림이 표시되며, 비공개 저장소에 접근하려면 GitHub 계정을 다시 연결해야 합니다.
(선택 사항) 기본적으로 비공개 저장소에 연결: 비공개 저장소가 활성화된 경우 기본적으로 비공개 GitHub 저장소에 연결합니다.
(선택 사항) 코드 미리보기 활성화: GitHub 파일의 영구 링크를 미리보기와 함께 확장합니다. 공개 저장소, 공개 및 비공개 저장소를 활성화하거나 이 옵션을 비활성화할 수 있습니다.
(선택 사항) 웹훅 이벤트 로깅 활성화: 이 옵션을 활성화하여 로그 수준이 DEBUG로 설정된 경우 웹훅 이벤트를 로깅합니다.
(선택 사항) 커밋 알림에 작성자 표시: GitHub 푸시 이벤트 알림에서 커미터 대신 커밋 작성자를 표시합니다.
활성화#
팀원들에게 GitHub 계정을 Mattermost에 연결 할 수 있다는 것을 알리세요.
업그레이드#
새 버전이 출시되면 이 통합을 업데이트하는 것을 권장합니다. 일반적으로 업데이트는 원활하게 이루어지며 Mattermost의 사용자 경험을 방해하지 않습니다. 최신 릴리스, 사용 가능한 릴리스 및 호환성 고려사항은 Releases 페이지 를 방문하세요.
사용#
GitHub 연동 기능을 사용하려는 사용자는 Mattermost용 OAuth 앱을 GitHub에 등록한 다음 GitHub 계정을 Mattermost에 연결해야 합니다.
연결되면 GitHub에서 누군가가 귀하를 멘션하거나, 리뷰를 요청하거나, 귀하의 풀 리퀘스트/이슈에 댓글을 달거나 수정하거나(레이블 추가 또는 이슈 재개 포함), GitHub에서 이슈에 귀하를 할당할 때 Mattermost의 GitHub 봇으로부터 직접 메시지를 받게 됩니다.
Mattermost용 OAuth 앱을 GitHub에 등록#
OAuth 앱을 등록하려면 https://github.com/settings/applications/new 로 이동하세요.
GitHub에서 다음 값을 설정하세요:
애플리케이션 이름:
Mattermost GitHub Plugin - <YOUR COMPANY NAME>홈페이지 URL:
https://github.com/mattermost/mattermost-plugin-github인증 콜백 URL:
https://YOUR-MATTERMOST-URL.COM/plugins/github/oauth/complete,https://YOUR-MATTERMOST-URL.COM을 Mattermost URL로 대체하세요. 이 값은 로그인에 사용하는 Mattermost 서버 URL과 일치해야 합니다.
GitHub에서 변경사항을 제출하세요.
GitHub 계정을 Mattermost에 연결#
Mattermost 계정을 GitHub 계정과 연결하려면 Mattermost의 모든 채널에서
/github connect슬래시 명령어를 실행하세요.연결되면
/github help슬래시 명령어를 실행하여 사용 가능한 기능을 확인하세요.
시작하기#
시작할 수 있는 일반적인 슬래시 명령어는 다음과 같습니다:
GitHub 저장소의 새로운 풀 리퀘스트, 이슈, 브랜치 생성 등에 대한 알림을 받기 위해 Mattermost 채널을 구독하려면 /github subscriptions add 슬래시 명령어를 실행하세요.
예를 들어, mattermost/mattermost-server GitHub 저장소에서 Help Wanted 라벨이 있는 이슈, 이슈 댓글, 풀 리퀘스트에 대한 알림을 게시하려면 /github subscriptions add mattermost/mattermost-server --features issues,pulls,issue_comments,label:"Help Wanted" 를 사용하세요. 다음 플래그가 지원됩니다:
--features: 이슈, 풀 리퀘스트, 풀 리퀘스트 병합, 풀 리퀘스트 생성, 푸시, 생성, 삭제, 이슈 생성, 이슈 댓글, 풀 리퀘스트 리뷰, 릴리스, 워크플로우 성공, 워크플로우 실패, label:”labelname” 중 하나 이상의 쉼표로 구분된 목록입니다. 기본값은pulls,issues,creates,deletes입니다.--exclude-org-member: 전달되지 않을 조직 구성원이 트리거한 이벤트입니다. 구성된 조직으로 잠기며 멤버십이 공개된 사용자에게만 작동합니다. 조직 구성원과 협업자는 다릅니다.--render-style: 알림이 지정된 스타일로 전달됩니다(예: 풀 리퀘스트의 본문이 표시되지 않음). 지원되는 값은collapsed,skip-body또는default(플래그를 생략한 것과 동일)입니다.--exclude:mattermost/mattermost-server와 같이 구독 알림을 받지 않을 저장소의 쉼표로 구분된 목록입니다. 조직 구독에서만 지원됩니다.
읽지 않은 메시지와 검토 대기 중인 풀 리퀘스트 목록을 포함하여 GitHub에서 수행할 항목이 있는 메시지를 받으려면 /github todo 슬래시 명령어를 실행하세요.
알림 및 일일 알림에 대한 설정을 업데이트하려면 /github settings 슬래시 명령어를 실행하세요.
GitHub와 Mattermost 간의 통합을 구성하려면 /github setup 슬래시 명령어를 실행하세요. 이 명령어를 실행하여 전체 설정 프로세스를 진행하거나, 특정 설정 단계를 다시 방문하려면 다음 하위 명령어 중 하나를 실행할 수 있습니다:
/github setup oauth: GitHub에서 OAuth2 애플리케이션을 설정하여 GitHub와 Mattermost 간의 필요한 인증 연결을 설정합니다./github setup webhook: GitHub에서 Mattermost로 웹훅을 생성하여 GitHub의 실시간 알림과 업데이트가 Mattermost 채널로 전송되도록 합니다./github setup announce: Mattermost의 지정된 채널에 메시지를 보내 팀원들이 사용할 수 있는 GitHub 통합의 가용성을 알립니다.
자주 묻는 질문#
조직 대신 저장소를 연결하려면 어떻게 해야 하나요?#
조직 대신 저장소에서 GitHub 웹훅을 설정하세요. 그러면 웹훅을 생성한 저장소에 대해서만 알림과 구독이 전송됩니다. 알림과 /github todo 는 전체 조직을 검색하지만, 귀하에게 할당된 항목만 표시합니다.
특정 라벨이 적용될 때 알림을 보내려면 어떻게 해야 하나요?#
mattermost/mattermost-plugin-github 저장소의 이슈에 Severity/Critical 라벨이 적용될 때 Mattermost 채널로 알림을 보내려면, 다음 슬래시 명령어를 실행하여 이러한 알림을 구독하세요: /github subscriptions add mattermost/mattermost-plugin-github issues,label:"Severity/Critical"
통합 기능은 연결된 각 GitHub 사용자의 데이터를 어떻게 저장하나요?#
GitHub 사용자 토큰은 Mattermost에서 생성된 At Rest Encryption Key 로 AES 암호화됩니다. 암호화된 후에는 토큰이 Mattermost 데이터베이스의 PluginKeyValueStore 테이블에 저장됩니다.
사용자 정의#
이 통합 기능은 서버와 웹 앱 부분을 모두 포함합니다. Mattermost 기능을 개발, 사용자 정의 및 확장하는 방법에 대한 정보는 Mattermost Developer Workflow 와 Mattermost Developer environment setup 를 방문하세요.
Playwright 테스트를 실행하기 위한 환경을 설정하려면 e2e/playwright 의 설정 가이드를 참조하세요.
도움 받기#
Mattermost 고객은 Mattermost support case 를 열 수 있습니다. 버그를 보고하려면 Mattermost GitHub plugin repository 에 GitHub 이슈를 열어주세요.
질문, 피드백 및 도움이 필요하시면 Mattermost Community Server 의 Integrations and Apps channel 에 참여하세요.
Mattermost Team Edition 및 Free 고객은 도움을 받기 위해 Mattermost peer-to-peer troubleshooting forum 에 방문하여 글로벌 Mattermost 커뮤니티에 접근할 수 있습니다.