【ServiceNow】CSVファイルを作成してチケットに添付する方法

ServiceNow
アキ

皆さん、こんにちは。ServiceNow担当のアキです。

皆さんはServiceNowの導入をしていて、「ファイルの自動作成ってどうやるのだろう?」と考えたことはないでしょうか?

ServiceNowテーブルの各レコードへファイル添付をしたり、メール送信時にファイルを添付するなど、運用で(=手作業で)行う機会は多々あると思いますが、自動でファイルを作成して添付することも可能です。

このような添付ファイルを簡単に作成する標準APIが用意されていますので、今回は添付ファイルの作成についてご紹介します。

 

GlideSysAttachment APIのご紹介

今回使用するAPIは「GlideSysAttachment」です。

代表的なメソッドとしては、下記の機能が用意されています。(※Docsより一部抜粋)

今回は添付ファイルの作成がテーマですので、「write」メソッドを使う事例を紹介します。

ユースケース

例えば、月に1回、未解決のインシデントを抽出して、CSVファイルを作成し、新規に起票したタスクに添付するケースを考えてみます。

<イメージ>

<処理手順>
この場合の処理手順としては下記のイメージとなります。

①月初のタイミングでアクティブなインシデント[incident]レコードを抽出

②タスク[task]の新規レコードを作成

③新規レコードへCSVファイルを添付

実装サンプル

上記の処理手順に沿って、実装サンプルをご紹介します。

以下のスクリプトはすべてサーバサイドスクリプトで実行できます。

自動で実行する場合は、スケジュールジョブに下記のスクリプトを記載し実行します。

①アクティブなインシデント[incident]レコードを抽出

上記のコードで、現在有効なインシデントレコードが抽出できます。

上記の例では、CSVファイルへ出力する内容を組み立て、contentという変数へ格納しています。

CSVファイルなので、各項目値は前後をダブルコーテーション[“]で囲い、項目間はコンマ[,]で区切っています。

②タスク[task]の新規レコードを作成

上記のコードで、添付ファイルを貼り付けるタスクレコードを準備しています。

最低限の項目として、タスク名とアサイン先グループを設定しています。

③新規レコードへCSVファイルを添付

手順①で組み立てた変数「content」を利用して、CSVファイルを作成します。

手順②でタスクレコードを作成した際に、変数「task_rec」にタスクレコードが格納されていますので、添付先として指定します。

変数「contentType」でコンテンツタイプを指定します。

ServiceNowでサポートされている添付ファイルのコンテンツタイプが利用できます。

<補足>
コンテンツタイプは、作成するファイルの種類に応じてさまざまです。

下記に一例を紹介します。

実行結果

上記の処理をスケジュールジョブで実装し、インシデントテーブルのデモデータを利用して、添付ファイルの作成を実施してみました。

タスクが作成されたことを確認できます。

タスクレコードを開くと、作成した添付ファイルが保存されていることが確認できます。

添付ファイルを任意のフォルダへダウンロードし、ファイルを開くとCSVファイルの中身が想定通りに作成されていることが確認できます。

[まとめ]
今回は、標準で用意されているAPIを利用して、ファイルの作成とレコードへの添付を実現する方法をご紹介しました。

添付ファイルを作成することで、担当者へメール送信したり、外部から接続してダウンロードしてもらうなど、さまざまな運用(業務要件)にお応えすることができます。

ServiceNowの高度な実装には、弊社のServiceNow導入サービスをよろしくお願いいたします。

ServiceNowについて

ServiceNowについてさらに詳しく知りたい方は、ServiceNowに熟知したSTSメンバーがよりよいシステム構築をご提案しますので、ぜひお問合せください!

お問い合わせはこちら

記事を書いた人

アキ

関連記事

TOP