지금까지 구글 드라이브나 트렐로처럼 널리 사용하는 도구들을 슬랙에 통합하는 방법을 알아보았습니다. 슬랙은 주요한 협업 서비스나 인터넷 서비스와의 연동을 제공하므로 웬만한 경우에는 슬랙 앱 디렉터리만으로도 충분할 것입니다.
하지만 업종이나 업무에 따라 굉장히 특별한 도구를 사용하는 경우도 있습니다. 더 나아가서는 회사나 팀에서 직접 개발한 서비스나 소프트웨어, 혹은 시스템을 사용해야 하는 경우도 있습니다. 이런 환경들을 슬랙으로 통합할 수 있는 방법이 있을까요?
슬랙이 제공하는 커스텀 통합 방법은 크게 세 가지입니다. 가장 간단하면서도 빠르게 구현할 수 있는 슬래시 커맨드(Slash Command), 슬랙으로부터 데이터를 전송받거나 전달할 수 있는 웹 후커(Incoming/Outgoing Web Hookers), 그리고 다양한 활용이 가능한 봇 사용자(Bot Users)가 있습니다.
웹 후커나 봇을 이용한 커스텀 통합 방법은 다양한 시나리오가 있을 수 있고 배후(?)에 어떤 API 를 이용할 것인지에 따라 구현 방향이 달라질 수 있습니다.
[그림 1] Slack API 페이지
이 글에서는 가장 간단하게 응용할 수 있는 슬래시 커맨드에 대해서 살펴보도록 하겠습니다. 슬래시 커맨드는 대화창에서 슬래시(/)로 시작하는 명령어 형태의 통합 방법으로 요청과 응답을 정의하는 것만으로 쉽게 활용할 수 있는 통합 방법입니다.
슬래시 커맨드를 사용하기 위해서는 사용하고자 하는 슬래시 커맨드 사용을 위한 설정을 먼저 진행해야 합니다.
[그림 2] Custom Integration을 선택하세요!
슬래시 커맨드는 반드시 공백이 없는 단어를 사용해야 합니다. 기존에 슬랙에서 사용 중인 예약 명령나 트렐로처럼 외부 연동된 애플리케이션들의 슬래시 커맨드 명령과 충돌이 없는 단어를 선택해야 합니다.
[그림 3] 슬래시 커맨드 설정
단어 설정이 끝나면 어떤 형태의 HTTPS 요청이 슬랙 서버로부터 만들어지고 처리를 위해서 어떤 파라미터를 이용해야 하는지에 대한 간단한 가이드를 확인할 수 있습니다. 가이드를 꼼꼼히 읽어본 뒤 직접 구현할 코드와 어떤 형태의 URL로 통신할 것인지, HTTP Method는 GET/POST 중에서 어떤 것을 쓸 것인지 등 슬래시 커맨드 제작에 필요한 정보들을 업데이트하면 모든 준비가 끝납니다.
[그림 4] 슬랙 서버와의 통신 규약을 잘 살펴봅시다.
[그림 5] 슬래시 커맨드의 상세 설정 화면
다음 화에서는 간단한 예제로 특정한 도메인을 입력하면 DNS 를 통해 획득한 IP 주소를 알려주는 슬래시 커맨드를 만들어 보겠습니다.
이 글은 http://nopdin.tistory.com에 동시연재 중입니다.
NoPD 노승헌(@ds1dbx) 님의 더 많은 글을 보시려면 블로그를 방문해주세요.
이전 글 : 가상 현실에서 드래곤을 타고 비행하기
다음 글 : [메이키 제작기 #02] 본격적인 작업 시작!
최신 콘텐츠