カタログアイテムの代わりに外部システムに遷移するリンクを表示したい

TomonoriY
Tera Contributor

通常、カタログアイテムを表示している箇所に、外部システムへのリンクをリスト表示したいと考えております。
また、その際にログインしているユーザやユーザの所属国などの情報もURLに組み込みつつ遷移させたいです。
参考になる情報などがあれば教えていただけますと幸いです。

1件の返信1

iwai
Giga Sage

Catalog Item で 外部へのリンクを アイテムとして表示するには、コンテンツアイテムを使用します。

以下はContent Itemの設定例です。URLに外部システムのURLを設定してください。

iwai_0-1723038757803.png

コンテンツアイテムの定義 (servicenow.com)

URLは固定値での設定になります。ログインしているユーザーなどのパラメーターをScriptで動的にURLに埋め込むことはできません。

 

そこで、ServiceNowでURLパラメーターを埋め込むページを間に挟むことで、要件を満たすことが出来ます。

今回の例では、「test_custom_redirect.do」というページを新規作成しました。Content ItemのURLに「test_custom_redirect.do」を設定して中継する仕組みにしてます。


中継するページはUI Pageを使って作成します。

iwai_1-1723039114761.png

<?xml version="1.0" encoding="utf-8" ?>
<j:jelly trim="false" xmlns:j="jelly:core" xmlns:g="glide" xmlns:j2="null" xmlns:g2="null">
	<g:evaluate var="jvar_url_parameter" jelly="true">
		jvar_url_parameter = gs.getUserName();
	</g:evaluate>

	<script>
		top.location.href = "https://<MyInstance>.service-now.com/sys_user_list.do?sysparm_query=user_name%3D" + encodeURIComponent("${jvar_url_parameter}");
	</script>
</j:jelly>

UI ページ (servicenow.com)

この例では、User IDをScriptで取得して、外部システムの想定のURLを作成してページ遷移しています。
例では、ServiceNow Instanceの User Tableを Queryして 自分のUser IDを検索しています。

 

このURLを希望する外部システムへのURLを設定して、パラメーターをScriptで作成してください。

iwai_2-1723039433267.png

例は、Catalog Itemのリストに Test Custom Redirect という名前で表示しています。クリックすると中継ページを通って目的のURLにパラメーターを追加してページに遷移します。