Incoming Webhook도 할 수 없는 이런 세상이야 (고전기구의 Teams로 Webhook 하는 방법)

약간의 협력 기능을 만들 때 Incoming/Outgoing Webhook은 매우 유용합니다. 간단한 HTTP 요청을 보내거나받는 것만으로 끝나므로 서버리스화를 쉽게 할 수 있습니다.

내가 소속한 고전(고등전문학교)에서는 공통으로 Microsoft Teams를 사용하고 있습니다. 그러나 우리는 고전기구이 Incoming Webhook의 사용을 허용하지 않습니다. 또한 사용자 정의 앱을 추가 할 수 없습니다. 즉, Bot을 작성해도 추가하는 것조차 허용되지 않습니다.

이것은 이러한 상황에서 Incoming Webhook을 사용하는 방법을 공유하는 기사입니다. 물론 다른 상황에서도 사용할 수 있지만 필요하지는 않습니다. 아마 이것을 읽고 있기 때문에 되는 것은 고전생 정도라고 생각합니다. 그렇다면 좋겠습니다.

그럼 어떻게 할까?



Power Automate 을 사용합니다. 이것은 구명 Microsoft Flow라고 하는 녀석으로, 한마디로 IFTTT의 Microsoft판입니다. 단지 IFTTT보다 Microsoft 제품과의 제휴 기능이 충실합니다.

Flow 의 트리거로서 Incoming Webhook 를 사용할 수 있어 액션으로서 Microsoft Teams 에의 메세지 송신을 할 수 있으므로, 이번의 케이스에 딱 맞습니다. 그렇다면이 녀석에게 중계합시다.

좀 더 자세히



왼쪽 메뉴에서 Create > Instant Flow로 이동합니다.


이름을 적절하게 결정하고 When an HTTP request is received 트리거를 선택하여 Create합니다.


Webhook에 던지는 JSON 스키마를 작성합니다. 사양 을 읽고 최선을 다하십시오. 그렇게 어렵지 않습니다.


Next Step에서 Post a message as the Flow bot to a channel (preview)를 추가합니다.


대상 팀과 채널, 전송할 메시지를 결정합니다. 메시지에는 이전에 입력 한 JSON 스키마로 구문 분석 된 값을 사용할 수 있습니다. 이번은 중계뿐이므로 {"message": "[ここ]"}를 그대로 사용합니다.


Save하면 HTTP POST URL이 발행됩니다. 여기에 요청을 던지기만 하면 됩니다.


실제로 요청을 던져 실행해 보겠습니다. 사용하는 도구는 무엇이든 좋다. HTTP 로 말할 수 있는 쪽은 openssl s_client라든지라도 괜찮습니다.


성공하면 202 Accepted가 반환됩니다.


지정된 채널에 메시지가 게시되면 성공입니다. 수고하셨습니다!


결론



Incoming Webhook을 무효화하고 있는 이유는 모릅니다만, 이러한 제휴 기능의 구현은 Web API를 사용하기 위한 학습의 일환이 된다고 생각하고, 효율화를 도모하기 위한 툴 작성을 할 수 있는 등 폭이 넓어지면 생각합니다. 정보공학을 배우는 학생이 많은 고전이라면 더욱더군요. 고전 기구씨는 그 밖에도 많은 기능의 이용을 허가하고 있지 않습니다만, 그 규제가 필요한지 어떤지 다시 한번 다시 주셨으면 합니다. 하지 않는 고전생의 부탁이었습니다.

좋은 웹페이지 즐겨찾기