border not found

分野・領域などを問わず、何でも綴る雑記帳

Office 365 の機能でお手軽インシデント管理システムを作ろう

はじめに

2018 年も 1 か月を切りましたね。世の情シスさん、 SE さんは年末年始の切替え対応等で多忙なのでしょうか。 久々にブログを書こうとしたら、前回の投稿は 1 年以上前でした。ちょっと怠けすぎました。

ということで、本投稿は Office 365 Advent Calendar 2018 の 12 月 3 日 の記事です。

※本記事は、 2018 年 11 月 25 日 に開催された Power BI 勉強会でお話しした内容のまとめです。スライドデータは、本記事と同タイミングで Slideshare で共有しています。

こんな方へ

例えば、突然やってきた偉い人が情シスさんに「来週からヘルプデスク対応よろしく。メールだからそんな負荷かからないよね。じゃ、頼んだよー。」と「無茶振り」をしてあっという間に去っていく。しかも予算も時間もない。今回は、そんな困った状況に陥る情シスさんに贈る Office 365 に付帯する機能を活用し「お手軽に・追加費用なし」で解消しようという内容です。

f:id:ctrl-alt-delete:20181202092830j:plain
こんな方へ

前提条件

今回のシナリオは、下記 2 点を満たす必要があります。権限回りであれば交渉・調整次第だと思いますので、頑張りましょう。

  • 既に Office 365 の E1 , E3 のテナントが整備されている。
  • Office 365 のテナントの管理者権限を取得できる or 実装にあたって必要な権限を付与してもらえる。

利用する Office 365 の機能

利用する機能は、下記3つです。いずれも追加費用無しで利用可能です。

  • Exchnage Online の 共有メールボックス
    • 問い合わせを受け付けるメールアドレスとして利用します。
  • SharePoint Online のライブラリ
    • Excel データを保存するための領域として利用します。
  • Flow for Office 365
    • 自動化処理の肝です。

本記事のトレースで実現できること

いきなり難しいことに取り組むと、何かと詰みやすいのは何事も一緒。ということで本記事では、問い合わせの受付処理を自動化にフォーカスしています。これで犠牲者が減るかも!?

f:id:ctrl-alt-delete:20181202094507j:plainf:id:ctrl-alt-delete:20181202094511j:plain
ゴール

作り方

概要

準備から自動化の実現までは、下記 7 ステップあります。 オプションの部分は、準備 3 で保存した Excel データに問い合わせ内容 (メール本文) を書き込む際に書式が入るのが嫌な場合に実装しましょう。

f:id:ctrl-alt-delete:20181202101313j:plain
実装概要

いざ実装

まずは準備。

f:id:ctrl-alt-delete:20181202101826j:plainf:id:ctrl-alt-delete:20181202101936j:plain
準備 1: Exchange Online で共有メールボックスを作成

f:id:ctrl-alt-delete:20181202102037j:plainf:id:ctrl-alt-delete:20181202102041j:plain
準備 2: SharePoint Online でドキュメントライブラリを作成

  • Excel でテーブルを作成した際、テーブルに名前を付けておきましょう。 Flow でテーブルを指定する際に、テーブル名を指定することになります。

f:id:ctrl-alt-delete:20181202102151j:plainf:id:ctrl-alt-delete:20181202102155j:plain
準備 3: ドキュメントライブラリに Excel で作ったテーブルデータを保存

ここから本番。

f:id:ctrl-alt-delete:20181202102347j:plain
自動化 0: Flow を作成

  • メールの受信時刻をインシデント番号として採番します。 Office 365 では時刻情報が UTC で扱われているので、日本時間に変換すると同時に yyyyMMddHHmmssfff という書式にしています。例えば日本時刻で 2018 年 12 月 03 日 13 時 23 分 41.180 秒に受信した場合、 20181203132341180 となります。y や M 、 H は大文字・小文字で意味が変わるので、注意しましょう。

f:id:ctrl-alt-delete:20181202102519j:plain
自動化 1: 受信時刻を UTC から JST に変換し、インシデント番号として採番

f:id:ctrl-alt-delete:20181202102644j:plain
自動化 2: 問い合わせメールの本文を HTML からテキストに変換

f:id:ctrl-alt-delete:20181202102753j:plain
自動化 3: 問い合わせ内容を、インシデント番号等と共に Excel データに書き込み

  • 最後に作成した Flow に名前を付けて保存しましょう。これを忘れると最初からやり直しです。

f:id:ctrl-alt-delete:20181202102918j:plain
自動化 4: 受付完了メールを共有メールボックスから送信

まとめ

ということで、 Flow の全体像です。

f:id:ctrl-alt-delete:20181202103038j:plain
自動化 : まとめ

動作確認

メール送受信で確認

共有メールボックスにメールを送ってみましょう。受付完了メールが届けば成功です。

f:id:ctrl-alt-delete:20181202104808j:plain
動作確認 : メール送受信

Flow / Excel データの確認

Flow が成功していれば、 Success と表示されます。失敗していたら詳細を確認し、失敗した処理を修正しましょう。

f:id:ctrl-alt-delete:20181202105139j:plain
動作確認 : Flow 実行結果

Excel のテーブルに狙った値が入力されていることを確認しましょう。

f:id:ctrl-alt-delete:20181202105142j:plain
動作確認 : Flow 実行結果

以上で無茶振り対応完了

無事、無茶振りを回避できたでしょうか。これで世の中の犠牲者 (無茶振りしてきた方 ? 情シスさん ?) が減ることを祈っています (笑)

さいごに

  • 本記事は、 2018 年 11 月 23 日時点の仕様に基づいています。 Flow for Office 365 や Office 365 のサービス仕様が変更される可能性があります。
  • Flow for Office 365 は 5 分間隔で実行されます。リアルタイム処理ではありません。詳細は、公式サイトを参照してください。

4 日目は Yoshihito Machii さんの「運用効率化 (去年の続き&実装編) 」を予定されているそうです。よろしくお願いします。