Google Apps Script(Gmail)で定期的にBacklogへ課題登録をする
弊社ではタスク管理にbacklogを使用しています。
タスク管理にいちばん大切なことは、タスク登録(課題登録)すること。忙しいときに「課題登録しなくちゃ!あ~面倒っ!」ていうの、わかります。
今回はその面倒さを少し回避できるようになるお話。
backlogで定期的な課題の登録って、自動でできないの?
通常課題の登録は、backlogへログインして行います。
そして毎月繰り返すような定期的な課題の登録でも、毎回ログインして、課題登録が必要になります。
それは地味に面倒・・・なので課題登録を自動化して作業忘れと課題登録にかかる作業時間の短縮を図ろう!というのが当記事の目標です。
どんな仕組み?
下の図の通り^^
backlogにはメールで課題登録を行える機能がついているので、それを利用します。
Gmailからメールを定期的にbacklogへ送って、課題を自動登録させる。という流れです。
ただGmailには定期的にメールを送信するという機能がないので、それを拡張してくれるのがGoogle Apps Scriptです。
作業手順
1. backlogで課題登録用メールアドレスを取得する。
(1) backlogへログインし、課題を追加したい案件ページへゆきます。
プロジェクト設定 → インテグレーション → メールによる課題登録[設定]
(2) 今回は以下の赤枠の中を入力して[登録]します。
必要に応じて登録内容は変更してください。
課題登録用メールアドレスが生成されるので、これをコピーしておきます。Google Apps Scriptでの設定時に使用します。
2. Googleアカウントへログイン
(1) Googleへログイン → ドライブ → +新規ボタン → その他 → google Apps Script をクリック
(2) Scriptを書きます。変更箇所は以下のとおりです。
- プロジェクト名
- バックログの課題登録用メールアドレス(1で取得したもの)
- バックログに登録されるタイトル(formatDateで当年当月を挿入しています)
- バックログ課題の本文
- 送り主のメールアドレス(ログインしているGmailのメールアドレス)
- 送り主の名前
入力が終わったら、フロッピーディスクマーク?(若い世代には通じそうにない)で保存。
function sampleFunc() {
var formatDate = Utilities.formatDate(new Date(), "JST","yyyy年M月");
GmailApp.sendEmail(
'バックログの課題登録用メールアドレス',
'バックログに登録されるタイトル|('+formatDate+')',
'バックログ課題の本文\n\n- サンプル1\n- サンプル2\n- サンプル3\n',
{
from: '送り主のメールアドレス',
name: '送り主の名前'
}
)
}
(3) どういったタイミングで先程書いたScriptを走らせるか、という「トリガー」を設定します。
トリガー(時計マーク)をクリックしてメール送信のタイミングなどを設定していきます。
ここでは送信テストを行いたいので、「時間ベースのトリーがタイプの選択」を「特定の日時」とし、メール送信させたい日時を指定しています。
[保存]を押すとタイマー開始です。
メール送信テストが上手く行ったら、ここを「分、時間、日付、週、月ベースのタイマー」の中から希望のタイミングに選択し直してください。
これでテスト送信がうまくいくか、待ちます。
(4) 下の画像の「実行数」をクリックすると、正常に送信が完了したのか、エラーだったのかがわかります。
失敗した場合は ^印をクリックするとエラー箇所を教えてくれるので、修正の参考になります。
送信がうまく行けば、backlogからも課題が登録された旨の連絡が来ると思います。(連絡を切っていなければ)
(5)送信がうまく行ったら、再び(3)の「トリガー」に戻って、「時間ベースのトリガータイプ」設定を希望のものに変更して[保存]します。
これで終了です。
定期登録が必要な案件分、この設定を行わなくてはいけませんが、一度やってしまえば終わりですしね。
「このアプリはGoogleで確認されていません」と言われた!
トリガーの登録時にGoogleの認証がうまく行かない場合は、現在ログインしているGoogleアカウントを確認してみてください。私は設定を会社用のアカウントで行っていたのに、なぜか認証が個人のGmailで行われていたため下記のエラーが出ました。一旦Googleからログアウトして、会社アカウントでログインし直したところうまく行きました。