seotory

slack(슬랙), incoming webhooks 을 사용해보자. 본문

DEVELOP/etc

slack(슬랙), incoming webhooks 을 사용해보자.

서토리 2015.09.22 17:05

slack은 팀원 간의 의사소통 및 각종 알림을 한눈에 볼 수 있는 좋은 서비스이다. 우리 팀은 업무 공유 프로세스 개선에 대한 의지가 없어서 단순 메신저로만 의사소통을 하고 있으나, 미래를 준비하는 마음으로 slack의 incoming webhooks을 한번 사용해보자.

slack(http://slack.com)에 가입하는 부분은 넘어가도록 하겠다.

slack에 사용될 서브도메인과 계정이 생성되었다면 아래쪽 화면이 보일 것이다. channels에 기본적으로 #general 채널이 생성된다. #general 채널을 선택 후에 Add a service integration을 선택한다.

integrations 화면에 들어가면 수많은 서비스가 있다. 거의 마지막쯤에 우리가 원하는 incoming webhooks가 있다.

incoming webhooks를 선택 후 #general 채널을 선택하고 Add Incoming WebHooks Integration을 선택한다.

Add Incoming WebHooks Integration 선택하고 나면 webhook 을 걸 수 있는 URL 이 아래와 같이 자동 생성된다. (아래 이미지의 뒷 토큰은 모자이크 처리를 하였다)

url이 생성되었으니 curl을 이용해서 정말 hook이 되는지 한번 시도해보자. 주의 사항은 아래와 같다.

  • payload 파라메터를 보낼 때 JSON string으로 보내야 한다.
  • method는 POST로 전송해야 한다.

payload의 property 목록은 아래와 같다.

var payload = {
	// bot 이름을 바꿀 수 있다.
	"username" : "",
	// bot 아이콘을 바꿀 수 있다.
	"icon_url" : "",
	// bot 아이콘을 이모티콘으로 사용할 수 있다. 위의 icon_url 중 하나만 사용하면 된다.
	"icon_emoji" : "",
	// 본문 내용을 입력한다. (필수)
	"text" : "",
	// 채널을 override 시킬 수 있다.
	"channel" : ""
}

아래와 같이 cmd 창에 curl을 입력해보자.

curl -s -d "payload={\"text\":\"내용\"}" "https://hooks.slack.com/services/토큰/토큰/토큰"

response로 ok를 받았을 것이다. slack 창으로 다시 돌아가면 우리가 curl에서 보낸 내용이 올라와 있는 것을 확인해 볼 수 있다.

slack에서 간단하게 incoming webhooks를 테스트해보았다. 원하는 내용을 바로바로 공유시킬 수 있는 bot을 만들때 매우 유용한 기능이다.

0 Comments
댓글쓰기 폼