Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

ACL Scriptの学習コンテンツ

horie yuusuke
Mega Expert

ACL Scriptの記述方法についての学習コンテンツがあれば教えて頂けると幸いです。

10件の返信10

横から失礼します。
sn_sec_cmn.SecurityAccessUtils()
"SecurityAccessUtils" は、Script Include [sys_script_include] で Classが定義されており、Scriptを読むことで動作を把握できます。(SecOps系のPluginをインストールしている環境のみ存在します)
公式の説明ページは無いようです。

返信ありがとうございます。scriptのコードはどこに記載されてますか
Script Include [sys_script_include]  の場所が分かってません。すいません。

Scriptt Include は Menuにあります。下記画像を参考にしてみてください。ServiceNowの基本がわからないと、見れば見るほどわからない事が大量に出てくると思います。

まずは、ServiceNowの基本を自主学習するか、Learningサイトで学習すると良いと思います。

自主学習に良さそうなページ (このページからNew to ServiceNow に入って基本から学べます)

Learn | ServiceNow Developers

Now LearningサイトのQAページ

https://nowlearning.servicenow.com/lxp?id=kb_article_view&sysparm_article=KB0010180

画像1.png

返信ありがとうございます。紹介頂いたサイトは参考にさせて頂きます。
スクリプトは見たのですが、スクリプト内に出てくるrecordGr, currentGr, prevGrがスプリプト内で定義されておらず、結果としてSecurityAccessUtilsがどういう動作をするか分からない状況です。recordGr, currentGr, prevGrがリファレンスとして定義が見つかる様になって欲しいなと思っています。

answer = accessUtil.hasSpecialReadAccess(current) || (answer && accessUtil.hasSecurityTagWriteAccess(current));
hasSpecialReadAccess: function(recordGr) 
hasSecurityTagWriteAccess: function(recordGr) 

 

今回のACLのScriptのcurrentは、GlideRecord です。このScriptが実行される時点で、currentには、sn_si_incident TableのRecordの情報にアクセスできる状態になっています。

GlideRecord | ServiceNow Developers

ACLの基本動作や、GlideRecordやServiceNowの基本動作に説明があるので読んでみてください。

current や gr 変数は、GlideRecordによく使われています。

currentGr.getValue

こうなっている時点で、ほぼ99%でGlideRecordです。のこり1%GlideElementぐらいでしょうか。

ServiceNowに実装しているScriptの定義や仕様をほとんど公開していません。(APIの仕様はある程度公開されています)

Reference | ServiceNow Developers