ServiceNowでHTTP Request/Responseを実行してScriptへの組み込み方を確認する

Version:Kingston

# 作るもの

ServiceNowで特定のURL(以下の例は https://example.com )にHTTP Requestを飛ばして

![FireShot Capture 022 - Example Domain - https___example.com_.png](https://qiita-image-store.s3.amazonaws.com/0/193272/4a25da2a-f887-485d-30e3-a28d01547991.png)

HTTP Responseを確認します

![FireShot Screen Capture #004 - 'Created 2018-02-17 16_35_36 I Test Runs I ServiceNow' - dev48240_service-now_com_nav_to_do_uri=_sys_rest_message_fn_te.png](https://qiita-image-store.s3.amazonaws.com/0/193272/21bbbbde-64f1-9b8c-8211-818fe898446f.png)

# HTTP Requestの作成

※こちらの記事ではあらかじめREST Massageを定義して利用する手順になっていますがスクリプトだけで実行することも可能ですスクリプトだけで実行する手順はページの後半にあります

Filter Navigatorにrestと入力し[System Web Services] - [Outbound] - [REST Message]を表示します

![FireShot Capture 023 - REST Messages I ServiceNow_ - https___dev48240.service-now.com_nav_to.do.png](https://qiita-image-store.s3.amazonaws.com/0/193272/e290ee55-f970-b59f-7af8-776158b65a7c.png)

[New]ボタンをクリックしREST Messageの新規作成画面を表示します。Nameにexample_test、Endpointに  https://example.com/ と入力し[Submit]をクリックします。

![FireShot Capture 025 - REST Message I ServiceNow_ - https___dev48240.service-now.com_nav_to.do.png](https://qiita-image-store.s3.amazonaws.com/0/193272/b2f6ef3a-1fc1-a1bc-438b-b8ab321cdf10.png)

Submit後、一覧画面に追加されていることを確認します

![FireShot Capture 026 - REST Messages I ServiceNow_ - https___dev48240.service-now.com_nav_to.do.png](https://qiita-image-store.s3.amazonaws.com/0/193272/058ee026-11e6-9278-7e23-0469a2923cde.png)

# HTTP Request/Responseの確認

追加したREST Messageの編集画面に遷移します。HTTP MethodsにGETが自動で追加されています

![FireShot Screen Capture #002 - 'example_test I REST Message I ServiceNow' - dev48240_service-now_com_nav_to_do_uri=_sys_rest_message_do_sys_id=8579d31.png](https://qiita-image-store.s3.amazonaws.com/0/193272/d8760be8-1731-0ba9-4f4f-74e08a5a221c.png)

GETの編集画面に遷移しRelated LinksのTestをクリックします

![FireShot Screen Capture #003 - 'Default GET I HTTP Method I ServiceNow' - dev48240_service-now_com_nav_to_do_uri=_sys_rest_message_fn_do_sys_id=4299db.png](https://qiita-image-store.s3.amazonaws.com/0/193272/3b3389a7-f34e-9252-456e-2fd6f9ebda2d.png)

HTTP Requestが実行され、Responseの結果を確認出来ます。HTTP Statusが200なので正常にResponseが取得できたようです

![FireShot Screen Capture #004 - 'Created 2018-02-17 16_35_36 I Test Runs I ServiceNow' - dev48240_service-now_com_nav_to_do_uri=_sys_rest_message_fn_te.png](https://qiita-image-store.s3.amazonaws.com/0/193272/6907c614-4724-2339-03f1-ce325114dd47.png)

前の画面のPreview Script UsageのリンクをクリックするとScriptへの組み込み方のサンプルコードが確認出来ます3行目のRestMessageV2をnewするところの引数で作成したREST Messageを指定している様です
※色々試している環境で時間が経ってしまってから追記したので画面のHeaderやMenuがいきなり変わってたりします

![FireShot Screen Capture #005 - 'Default GET I HTTP Method I 20% cooler now' - dev48240_service-now_com_nav_to_do_uri=_sys_rest_message_fn_do_sys_id=42.png](https://qiita-image-store.s3.amazonaws.com/0/193272/ae8182b7-0a4f-2c6d-e057-6b88b2489fc7.png)

# Scriptだけで実行

こんなんでも大丈夫です外部サイトにHTTPが通るか確認用にScripts - Backgroundに貼り付けて実行したり出来ます

```
var request = new sn_ws.RESTMessageV2();
request.setEndpoint('https://example.com');
request.setHttpMethod('POST');

var response = request.execute();
gs.log(response.getStatusCode());
gs.log(response.getBody());
```