LINEメッセージを送るとBacklogにチケットを起票する仕組みをノンコーディングで作ってみた話。(翻訳機能付き)

Pocket


前回はBacklogのデフォルト機能である「メールによる課題登録」を利用して、ユーザーから来たお問合せメールの内容をBacklogのチケットとして起票する方法を試してみました。

お問合せメールの内容をBacklogに起票&自動返信メールを送る仕組みをノンコーディングで作ってみた話。(LogicApps+Backlog)
http://zuvuyalink.net/nrjlog/archives/3762

このデフォルト機能使えば、LINEからチケットの起票もできるんじゃないかな?と思って試してみたところ、LINE Messaging APIとLogicApps使えば、簡単にノンコーディングでできました~。
というわけで、LINEのメッセージを送信するとBacklogにチケットを起票する仕組みの手順メモ。

今回やったこと


仕組みは非常に単純。
「BacklogTicket-kun」というLINEアカウントを作って、そこにメッセージを送るとBacklogにチケットを起票する、というもの。
今回はノンコーディングで楽チンするのが目的なため、Webhookは使わず前回同様「メールによる課題登録」を使いました。
さて、LogicAppsはコネクターをつなぐだけで色々機能を追加できるので今回はBacklogにチケットを起票するだけでなく、

  • 日本語以外のメッセージが投稿された場合、日本語に翻訳してチケットを起票する
  • チケットの起票が完了したらLINEメッセージを返す
  • SlackにLINEからチケットの起票があったことをお知らせ

を追加しています。

LogicFlowを作成する


全体のLogicFlowはこのような感じ。
LINE側の設定とトリガーの設定については、以下の記事を参考にされてください~。
トリガーの「要求」コネクターには現在、JSON の値からスキーマを作ってくれる機能が付いているのでよりやりやすくなっているかと!

ノンコーディングで話しかけると天気を教えてくれるLINE BOTを作ってみた話。(LINE BOTとLogic Appsの連携)
http://zuvuyalink.net/nrjlog/archives/3309


Microsoft Translator「言語の検出」コネクターでLINEから送信されるメッセージの言語を判定。
日本語だったらそのまま内容をチケットとして起票、日本語以外だったら翻訳してチケットを起票します。

「はい(日本語の場合)」の処理


今回は処理を簡単にするため、Gmail「電子メール送信します」コネクターを使用。(メール送信できるならOutlookでもSendGridでもいいかなと)
宛先はBacklogのプロジェクト設定で確認できる「課題登録用のメールアドレス」を入力。
Backlogのチケットのタイトルになる部分は、決め打ちとしました。


LINEメッセージに返信する部分をHTTPコネクターで作成。
赤枠内を入力していきます。(詳細は Messaging API APIリファレンス を参照)
テキストの部分は自由な文言が入れられるのでお好みで。
ちなみに、動的コンテンツとして「replyToken」を入れないとレスしてくれません…。

「いいえ(日本語以外の言語)の処理


Microsoft Translator「テキストの翻訳」コネクターを利用します。
どの言語が来ても日本語に翻訳するようにしたいのでソース言語は空欄で。


こちらもGmail「電子メール送信します」コネクターを使用。
宛先はBacklogのプロジェクト設定で確認できる「課題登録用のメールアドレス」を入力。
こちらは原文と翻訳した文章両方をチケットの内容に記載するようにします。


LINEメッセージに返信する部分をHTTPコネクターで作成。
赤枠内を入力していきます。(詳細は Messaging API APIリファレンス を参照)
テキストの部分は自由な文言が入れられるのでお好みで。


Backlogにチケットの起票が完了したらSlackに通知を出すようにしました。
確認しやすいように該当プロジェクトのURLを一緒に通知すると便利かな?と思って入れてみています。

実際に見てみる

該当のアカウントにLINEからメッセージを送ってみます。

まずは日本語の場合。
今回は絵文字やURLが入っているものをキチンと判定できるか確認したかったので、私が大好きな「うさまる」のアカウントから送信された文言を転送して使用しています。
sakumaru さん作のうさまる、かわいくて大好きすぎるw


Backlog側を確認すると、絵文字もURLもキチンと入っています。


次は日本語以外の言語でメッセージを送信した場合。(英語・ポルトガル語・スペイン語)


このように、全ての言語をキチンと翻訳できました。
これで他の言語でチケット切られても怖くない!(はず)

最後に

今回の方法は手順を簡略化するためにタイトルに当たる部分を決め打ちにしてたりするので、もう少し工夫して件名も都度入れられるようにすればもっと便利になるかもですね。
また、Webhookではなく「メールによる課題登録」を利用しましたが、第0回 #JBUG ( Japan Backlog User Group ) @北九州という勉強会で色々ヌーラボの中の方にお聞きして、Backlog側の設定が色々できて便利だなと思ったので今回も使ってみてます。コード書けなくても管理画面から色々細かく設定できるのはよいですね!
さて今回の方法ですが、LINEで連絡きたのを忘れないように起票しておきたい!(このタスク忘れたら〆られるやつや…)というときなどの非常時用の仕組み的な感じで活用いただければと~w

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です