ServiceNowのREST APIのコールアウト設定手順
はじめに
ServiceNowからMuleのAPIを呼び出す機会があり、コールアウトの設定手順を説明する。
設定手順
設定手順は以下の通り。
- REST APIのコールアウトプログラムを設定する。
- コールアウトプログラムを実行し結果を確認する。
手順詳細
1.REST APIのコールアウトプログラムを設定する。
サイドメニューから[Scheduled Jobs]を選択して、新規でジョブを作成する。

スクリプト実行用のジョブタイプを選択する。

ジョブのNameは、”Mule REST API Caller”とした。
REST API コールアウト用のプログラムを[Run this script]に張り付けて、[Submit]ボタンを押下する。

REST API呼び出し用のプログラムは以下の通り。
// Settings
var simpleDateFormat = 'dd MMMM yyyy HH:mm:ss.SSS';
sender();
// Send Request
function sender() {
var endpointName = 'Accounts';
try {
var Url = 'http://{Mule Application Endpoint}/api/accounts';
var httpreq = new sn_ws.RESTMessageV2();
httpreq.setHttpMethod('GET');
httpreq.setEndpoint(Url);
//httpreq.setRequestHeader('jwt', createJWT());
httpreq.setRequestHeader('Content-Type', 'application/json');
var starttime = new GlideDateTime();
starttime.setDisplayValue(simpleDateFormat);
log('httpStatus', "Send Message!! " + starttime.getDisplayValue());
var response = httpreq.execute();
var endtime = new GlideDateTime();
endtime.setDisplayValue(simpleDateFormat);
var responseBody = response.getBody();
var httpStatus = response.getStatusCode();
log('httpStatus', "Recieve Message!! " + httpStatus + " : " + endtime.getDisplayValue());
log('Response', responseBody);
} catch (ex) {
log('message', "" + ex.message);
}
}
// JWT generator
function createJWT() {
var jwtAPI = new sn_auth.GlideJWTAPI();
var headerJSON = {"alg": "RS256","typ": "JWT"};
var header = JSON.stringify(headerJSON);
var payloadJSON = {};
var payload = JSON.stringify(payloadJSON);
var jwtProviderSysId = "{Mule JWT ProviderのSysID}";
var jwt = jwtAPI.generateJWT(jwtProviderSysId, headerJSON, null);
return jwt;
}
// Logging
function log(marker, msg) {
gs.info('>>> ' + marker + ' ... ' + msg);
}
2.コールアウトプログラムを実行し結果を確認する。
先ほど登録したジョブを再表示すると右上に[Execute Now]ボタンが表示される。
ボタンを押下してスクリプトを実行する。

[Application Logs]にレスポンス結果が表示されたことが確認できた。

さいごに
いかがだったでしょうか?
ServiceNowのREST APIのコールアウト手順について説明しました。
是非、活用してみてください。では、






