インシデント変換:インシデントを要求 (または他のレコードタイプ) に変更する方法Description時折、ユーザーの開くインシデントがインシデントの基準に適合しない場合があります。実際には、インシデントではなく要求、問題、またはその他のタイプのタスクにすることが必要です。開発者は、正しいタイプの新しいレコードを開き、インシデントから情報を移動し、ワークフローに従って必要なその他のプロセスとともにインシデントをクローズするというタスクを実行する必要があります。これを 1 日に複数回手動で実行するのは、煩雑に感じられるかもしれません。 ServiceNow には、データの操作に役立つ多数の API が用意されています。そのうちのいくつかを使用して簡単なワンクリックプロセスを作成すれば、インシデント変換をシンプルな作業にすることができます。 まず、このプロセスがどのように使用されるかを判断する必要があります。 変換する必要があるインシデントを特定します (ここでは変換のターゲットとなるタイプに「要求」を使用しますが、このプロセスはニーズに合わせて調整できます)。変換プロセスを開始するフォームのボタンをクリックします。新しく変換されたレコードに自動的に移動します。 手順 免責事項:これは、すぐに利用可能なカスタマイズではありません。問題が発生した場合、実装者が修正する必要があります。このプロセスの修正は ServiceNow サポートの対象外となるため、サポートを利用することはできません。本番環境に移行する前に、テストインスタンスで徹底的なテストを実施してください。 このプロセスは実際には、1 つの UI アクションと 1 つのクライアントスクリプトで構成されます。また、必要に応じて要素を追加できます。 UI アクションは、インシデントテーブルで実行することになります。これを既存のレコードに表示されるフォームボタンに設定し、サーバー上で実行します ([クライアント] はチェックしない)。 UI アクションスクリプトの役割は、変換先の「新規」レコードフォーム (この場合は「要求」) の URL を指定して、ユーザーをそのフォームにリダイレクトするだけにとどまります。インシデントの sys_id と一緒に新しいカスタムパラメーターを渡します。 UI アクションを保存します。既存のインシデントに移動します (どのユーザーでも問題ありません。この時点ではレコードのクローズを指定していません)。フォームヘッダーに新しい UI アクションが表示されます。クリックすると、「新規」要求フォームにリダイレクトされます。また、URL にはインシデントの sys_id とともにカスタムパラメーターが含まれていることもわかります。クライアントスクリプトに進む前に、動作を確認してください。 ここからは、「変換」プロセスです。実際には、インシデントのフィールド値を 1 つずつ新しいレコードに移動するだけです。ここでは GlideRecord と GlideForm API を使用します。下の「追加情報」セクションから、これらのドキュメントへのリンクを利用できます。 要求テーブル (sc_request) に新しいクライアントスクリプトを作成します。[UI タイプ] を [デスクトップ] に、[タイプ] を [onLoad] に設定します。 以下はスクリプトです。コードを (コメントと合わせて) 読み、プロセスの理解を深めてください。 このコードでは、元のインシデントがクローズされないことにお気づきでしょう。変換プロセスが誤って開始された (誤ってボタンをクリックしたなど) 可能性が高いため、意図的に省略されています。インシデントをクローズする前に、新しい要求を調べ、正確であることを確認してください。送信した後に、古いインシデントをクローズする必要があります (要求に変換されたことを示す作業メモと要求番号を残しておくこともできるでしょう)。 注意:インシデントから要求への変換の場合、要素は 1 対 1 で対応しません。インシデントのフィールド OOB の中には、要求側に対応するフィールドが存在しないものもあります。すべての必要な情報新しい要求レコードに含めるため、そのようなデータの処理方法を検討する必要があります。 これで OK です。クライアントスクリプトを保存して、インシデントに戻ります。フォームヘッダーの [変換] ボタンをクリックすると、新しい要求フォームにリダイレクトされ、変換元のインシデント情報がフィールドに入力されます。Additional Informationドキュメント: クライアントスクリプトUI アクションGlideRecordGlideFormGlideURL