Google 스프레드시트와 웹후크가 내 삶을 더 쉽게 만들어준 방법
이것은 Google 채팅을 사용하는 다양한 팀에 메시지를 푸시하는 데 도움이 되었습니다. Google 채팅에 있는 Webhook 옵션은 놀랍습니다.
목표는 사건(중단)을 추적한 다음 Google Sheets Simple Triggers에 대해 알기 전에 수동으로 여러 팀에 알림을 푸시하는 것이었습니다.
다음은 시작하는 데 도움이 될 수 있는 몇 가지 링크입니다.
How to Build Apps using Google App Script
Read more about Google Sheets Triggers here
Read more about Google Chat Incoming webhooks
이제 특정 셀에 데이터를 입력하기만 하면
onEdit()
함수가 데이터를 읽고 필요한 대화방에 게시합니다.에서 트리거를 추가해야 합니다.
Google Scripts
충분한 이야기! 코드를 보여주세요!
function myEditNew(e) {
// The e is an event Object
//https://developers.google.com/apps-script/guides/triggers/events
if (e.value)
{
Logger.log(e.range);
Logger.log("Data: "+e.value);
var val=e.value;
// This function is to get the current user that created the task its documented in the Gist at the end of the post
var cur_user=getCurrentUserEmail();
var text = Utilities.formatString('Incident created by *%s*: ```
%s
``` <users/all>',cur_user,val);
}
//1. Bot Test room
// [Args[Webhook URL, Space Name, Thread Name]]
// To get the Thread ID read this Stackoverflow answer
// https://webapps.stackexchange.com/questions/117392/get-link-to-specific-conversation-thread-and-or-message-in-a-chat-room-in-google
var urls = [
[
"https://chat.googleapis.com/v1/spaces/room_id/messages?key=Webhook_ID",
"spaces/room_id/messages/space_name.space_name",
"spaces/Thread_ID/threads/Thread_ID"
],
];
// Lots of Logging to see if Things are working properly.
Logger.log(e.range.getA1Notation());
Logger.log(e.range.getColumn());
Logger.log(val);
if (e.range.getA1Notation().startsWith('C') && val != "")
{
// Synchronously Post it to the Rooms
for(i=0;i<urls.length;i++)
{
var payload={
"name":urls[i][1],
"thread":{
"name":urls[i][2]
},
"text":text
};
var options = {
'method' : 'post',
'contentType': 'application/json',
// Convert the JavaScript object to a JSON string.
'payload' : JSON.stringify(payload)
};
Logger.log(options);
// UrlFetchApp Documentation
// https://developers.google.com/apps-script/reference/url-fetch/url-fetch-app
var response = UrlFetchApp.fetch(urls[i][0], options);
Logger.log(response);
}
}
}
Github Gist of the entire code
읽어 주셔서 감사합니다. 이 기사가 마음에 들면 언제든지 공유해 주세요. 저는 건설적인 피드백과 비판에 열려 있습니다. 댓글이나 메시지를 남겨주세요.
Reference
이 문제에 관하여(Google 스프레드시트와 웹후크가 내 삶을 더 쉽게 만들어준 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/mediocredevops/how-google-sheets-and-webhooks-made-my-life-easier-a05텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)