Microsoft Teams에서 사용할 수 있는 QualityForward Bot 만들기
사용하는 API 정보
Microsoft Teams 봇은 5초 이내에 응답을 반환해야 한다는 묶음이 있습니다. 웹 API를 여러 번 두드리면 5초 이내에 응답이 반환되지 않을 수 있으므로 이전에 만든 Google Apps Script에서 실행되는 웹 API를 활용합니다.
QualityForward의 테스트 집계를 반환하는 Slack 명령을 만들어 보았습니다. - Qiita
이 웹 API라면 Google Apps Script를 호출하기만 하면 처리 속도가 빨라집니다. 하지만 Google Apps Script를 리디렉션하는 방식에서는 Microsoft Teams 봇이 제대로 응답을 받지 못했습니다. 따라서 Google Apps Script를 직접 호출하는 대신 Node.js 서버(이번에는 Glitch를 이용)에서 호출하는 방식으로 하고 있습니다.
봇 정보
Microsoft Teams 봇을 쉽게 만들 수 있습니다. 이번에는 Webhook을 이용하고 있습니다. Webhook은 미리 작성한 봇에 메시지를 보내면 지정한 URL에 POST 메소드를 던져줍니다. 응답으로 반환한 JSON을 봇의 답변으로 표시합니다.
코드 정보
Node.js (Express 사용)의 코드는 다음과 같습니다. Google Apps Script에서 만든 API를 실행하고 응답을 반환합니다.
const express = require("express");
const app = express();
// POSTのボディ解析用
app.use(express.json())
app.use(express.urlencoded({ extended: true }));
// HTTPクライアントw追加
const client = require('superagent');
app.use(express.static("public"));
app.get("/", (request, response) => {
response.sendFile(__dirname + "/views/index.html");
});
// ボットからデータを受け取る処理
app.post("/post", async (request, response) => {
// メッセージ内にある日付部分を取得
const date = request.body.text.replace(/^.*?<\/at>(.*)\n.*/s, "$1");
// Google Apps ScriptのAPIを呼び出し
const url = `https://script.google.com/macros/s/AKf...IGt/exec?text=${date}`;
const res = await client.get(url)
// レスポンスを返す
response.json({
"type": "message",
"text": res.text
});
});
const listener = app.listen(process.env.PORT, () => {
console.log("Your app is listening on port " + listener.address().port);
});
이제 봇에 날짜를 보내면 해당 날짜의 처리 건수를 반환합니다.
요약
이번 구조는 자체 서버를 세우지 않고 서버리스로 구축하고 있습니다. Glitch도 Google Apps Script도 안정적이므로 유지 관리가 필요 없으며 작동할 수 있는 메커니즘이 편리합니다. Microsoft Teams에서 정보를 공유하는 프로젝트의 경우 이 메커니즘을 사용해 보세요.
QualityForward
Reference
이 문제에 관하여(Microsoft Teams에서 사용할 수 있는 QualityForward Bot 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/goofmint/items/b8371529157b3a9c0db3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)