메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

IT/모바일

Slack : 13. 나만의 슬래시 커맨드 만들기(1/2)

한빛미디어

|

2016-11-17

|

by 노승헌

35,009

지금까지 구글 드라이브나 트렐로처럼 널리 사용하는 도구들을 슬랙에 통합하는 방법을 알아보았습니다. 슬랙은 주요한 협업 서비스나 인터넷 서비스와의 연동을 제공하므로 웬만한 경우에는 슬랙 앱 디렉터리만으로도 충분할 것입니다. 

 

하지만 업종이나 업무에 따라 굉장히 특별한 도구를 사용하는 경우도 있습니다. 더 나아가서는 회사나 팀에서 직접 개발한 서비스나 소프트웨어, 혹은 시스템을 사용해야 하는 경우도 있습니다. 이런 환경들을 슬랙으로 통합할 수 있는 방법이 있을까요? 

 

슬랙이 제공하는 커스텀 통합 방법은 크게 세 가지입니다. 가장 간단하면서도 빠르게 구현할 수 있는 슬래시 커맨드(Slash Command), 슬랙으로부터 데이터를 전송받거나 전달할 수 있는 웹 후커(Incoming/Outgoing Web Hookers), 그리고 다양한 활용이 가능한 봇 사용자(Bot Users)가 있습니다. 

 

웹 후커나 봇을 이용한 커스텀 통합 방법은 다양한 시나리오가 있을 수 있고 배후(?)에 어떤 API 를 이용할 것인지에 따라 구현 방향이 달라질 수 있습니다. 

 

#7-1.png

[그림 1] Slack API 페이지

 

이 글에서는 가장 간단하게 응용할 수 있는 슬래시 커맨드에 대해서 살펴보도록 하겠습니다. 슬래시 커맨드는 대화창에서 슬래시(/)로 시작하는 명령어 형태의 통합 방법으로 요청과 응답을 정의하는 것만으로 쉽게 활용할 수 있는 통합 방법입니다.

  

슬래시 커맨드를 사용하기 위해서는 사용하고자 하는 슬래시 커맨드 사용을 위한 설정을 먼저 진행해야 합니다. 

  1. 슬랙 클라이언트에서 팀 이름을 선택하여 “Apps & Integrations” 메뉴로 이동합니다.
  2. 앱 디렉토리 화면이 나오면 최상단 메뉴들중 “Build” 버튼을 누릅니다. 
  3. 모든 슬랙 사용자들을 위한 앱을 개발하려는 것이 아니니 우측의 “Something just for my team” 섹션의 “Make a Custom Integration”을 선택하겠습니다. 
  4. 커맨드 프롬프트 모양의 아이콘이 보이는 “Slash Commands”를 선택합니다. 

 

#7-4.png

[그림 2] Custom Integration을 선택하세요!

 

슬래시 커맨드는 반드시 공백이 없는 단어를 사용해야 합니다. 기존에 슬랙에서 사용 중인 예약 명령나 트렐로처럼 외부 연동된 애플리케이션들의 슬래시 커맨드 명령과 충돌이 없는 단어를 선택해야 합니다. 

 

undefined

[그림 3] 슬래시 커맨드 설정

 

 

단어 설정이 끝나면 어떤 형태의 HTTPS 요청이 슬랙 서버로부터 만들어지고 처리를 위해서 어떤 파라미터를 이용해야 하는지에 대한 간단한 가이드를 확인할 수 있습니다. 가이드를 꼼꼼히 읽어본 뒤 직접 구현할 코드와 어떤 형태의 URL로 통신할 것인지, HTTP Method는 GET/POST 중에서 어떤 것을 쓸 것인지 등 슬래시 커맨드 제작에 필요한 정보들을 업데이트하면 모든 준비가 끝납니다.

 

#7-6.png

[그림 4] 슬랙 서버와의 통신 규약을 잘 살펴봅시다.

 

#7-7.png

[그림 5] 슬래시 커맨드의 상세 설정 화면

 

 

다음 화에서는 간단한 예제로 특정한 도메인을 입력하면 DNS 를 통해 획득한 IP 주소를 알려주는 슬래시 커맨드를 만들어 보겠습니다. 

 

이 글은 http://nopdin.tistory.com에 동시연재 중입니다.
NoPD 노승헌(@ds1dbx) 님의 더 많은 글을 보시려면 블로그를 방문해주세요.
댓글 입력
자료실