Servicenow Scripted REST APIの作成サンプルコード

使用例
指定したメールアドレスのユーザ情報を返すスクリプトを作成します。

Scripted REST APIリソーススクリプト
(function process( /*RESTAPIRequest*/ request, /*RESTAPIResponse*/ response) {
return new getUserInfo().getdetails(request.pathParams.userid);
})(request, response);

スクリプトインクルード

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
var getUserInfo = Class.create();
getUserInfo.prototype = {
initialize: function(){},
getInfo: function(email) {
var userInfo = [];
try {
var gr = new GlideRecord('sys_user');
if(gr.get('email',email)){
userInfo.push( {
'name': gr.name,
'email':gr.email,
'company':gr.company.name
});
}
return userInfo;
}catch(e){
gs.error("ERROR=",e)
}
},
type: 'getUserInfo'
};
var getUserInfo = Class.create(); getUserInfo.prototype = { initialize: function(){}, getInfo: function(email) { var userInfo = []; try { var gr = new GlideRecord('sys_user'); if(gr.get('email',email)){ userInfo.push( { 'name': gr.name, 'email':gr.email, 'company':gr.company.name }); } return userInfo; }catch(e){ gs.error("ERROR=",e) } }, type: 'getUserInfo' };
var getUserInfo = Class.create();
getUserInfo.prototype = {
  initialize: function(){},
  
  getInfo: function(email) {
      var userInfo = [];
        
        try {
          var gr = new GlideRecord('sys_user');
            if(gr.get('email',email)){
              userInfo.push( {
                     'name': gr.name,
                   'email':gr.email,
                   'company':gr.company.name
               });
            }
            return userInfo;
        }catch(e){
         gs.error("ERROR=",e)
        }
  
  },
  type: 'getUserInfo'
};

REST API実行
REST API Explorerから実行すると次のようにJSONメッセージが戻ります。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
{
"result": [
{
"name": "ctna",
"email": "ctn@example.com",
"company": "arkgame Japan"
}
]
}
{ "result": [ { "name": "ctna", "email": "ctn@example.com", "company": "arkgame Japan" } ] }
{
  "result": [
    {
      "name": "ctna",
      "email": "ctn@example.com",
      "company": "arkgame Japan"
    }
  ]
}

 

ServiceNow

Posted by arkgame