1人コーポレートエンジニアがヘルプデスク業務をJira Service Managementで管理している実例紹介

:::note info
この記事は **[Atlassian User Community Tokyo Advent Calendar 2022](https://adventar.org/calendars/8097)** の 19 日目の記事です。
:::

https://adventar.org/calendars/8097

# はじめに

コーポレートエンジニアの**Maita**です。
私は本業に今年2022年2月に入社し、約90名の組織の1人コーポレートエンジニアとして業務をしています。

入社当初からしばらくの間はチケット管理システムなどを導入していなかったため、コーポレートITへの相談・サポート依頼はSlackで始まり、ログがSlack上にしか残らない状況でした。
また、従業員へ過去事例を紹介するためには逐一記事を作成する必要がありました。

その後、順番に環境を整備し、現在のヘルプデスク業務はSlackを使ってコミュニケーションする状況はそのままに、Jira Service Managementを導入してSlackと統合させることでChatOps化とチケット管理化することができました。

そして、ヘルプデスクのチケット情報をGoogleスプレッドシートに自動インポートさせ、そのデータを使って可視化やナレッジベース構築に活用し、社内ポータルサイトで公開しています。

- データをGoogle Looker Studioと接続して「ダッシュボード」として可視化
- Googleスプレッドシートで「過去の問い合わせ事例集」を構成

https://twitter.com/cemaimai/status/1583275687791628288?s=20&t=KueXQxOUEZ2uih9YjL5iyg

今回は上記の構成の全体像を示し、部分毎に紹介したいと思います。


# 実例の環境を構成した理由

今回のような環境を構成しようと思った理由は以下の通りです。
- ヘルプデスク業務は大切だが対応工数はできるだけ抑えたい
- 社内開発やセキュリティ対策など、他の業務に影響を与えないようにしたい
- ヘルプデスク業務でのやり取りをデータとして記録・蓄積したい
- 記録・蓄積したデータを「稼働状況の可視化」や「ナレッジベースの構成」に活用したい
- 現状のSlackでのコミュニケーション中心としたヘルプデスクのやり方は変えたくない

１人コーポレートエンジニアや１人情シスは担当業務の範囲が広く量も多く￥いため、ヘルプデスクなどのイレギュラーに発生する業務に時間を取られると業務全体が正常に稼働しなくなってしまいます。
**自分が正常に稼働するのための効率化**と**依頼者とエージェント相互のための可視化と共有化**を念頭に設計と構成を進めました。


# 環境と前提条件

## 環境
今回紹介する実例の環境を構成しているサービスやアプリは以下の通りです。

<table>
 <thead>
  <tr><th>サービス・アプリ名</th> <th>プランなど</th> <th>機能・利用目的など</th></tr>
 </thead>
 <tbody>
  <tr><td>Slack</td> <td>プロプラン</td> <td>依頼者とエージェントがコミュニケーション(リクエストの提出やコメントのやり取り)を行う。</td></tr>
  <tr><td>Jira Sevice Management</td> <td>Freeプラン</td> <td>ヘルプデスクに関するサービスプロジェクトを管理。クラウド版を利用。</td></tr>
  <tr><td>Atlassian Assist (Jira Chat)</td> <td>無料</td> <td>SlackとJira Service Managementを統合するアプリ。</td></tr>
  <tr><td>Googleスプレッドシート (Google Workspace)</td> <td>Enterprise Standard</td> <td>Google Looker Studioに接続するデータベースや過去事例集を構成するために利用。</td></tr>
  <tr><td>Jira Cloud for Sheets</td> <td>無料</td> <td>条件にマッチするチケットの情報をJira CloudからGoogleスプレッドシートにインポートするためのアドオン。Google Looker Studioに接続するデータベースや過去事例集の自動生成に利用。</td></tr>
  <tr><td>Google Looker Studio</td> <td>無料</td> <td>Googleスプレッドシートからデータをインポートし、ヘルプデスクの状況(件数やヒートマップなど)をダッシュボード化。</td></tr>
  <tr><td>Googleサイト</td> <td>無料</td> <td>社内ポータルサイトを構成するのに利用。</td></tr>
 </tbody>
</table>

以下、一部のサービス・アプリについて補足します。

### Jira Sevice Management Cloud Freeプランについて
Freeプランは3エージェントまで無料で利用可能です。
期間制限もありませんので、Atlassian製品をまだ利用されていない方にお勧めです。

https://www.atlassian.com/ja/software/jira/service-management/free

### Atlassian Assist (Jira Chat) について
SlackとJira Service Managementを統合してくれるアプリで、無料で利用できます。
詳しくは以下のリンクを参照してください。

https://support.atlassian.com/ja/jira-service-management-cloud/docs/what-is-chat/

https://www.atlassian.com/software/halp/slack-sign-up

### Jira Cloud for Sheetsについて
Googleスプレッドシート用のアドオンで、無料で利用できます。

https://support.atlassian.com/ja/jira-work-management/docs/use-jira-cloud-for-sheets/

以前は、私もこのアドオンを利用してJira Cloudから指定したチケットの情報をGoogleスプレッドシートにインポートしていました。

現在は、Google Apps Script(GAS)でJira Cloud REST APIをコールし、条件にマッチしたチケット情報をGoogleスプレッドシートに書き出しています。
詳細は以下の私のブログで紹介していますので、ご興味が有る方はご確認ください。

https://qiita.com/cemaimai/items/ecb716654a2fc1c45a72


# 全体および部分毎の解説

まずは本実例の全体像を示します。
![全体像.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/234372/69d2b5fe-062d-af58-3d67-64fe7021304f.png)

この全体像は以下で構成されています。
1. 依頼者とエージェントのコミュニケーション
1. エージェントのチケット作業
1. 過去事例の自動生成
1. Google Looker Studioへのデータ接続とダッシュボード生成
1. 社内ポータルサイトでの公開

以下、部分別に説明していきます。

## 依頼者とエージェントのコミュニケーション
依頼者とヘルプデスクエージェントのコミュニケーションは、基本的にすべてSlack上で完結しますが、その内容はAtlassian AssistアプリによってJira Service Managementに記録されます。

これにより、依頼者とエージェントはいままでと同様にSlackを中心としたコミュニケーションを行うだけで、Jira Service Managementの該当するチケットにそのやり取りが蓄積されます。

![依頼者とエージェントのコミュニケーションとそのシステム構成](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/234372/ace5afa2-65ca-3eed-a078-cc52cd26d6d9.png "依頼者とエージェントのコミュニケーションとそのシステム構成")


例えば、依頼から冒頭のフローは以下のようになります。
1. (依頼者) Slackの**問い合わせ用チャンネル**に投稿
1. (依頼者またはエージェント) 絵文字リアクションなどでチケット化
1. (Atlassian Assist) 指定されたサービスプロジェクトにチケットを起票
1. (Atlassian Assist) Slackの**問い合わせ用チャンネル**と**エージェント用チャンネル**に起票内容を通知
1. (エージェント) Slackの**エージェント用チャンネル**で通知された内容にスレッドで返信
1. (Atlassian Assist) エージェントの返信内容をチケットにコメントとして追加
1. (Atlassian Assist) エージェントの返信内容をSlackの**問い合わせ用チャンネル**の該当する投稿にスレッドで返信
1. (依頼者)**問い合わせ用チャンネル**の該当投稿にスレッドで返信
1. (Atlassian Assist) 依頼者の返信内容をチケットにコメントとして追加
1. (Atlassian Assist) 依頼者の返信内容をSlackの**エージェント用チャンネル**の該当する投稿にスレッドで返信


## エージェントのチケット作業
エージェントのみが行うチケットへの作業として、以下のようなものがあります。
1. 依頼内容に基づいたラベルをチケットに設定
1. 作業時間を対象のチケットに記録
1. それ以外の必要なフィールドを更新
1. 過去事例として公開する場合、チケットの内容を整形

### 過去事例の自動生成
対応の完了した問い合わせで、今後問い合わせがありそうな内容は過去事例として公開することで、「従業員の自己解決」と「重複した内容のヘルプデスク問い合わせ削減」に繋がります。

本来であればConfluenceを利用してナレッジベースを構成したいところですが、今回の実例では「Jira Service Managementのポータルサイト」を利用しないことにしているため、この方法は利用していません。

また、この組織では社内ドキュメントがGoogle Docsで構成されており、従業員も操作や検索になれているため、Googleスプレッドシートを利用して過去事例を構成しています。

実例の場合、ヘルプデスク用サービスプロジェクトで、ITヘルプのリクエストタイプにはカスタムフィールドとして以下を追加してあります。

|フィールド名|タイプ|説明|
|:--|:--|:--| 
|sharing|リスト選択（シングル)| {`yes\|no`}から選択。過去事例として公開する場合は`yes`を選択する。|
|solution|テキストフィールド(マルチライン)|過去事例として公開する場合はここに解決方法などを入力する。|

