こんにちは、中井です。
皆様、メールで作業を依頼された時の作業管理はどうしていますか?
メールだけで作業管理をすると状況がわかりにくかったり、担当者がわかりにくかったりと不便なことがあります。作業はBacklogなどの作業管理ツールでまとめて管理したいものです。
私は、手動でBacklogで課題を起票してメールの本文を貼り付けて・・・メールを返信したら課題のコメントにメールの本文を貼り付けて・・・というとても面倒くさいことをしていました。
そこで、そんな面倒から解放されるために決まった条件に一致するメールをGmailで受信したら自動で課題を起票する仕組みをご紹介します!
ということで今回は、Backlog助っ人サービスの「お問い合わせ」でお問合せを受け付けたときに「メールから課題を起票」する事例です。
Gmailで受信したメールをGoogle Apps ScriptとBacklog APIを使って「メールから課題を起票」します。
Google Apps Script(以降GAS)は、Googlが提供しているプログラミング言語です。GmailやGoogleスプレッドシートなどのGoogleのサービスをJavaScriptベースで便利に取り扱えます。
参考 : Google Apps Script: Google Workspace を自動化、統合、拡張。
このGASを使ってGmailから課題に登録したいメールを検索して、Backlogに課題を登録します。
では、「メールから課題を起票」する方法をご説明します。
1. (事前準備)課題のカスタム属性に「threadId」を追加する
課題を登録したいプロジェクトに課題のカスタム属性を追加します。
カスタム属性の追加方法は、以下のヘルプページに画像付きで分かりやすく説明されているので参考にしてください。
参考 : カスタム属性の設定方法 – Backlog ヘルプセンター
追加したカスタム属性にはGmailの情報に設定されている「スレッドのID」※を設定することになります。Gmailでは任意のメールに返信すると返信元と同じ「スレッドのID」が設定されます。この「スレッドのID」を課題の情報として登録しておくことで、返信したメールがどの課題に紐づくのかを判定できるようにします。
※. 「スレッドのID」は、Gmailで存在する情報なのでGmail以外のメーラーやサービスを使用する場合は「スレッドのID」を使わない仕組みを考える必要があります。
2. Gmailで課題にしたいメールを検索する
Backlog助っ人サービスの「お問い合わせ」からお問い合わせを受け付けると指定のメーリングリストにメールが送信されます。メーリングリストに送信されたメールをGmailで受信します。
Gmailで受信した全てのメールから、このBacklog助っ人サービスの「お問い合わせ」メールを検索します。
GASで指定する検索条件は、「メーリングリストのメール」「件名に[Backlog助っ人サービス]が入っている」などを指定していきます。課題として起票したいメールの特徴に合わせて条件を設定します。
3. メールの内容で課題を起票する
検索して取得したメールをBacklog APIを利用して、指定のプロジェクトの課題として起票します。課題を起票する際にメールの本文は、起票した課題の詳細欄に記載されるように設定します。
利用するAPI : 課題の追加 | Backlog Developer API | Nulab
ここでポイントとなるのは、Gmailの情報に設定されている「スレッドのID」を課題のカスタム属性「threadId」に設定することです。
4. 返信メールを課題のコメントに追加する
「メールから課題を起票」する前には、メール情報にある「スレッドのID」で課題を検索します。
課題が見つかった場合は、メールの内容をコメントで追加します。
課題が見つからなかった場合は、「メールから課題を起票」します。
こうすることメール情報にある「スレッドのID」を使って、返信メールを課題のコメントに追加できます。コメントにはメールの本文だけではなく「受信日」や「送信者のメールアドレス」「メールの添付ファイル」なども併せて登録すると、後から課題の情報を把握することに役立ちます。
利用するAPI : 課題コメントの追加 | Backlog Developer API | Nulab
5. 作ったGASのプログラムを定期実行する
作成したGASのプログラムが定期的に実行されるように設定します。
今回は「6時間ごとに実行する」ように設定しましたが、実行するタイミングはメールの頻度や作業の進め方に合わせて設定します。
さいごに
便利なチャットツールやタスク管理ツールがたくさんあるものの、まだまだメールでのやり取りは発生します。メールだけで作業を進めてしまうと、課題管理が行われず状況の共有ができなくなることもあります。そんな時は、今回の事例を思い出してください。
今回ご紹介した事例で使用したプログラムコードは以下の記事でも紹介しています。実際にGASでプログラムを作ってメールから課題を起票したい方は参考にしてみてください。