- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
05-21-2024 07:58 PM
「メール送信」アクションで作成を進める場合,「通知」で作成していた本文に,申請者が申請した「要求」など,他の通知メールにもリンクを記載していたのですが,「メール送信」アクションでも同様に使用することは可能なのでしょうか。
本文記載予定のリンク
Click here to view Request: ${request.URI_REF}
解決済! 解決策の投稿を見る。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
05-24-2024 06:47 PM - 編集済み 05-26-2024 05:32 PM
メール送信アクションでは${request.URI_REF}のような記述はできません。
動的なリンクを生成する場合は工夫が必要です。メンテナンス性やリリースを考えるとスクリプトが必要になりますが、最小限にとどめると以下で達成できると思います。以下の手順が必要です。
①インスタンス名を取得するカスタムアクションを作成する
②Flow Desgnerでメインのフローでフロー変数を定義して、動的URLを生成する
③メール送信アクションに②のデータを定義する
①インスタンス名を取得するカスタムアクションを作成する
スクリプトはここで必要になります。
1.workflow studioでアクションを新規で作成します(名前、説明は任意、アプリケーションはGlobal)
ここでは名前を「Get Instance name」とします。
2.スクリプトステップ内にServiceNowインスタンス名を取得するスクリプトを記載し、Output Variablesを定義します。このスクリプトは実行している現在のインスタンス名を取得してくるので、リリース時にインスタンス名が変わってもインスタンスに併せて取得してきてくれます。
(function execute(inputs, outputs) {
outputs.base_url = gs.getProperty('glide.servlet.uri');
})(inputs, outputs);
3.Action Outputでスクリプトで取得した値をFlow上のデータピルとして使えるように定義します。
②Flow Desgnerでフロー変数を定義して、動的URLを生成する
ここでは、メールを送信するメインのフローに戻ります。フロー変数を定義しその変数にメールに添付したい動的リンクを定義します。
1.フロー変数の定義
保存ボタンの右の三点リーダーから"フロー変数"をクリックし、変数を作成します。
2.フローロジックの"Set Flow Valuables"を選択し、先ほど定義した変数を指定してリンクを作成します。
HTMLの<a>タグでハイパーリンク化します。
1つ目のデータピルは①で取得したインスタンス名です。
2つ目は要求アイテムのsysIDです。
3つ目はリンクの表示テキストなので、ここでは要求の番号を指定しています。
③メール送信アクションに②のデータを定義する
メール本文に②のデータピルを指定して、動的リンクをメールに仕込みましょう。
④フローの全体像と結果
フローをテストして送信したメールの結果
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
05-24-2024 06:47 PM - 編集済み 05-26-2024 05:32 PM
メール送信アクションでは${request.URI_REF}のような記述はできません。
動的なリンクを生成する場合は工夫が必要です。メンテナンス性やリリースを考えるとスクリプトが必要になりますが、最小限にとどめると以下で達成できると思います。以下の手順が必要です。
①インスタンス名を取得するカスタムアクションを作成する
②Flow Desgnerでメインのフローでフロー変数を定義して、動的URLを生成する
③メール送信アクションに②のデータを定義する
①インスタンス名を取得するカスタムアクションを作成する
スクリプトはここで必要になります。
1.workflow studioでアクションを新規で作成します(名前、説明は任意、アプリケーションはGlobal)
ここでは名前を「Get Instance name」とします。
2.スクリプトステップ内にServiceNowインスタンス名を取得するスクリプトを記載し、Output Variablesを定義します。このスクリプトは実行している現在のインスタンス名を取得してくるので、リリース時にインスタンス名が変わってもインスタンスに併せて取得してきてくれます。
(function execute(inputs, outputs) {
outputs.base_url = gs.getProperty('glide.servlet.uri');
})(inputs, outputs);
3.Action Outputでスクリプトで取得した値をFlow上のデータピルとして使えるように定義します。
②Flow Desgnerでフロー変数を定義して、動的URLを生成する
ここでは、メールを送信するメインのフローに戻ります。フロー変数を定義しその変数にメールに添付したい動的リンクを定義します。
1.フロー変数の定義
保存ボタンの右の三点リーダーから"フロー変数"をクリックし、変数を作成します。
2.フローロジックの"Set Flow Valuables"を選択し、先ほど定義した変数を指定してリンクを作成します。
HTMLの<a>タグでハイパーリンク化します。
1つ目のデータピルは①で取得したインスタンス名です。
2つ目は要求アイテムのsysIDです。
3つ目はリンクの表示テキストなので、ここでは要求の番号を指定しています。
③メール送信アクションに②のデータを定義する
メール本文に②のデータピルを指定して、動的リンクをメールに仕込みましょう。
④フローの全体像と結果
フローをテストして送信したメールの結果
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
06-02-2024 09:38 PM
こちらの問題は解決しましたでしょうか?
もし解決している場合は✅【Solution as Accept】を押して、他のユーザーにが問題が解決している質問か判断できるようにしてあげてください。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
06-04-2024 01:20 AM
ご回答いただきありがとうございます。
ご教授いただいた内容にて設定し,無事リンクを設定することができました。
丁寧な説明も記載いただきましてありがとうございました。