1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[ServiceNow] システムプロパティで2次元配列データを扱う

Last updated at Posted at 2025-09-04

はじめに

ServiceNowのシステムプロパティは、システム全体で共通して利用する設定値を保持できます。業務要件によっては、単なる数値や文字列、あるいはカンマ区切りによる1次元配列的なデータだけでなく、2次元以上の配列データを扱いたい場合があります。たとえば、「部門」と「会社」を1組とする任意の組み合わせなどです。
このような場合には、システムプロパティにJSON形式の値を登録して利用する方法が有効です。以下では、システムプロパティに格納したJSON形式の値をJavaScriptで取得し、配列およびオブジェクトの両方を処理する例を示します。

方法1(JSON配列形式)

  • System properties
    • Name: (適当。ここでは、test.prop.pairs_dept_comp1とする。)
    • Value: 以下
System Property - Value
[
    ["Dev1","Comp1"],
    ["Dev2","Comp2"]
]
  • Script例
Script
var raw = gs.getProperty("test.prop.pairs_dept_comp1");

var matrix = JSON.parse(raw);

for (var i = 0; i < matrix.length; i++) {
    var pair = matrix[i];   // ["deptPrefix", "compName"]
    var deptName = pair[0];
    var compName = pair[1];

    gs.info("Row " + i + ": Department Name:" + deptName + ", Company Name:" + compName);
}
  • 実行結果
*** Script: Row 0: Department Name:Dev1, Company Name:Comp1
*** Script: Row 1: Department Name:Dev2, Company Name:Comp2

方法2(JSONオブジェクト形式)

  • System properties
    • Name: (適当。ここでは、test.prop.pairs_dept_comp2とする。)
    • Value: 以下
System Property - Value
{
    "records" : [
        {
            "department" : "Dev1",
            "company" : "Comp1"
        },
        {
            "department" : "Dev2",
            "company" : "Comp2"
        }
    ]
}
  • Script例
Script
var raw = gs.getProperty("test.prop.pairs_dept_comp2");

var obj = JSON.parse(raw);

for (var i = 0; i < obj.records.length; i++) {
    var dept = obj.records[i].department;
    var comp = obj.records[i].company;

    gs.info("Record " + i + ": Department Name:" + dept + ", Company Name:" + comp);
}
  • 実行結果
*** Script: Record 0: Department Name:Dev1, Company Name:Comp1
*** Script: Record 1: Department Name:Dev2, Company Name:Comp2
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?