このページでは、合成 API モニタリングジョブの作成と構成に使用する API について説明します。

Create an API Monitoring Job

指定された JSON ペイロードを使用して新しい API モニタリングジョブを作成します。

Resource URL

POST /v1/synthetic/api/schedule

Request/Response Format

JSON

Example

{
  "scheduleRunConfigs": [
    {
      "rate": {
        "value": 15,
        "unit": "MINUTES"
      },
      "daysOfWeek": [
        "SUN",
        "WED",
        "THUR",
        "FRI",
        "MON",
        "TUES",
        "SAT"
      ],
      "timezone": "UTC"
    }
  ],
  "description": "jobUI",
  "apiMetadata": {
    "script": {
      "contentType": "JAVASCRIPT",
      "script": "// Javascript based API Monitoring Test\n\nconst assert = require(\"assert\");\n(async () => {\n    var response = await client.get(\"<URL>\");\n    assert.equal(response.statusCode, 200);\n    assert.equal(response.statusMessage, \"OK\");\n    for(var key in response.headers) {\n        console.log(`${key} : ${response.headers[key]}`);\n    }\n    assert.equal(response.body, \"response body\");\n})()"
    }
  },
  "browserCodes": [
    "API"
  ],
  "chromeVersions": [],
  "locationCodes": [
    "M50"
  ],
  "timeoutSeconds": 15,
  "appKey": "appKey",
  "composableConfig": {
    "numBeforeConfirmedError": 0,
    "resourceErrorDetection": {
      "ignoreWhen": {
        "resourceUrlContains": [],
        "resourceMimeType": []
      },
      "onlyWhen": {
        "resourceUrlContains": [],
        "resourceMimeType": []
      }
    }
  },
  "performanceCriteria": {
    "retestOnWarning": false,
    "retestOnCritical": false,
    "warningCriterion": [],
    "criticalCriterion": []
  }
}
JSON
{
  "_id": "job_id",
  "version": 1,
  "scheduleRunConfigs": [
    {
      "rate": {
        "value": 1,
        "unit": "MINUTES"
      },
      "daysOfWeek": [
        "WED",
        "FRI",
        "SUN",
        "SAT",
        "TUES",
        "MON",
        "THUR"
      ],
      "timezone": "UTC"
    }
  ],
  "userEnabled": true,
  "systemEnabled": true,
  "type": "ALL_BROWSERS",
  "rate": {
    "value": 15,
    "unit": "MINUTES"
  },
  "daysOfWeek": [
    "WED",
    "FRI",
    "SUN",
    "SAT",
    "TUES",
    "MON",
    "THUR"
  ],
  "timezone": "UTC",
  "description": "https://appdynamics.com",
  "appKey": "appKey",
  "scheduleMode": "NONE",
  "url": "https://appdynamics.com",
  "browserCodes": [
    "Chrome"
  ],
  "chromeVersions": [
    "86"
  ],
  "locationCodes": [
    "BOM",
    "M50"
  ],
  "failOnPageError": true,
  "captureVisualMetrics": true,
  "simulateMobileBrowser": false,
  "networkProfile": {
    "name": "Native",
    "downloadKbps": 5000,
    "uploadKbps": 1000,
    "roundtripTimeMillis": 28,
    "packetLossPercent": 0,
    "isDefault": false
  },
  "timeoutSeconds": 15,
  "state": {
    "lastFireTime": "2022-04-06T05:57:16.000Z",
    "nextFireTime": "2022-04-06T06:00:16.000Z"
  },
  "projectedUsage": {
    "projectedDailyRuns": 2880,
    "projectedMonthlyRuns": 86400
  },
  "performanceCriteria": {
    "retestOnWarning": false,
    "retestOnCritical": false,
    "criterion": []
  },
  "composableConfig": {
    "numBeforeConfirmedError": 0,
    "resourceErrorDetection": {
      "ignoreWhen": {
        "resourceUrlContains": [],
        "resourceMimeType": []
      },
      "onlyWhen": {
        "resourceUrlContains": [],
        "resourceMimeType": []
      }
    }
  },
  "created": "2022-04-05T05:30:36.426Z",
  "updated": "2022-04-05T05:30:36.426Z"
}
JSON

