App Store Connect 검토에 신속하게 대응하고 싶습니다.
소개
Studioz Advent Calendar 4일째 기사입니다!
최근 맛있었습니다 햄버거는 "후쿠요시 롯폰기점"의 녹는 햄버거입니다.
표면을 가볍게 구운 레어 상태에서 철판으로 좋아하는 구운 가감까지 가열 해 주시는 햄버거는
조금 와사비를 붙이면 양질의 지방의 단맛이 퍼지면서도 긴축되어 먹을 정도로 위가 활발하게 움직이는 본능에 호소하는 맛이었습니다.
가게 안은 세련된 분위기였지만, 낯설지 않고 맛있는 것을 생각하는 마음껏 먹을 수 있는 멋진 가게입니다
상냥한 점원은 천하 일품의 볶음밥 대성은 코스파가 좋고 최고로 맛있다고 가르쳐 주었습니다
여러분도 롯폰기에 오셨을 때는 꼭 가 보시고, 천하 일품에
그래서 이번에는 AppStoreConnect의 심사 통과를 감지하기 위해
메일을 자동으로 확인하고 통지를 날리려고 생각합니다!
알림은 GAS로 Chatwork로 날아갈 것입니다.
어디에 통지가 오면 알아 차리기 쉬운지는 각 사람이라고 생각합니다만
우리는 GSuite와 Chatwork를 사용하기 때문에
이번에는 GoogleAppsScript를 사용하여 Chatwork에 알림을 보겠습니다!
Gmail에 도착한 이메일을 자동으로 확인
GAS (Google AppsScript)에서하고 싶은 것은 이런 느낌입니다.
어디에 통지가 오면 알아 차리기 쉬운지는 각 사람이라고 생각합니다만
우리는 GSuite와 Chatwork를 사용하기 때문에
이번에는 GoogleAppsScript를 사용하여 Chatwork에 알림을 보겠습니다!
Gmail에 도착한 이메일을 자동으로 확인
GAS (Google AppsScript)에서하고 싶은 것은 이런 느낌입니다.
▼코드로 하면 대체로 이런 느낌▼
var LABEL_NAME = "審査通過チェック済み"; // メールが確認済みである事を示すラベル名(なんでもいい)
var APP_APPLE_ID = 111111111; // App Apple ID
// AppAppleIDと"App Store Connect"を含むが、確認済みラベルがついていないメールを探す(1)
var strTerms = 'label:(-' + LABEL_NAME + ')'
+ '(' + APP_APPLE_ID + ' AND '
+ '"App Store Connect")';
var myThreads = GmailApp.search(strTerms, 0, 50);
var myMsgs = GmailApp.getMessagesForThreads(myThreads);
var messages = [];
var body = "";
var needTo = false;
// 今回の用途では順番は重要じゃないし、スレッドの二次元配列のままでは使いにくいので配列にする
for(var i = 0; i < myMsgs.length; i++){
for(var j = 0; j < myMsgs[i].length; j++){
messages.push(myMsgs[i][j]);
}
}
// 審査進捗マスタ(後述)
var master = SearchStateMaster();
// 審査進捗に応じてChatworkへ渡す文言を作りつつ、通知が必要かどうか判定(2)
for(var i = 0; i < messages.length; i++){
var messageBody = messages[i].getBody();
if(messageBody.indexOf(appId) >= 0 &&
messages[i].getTo().indexOf(receiverAddress) >= 0){
var subject = messages[i].getSubject();
for(var j = 0; j < master.length; j++){
if(subject.indexOf(master[j]["search_word"]) >= 0){
body += "[info][title]";
body += Utilities.formatDate(messages[i].getDate(), "JST", "YYYY'年'MM'月'dd'日 'HH:mm");
body += "[/title]";
body += master[j]["description"];
body += "[/info]";
if(master[j]["need_to"] == true){
needTo = true;
}
break;
}
}
}
}
// 本文があればChatworkにメッセージを送る(3)
if(body != ""){
sendMessage(body, needTo);
}
// myThreadsすべてにチェック済みのラベルを追加(4)
for(var i=0;i < myThreads.length;i++){
myThreads[i].addLabel(checkedLabel);
}
심사 진행 마스터는 무엇입니까?
모처럼 GAS를 사용하고 있기 때문에,
config 같은 값이나 마스터 같은 정보는 스프레드 시트로 관리하면 나중에 조정이 편합니다!
▼같은 시트로 진척의 판정에 사용하는 워드, Chatwork에의 메세지에 사용하는 문언, 통지(Chatwork에서의 TO의 필요 여부)를 관리하고 있습니다
그건 그렇고, 위에서
설정입니다!
그리고...
했어! 통과했습니다
이상입니다!
결론
메일의 자동 확인과 통지는 용도의 폭이 넓다!
평소 비공개 메일을 많이 확인하지 않는 것 같아요.
통지처를 LINE Notify로 해, 가라케 사용의 할머니로부터 받은 메일을 빨리 알아차리는 일도 가능합니다
할머니 ...
Reference
이 문제에 관하여(App Store Connect 검토에 신속하게 대응하고 싶습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yatai/items/26132a661b2d7466d359
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
메일의 자동 확인과 통지는 용도의 폭이 넓다!
평소 비공개 메일을 많이 확인하지 않는 것 같아요.
통지처를 LINE Notify로 해, 가라케 사용의 할머니로부터 받은 메일을 빨리 알아차리는 일도 가능합니다
할머니 ...
Reference
이 문제에 관하여(App Store Connect 검토에 신속하게 대응하고 싶습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yatai/items/26132a661b2d7466d359텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)