【프로그래밍 지식 제로라도 할 수 있다】Slack의 발언을 Line에 zapier를 사용해 전송하는 방법

개요



나의 직장에서는, 장해가 발생하면 Slack의 어느 채널에서 장해에 대한 교환을 실시하게 되어 있어,
장애 상황을 PC를 열지 않은 사람을 위해 Line에서 보고하고 있습니다.
다만, 장애 상황을 Line으로 보고하는데, 일부러 Line을 여는 작업이 번거롭기 때문에,
Slack의 채널에서 임의의 발언만을 Line에 보내는 구조를 만들어 보았습니다.

방법



제목에서 볼 수 있듯이 zapier을 사용하면 Slack에 대한 알림을 Line으로 전달할 수 있습니다.
(zapier는 IFTTT와 같이 한 서비스의 액션을 트리거로 다른 서비스로 액션을 할 수있는 편리한 도구입니다.)
또한 zapier는 IFTTT처럼 Line에 대한 알림을 App 레벨에서 지원하지 않았으므로 Line에 대한 알림은 Line Notify를 사용했습니다.

Line Notify 설정



다른 쪽이 스쿠쇼 첨부로 정중하게 해설하고 있었으므로 아래를 참조해 token의 카피까지 가 주세요.
ぃ tp // 이 m/타케시_오 k_입니다/있어 ms/576아 8226바 6584864d95

zapier 설정



zapier 계정이 없으면 계정을 발행하고 아래 URL로 이동하여 "MAKE A ZAP!"버튼을 클릭하십시오.
htps: //자피에 r. 이 m/아 p/다 sh보아 rd

트리거 설정



트리거 설정에서는 "Slack"을 선택하고 적절하게 설정하십시오.
※ 굉장히 친절한 UI였기 때문에 헤매는 일은 없을 것입니다.

필터 설정



트리거로서 Slack을 선택한 것만으로는, 모든 발언에 반응해 버리므로 「Filter」를 새롭게 추가해,
특정 발언에 반응하도록 조건을 설정합니다.
(나는 Slack의 Text를 조건으로 특정 문자열 (@line-notify)이 들어있을 때만 통과 설정했습니다)

액션 설정



zapier에는 Webhook이라는 앱이 있으며, 이것을 사용하면 HTTP GET과 POST를 할 수 있습니다.
이 앱은 POST 시 HEADER나 FORM을 지정할 수 있으며,
굉장히 트리거에서 설정한 앱의 요청 데이터를 여기에서 사용할 수도 있습니다.

설정 방법은 Line Notify에 POST할 수 있으면 좋으므로 메소드를 POST로 하여 아래와 같이 설정합니다.
※ 스쿠쇼에는 없습니다만, Headers의 Key에 「Authorization」을 설정해,
value에 미리 취득한 Line의 token을 Bearer의 캐릭터 라인과 함께 「Bearer xxxxxxxxxxxxxxxxxxxxxxxxxxxx」와 같이 세트 해 주세요.


모든 설정을 마치면 Zap을 활성화하면 완료됩니다.

마지막으로



이 기능을 실현하려고했을 때, 처음에는 botkit 을 사용할지, OutgoingWebhooks 를 사용할까 헤매었습니다만,
일부러, 이것의 기능을 위해서 서버를 만들어 상주 프로세스를 세우는 것이 싫었기 때문에 다른 방법을 찾아 보기로 했습니다.
(※상주 프로세스는 갑자기 죽거나 하는 일도 있어, 사활 감시하거나 하는 것이 귀찮았기 때문에···)

따라서 Slack의 발언을 트리거로 Line에 알릴 수 있도록
IFTTT을 사용해 보려고했는데,
불행히도 IFTTT에서는 Slack의 발언을 트리거 할 수없는 것 같았기 때문에,
IFTTT보다 마이너 (?)에서도 강력한 도구로 유명한 zapier를 사용해 보았습니다.

Zapier라면, 비엔지니어라도 간단하게 ChatOps적인 것을 실현할 수 있을 정도로 간단&편리하기 때문에,
bot나 서버를 세우는 것이 억원인 여러분의 참고가 된다고 생각합니다.

(다른 좋은 방법이 있으면 알려주세요 )

좋은 웹페이지 즐겨찾기