Request Parameters

パラメータ名Parameter Type説明(Description)必須リクエスト
scheduleRunConfigs-

なし
  rate-

なし
    value数字

分:1 ~ 60

時間:1 ~ 24

日:「ヌル」


いいえ
    unit文字列分、時間、または日
いいえ
  daysOfWeek文字列"SUN", "MON", "TUES", "WED", "THUR", "FRI", "SAT"
いいえ
  timeRange文字列
hh:mm AM/PM から hh:mm AM/PM までいいえ
  timezone文字列"UTC"GMT +/-hh:mmいいえ
  startTimeMillis文字列

いいえ
  endTimeMillis文字列

いいえ
description文字列ジョブ名ジョブの名前はい
url文字列"null" または監視する URL

監視する URL。

このパラメータを使用する場合、script パラメータの値は null である必要があります。

いいえ
script文字列

"null" または監視する python ベースの selenium スクリプト

スクリプト化されたジョブがある場合は、ユーザーフローまたは動作のシミュレーションに使用される python ベースの selenium スクリプトを指定します。

このパラメータを使用する場合、url パラメータの値は null である必要があります。

いいえ
apiMetadata文字列API モニタリングジョブのスクリプトオブジェクト
はい
  contentType文字列

はい
  script文字列

はい
browserCodes文字列

次の Synthetic 内部ブラウザコードを使用します。

  • Chrome:Chrome
  • Internet Explorer:IE11
  • Firefox:Firefox
  • モバイル:Chrome.DeviceEmulation

いいえ
chromeVersions文字列Chrome ブラウザバージョン 86
いいえ
locationCodes文字列

各エージェントロケーションの Synthetic 内部ロケーションコード。「Location Codes」を参照してください。


対応
timeoutSeconds番号

いいえ
appKey文字列アプリケーションキー

コントローラからアプリケーションキーを取得できます。

  1. [User Experience] > [API Monitoring] の順にアクセスします。
  2. コレクション名にカーソルを合わせ、コピーアイコンをクリックしてコレクションキーをコピーします。コレクションキーはアプリケーションキーです。
はい

networkProfile

文字列
「name」:「ネイティブ」、
「downloadKbps」:5000、
「uploadKbps」:1000、
「roundtripTimeMillis」:28、
「packetLossPercent」:0、
「isDefault」:false
いいえ
composableConfig-
このパラメータを使用して、以下を構成できます。
  • カスタム再試行
  • 可用性ルール
いいえ
  numBeforeConfirmedError番号0、1、2、3、5、または 10Number of retriesいいえ
  resourceErrorDetection-

なし
    ignoreWhen-

いいえ
      resourceUrlContains文字列カンマ区切りリストリソース URL のリストいいえ
      resourceMimeType文字列

いいえ
    onlyWhen-

いいえ
      resourceUrlContains文字列カンマ区切りリストリソース URL のリストいいえ
      resourceMimeType文字列

いいえ
  deviceEmulationProfile文字列

いいえ
  requestHeader文字列

いいえ
performanceCriteria-

なし
  retestOnWarningブールtrue または false警告イベントで再テストなし
  retestOnCriticalブールtrue または false重大なイベントで再テストいいえ
  warningCriterion文字列

いいえ
  criticalCriterion文字列

いいえ

Location Codes

クラウドのロケーションCodes
Azure
アムステルダムNET
サン アントニオSAN
メルボルンASV
トロントCAC
チェンナイSIC
AWS
ムンバイBOM
ダブリンDUB
フランクフルトFRA
サンパウロGRU
香港HON
アッシュバーンIAD
ソウルICN
ロンドンLON
ボードマンM50
MilanMIL
モントリオールMON
東京NRT
パリPAR
サンフランシスコSFO
シンガポールSIN
シドニーSYD

Response Status Codes

コード説明
200成功
401Unauthorized
402ジョブの制限を超えました
422検証の失敗
429スロットル
500内部サーバーエラーです