過去事例として公開したい場合、**sharing**フィールドを`yes`にし、**solution**に解決方法やアドバイスなどを入力しておきます。
時間トリガーで設定してあるGASの処理により、自動的にGoogleスプレッドシートにそれらのチケットの必要な情報(`resolved date`, `summary`, `description`, `solution`)が定期的に書き込まれます。

![過去事例集の自動生成](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/234372/bce4bb3a-780e-1410-ccf2-359c21f7bcf8.png "過去事例集の自動生成")

### Google Looker Studioへのデータ接続とダッシュボード生成

時間トリガーで設定してあるGASの処理により、自動的にGoogleスプレッドシートにヘルプデスクのチケット情報が定期的に書き込まれます。

このGoogleスプレッドシートをGoogle Looker Studioにデータ接続して構成することで、「起票数vs解決数」や「チケット毎対応時間（上位10件)」、「ヒートマップ（ラベルと解決に要した時間）」、「依頼者ランキング（上位10名)」などの情報を含むダッシュボードが生成されます。

ダッシュボードの情報更新は、接続しているGoogleスプレッドシートの更新と同期していますので、1度ダッシュボードを構成したら追加の作業は不要です。

![Google Looker Studioへのデータ接続とダッシュボード生成](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/234372/07fd82a4-6036-5543-e64d-3d5128e07059.png "Google Looker Studioへのデータ接続とダッシュボード生成")

### 社内ポータルサイトでの公開

過去事例やダッシュボードはそれぞれ直接アクセスできますが、Googleサイトで構成された社内ポータルサイトに専用ページを作成してそこに埋め込み、従業員に公開しています。

![社内ポータルサイトでの公開](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/234372/a357ac4a-cfed-d84a-64fa-ce2e930f38c1.png "社内ポータルサイトでの公開")

# まとめ

以上、私が1人コーポレートエンジニアとしてJira Service Managementをベースに構成したヘルプデスク環境と関連する可視化・効率化を紹介させていただきました。

今回は概要説明でしたので、具体的な設定や技術的な内容にはほとんど触れませんでしたが、今後時間を見つけてブログで紹介していきたいと思っています。

最後まで読んでいただきありがとうございました！