mablのDataTable APIでは、DataTableとDataTableの個別のシナリオをプログラムで管理できます。mablのDataTable APIで使用できるエンドポイントは、次のとおりです。
-
DataTableのエンドポイント
-
変数のエンドポイント
-
シナリオのエンドポイント
DataTable APIのユースケースには、以下のようなものがあります。
-
大規模なDataTableを一括更新する
-
DataTableへの変更を自動化するスクリプトを記述する
-
DataTableページに移動することなくDataTableを更新する
最初の作業
認証
リクエストを認証するには、mabl APIの概要ガイドに記載されている認証手順に従います。
mablリソースID
DataTable APIは、次のmablリソースIDをパラメーター値として使用します。
-
ワークスペースID
-
DataTable ID
-
シナリオID
特定のワークスペースIDまたはDataTable IDを取得するには、mablリソースIDに関するガイドを参照してください。
特定のシナリオIDを取得するには、DataTable APIまたは mabl CLI を使用します。
-
DataTable API: シナリオの取得 (Get Scenarios) エンドポイントを使用
-
mabl CLI:
mabl datatables describe
コマンドを使用
DataTableのエンドポイント
DataTableのエンドポイントを使用すると、DataTableの作成、クエリ、取得、更新、削除をプログラムで実行できます。
DataTableの取得 (Get DataTables)
特定のワークスペースのDataTableを取得します。
- GET
/dataTables?workspace_id={workspace_id}
デフォルトでは、このエンドポイントはワークスペースのすべてのDataTableを取得しますが、limit
パラメーターを指定して、1つの応答で返すDataTableの最大数を設定することもできます。その後の呼び出しでcursor
パラメーターを渡すことで、結果のページを追加取得できます。
DataTableの作成 (Create DataTable)
新しいDataTableを作成します。
- POST
/dataTables
リクエストボディで、ワークスペースID、DataTable名、シナリオ、変数、値を含むJSONオブジェクトを指定します。たとえば、次のリクエストボディでは、変数 "name"、"email"、"phone" を含む "New Users" というDataTableが作成されます。
{
"workspace_id": <ワークスペースIDを引用符で囲んで入力>,
"data_table": {
"name": "New Users"
},
"scenarios": [
{
"name": "Mike",
"variables": [
{
"name": "name",
"value": "Mike Richardson"
},
{
"name": "email",
"value": "mikey.r@example.com"
},
{
"name": "phone",
"value": "009555114343"
}
]
},
{
"name": "Steve",
"variables": [
{
"name": "name",
"value": "Steven King"
},
{
"name": "email",
"value": "stevie.k@example.com"
},
{
"name": "phone",
"value": "004555554235432"
}
]
}
]
}
1つのDataTableに対するシナリオの最大数は1000です。
DataTableの取得 (Get DataTable)
特定のDataTableに関するメタデータを取得します。
- GET
/dataTables/{datatable_id}
DataTableの更新 (Update DataTable)
DataTable名を更新します。
- PUT
/dataTables/{datatable_id}
リクエストボディで、更新後のDataTable名を含むJSONオブジェクトを指定します。たとえば、次のリクエストボディでは、DataTable名が"Existing users" に更新されます。
{
"name": "Existing users",
}
プランがトリガーされると、DataTableに関連付けられたテストの最新バージョンのDataTableが取得されます。プラン実行でDataTableの更新を行う場合、そのプランが終了するまでの間は、そのプラン内の後続のテストで更新後のデータが利用されることはありません。
変数のエンドポイント
変数のエンドポイントでは、DataTableの変数名の作成、クエリ、更新、削除をプログラムで実行できます。
変数名の取得 (Get variable names)
DataTableの現在の変数名を取得します。
- GET
/dataTables/{datatable_id}/variableNames
変数名の作成 (Create variable name)
新しい変数を作成してDataTableに追加します。既存のシナリオのデフォルト値を指定します。
- POST
/dataTables/{datatable_id}/variableNames
リクエストボディで、既存のシナリオのデフォルト値を指定します。たとえば、location
というDataTableの新しい変数とNew York
という値を追加する場合は、リクエストボディを次のように記述します。
{
"name": "location",
"default_value": "New York"
}
変数名の更新 (Update variable name)
DataTableの変数名を更新します。
- PATCH
/dataTables/{datatable_id}/variableNames
リクエストボディで、更新対象の変数名の値を "name"、新しい変数名の値を"new_name"として、JSONオブジェクトを指定します。たとえば、次のリクエストボディでは、変数名location
がcity
に更新されます。
{
"name": "location",
"new_name": "city"
}
変数名の削除 (Remove Variable Name)
変数名および関連付けられた値をDataTableから削除します。
- POST
/dataTables/{datatable_id}/variableNames/removeVariableName
リクエストボディで、削除する変数を含むJSONオブジェクトを指定します。たとえば、次のリクエストボディでは、変数'city'がDataTableから削除されます。
{
"name": "city",
}
シナリオのエンドポイント
シナリオのエンドポイントでは、DataTableの個別のシナリオの作成、クエリ、取得、更新、削除をプログラムで実行できます。
シナリオの取得 (Get Scenarios)
DataTableに関連付けられたシナリオ、変数値、シナリオIDを取得します。
- GET
/dataTables/scenarios?datatable_id={data_table_id}
シナリオの作成 (Create Scenario)
新しいシナリオを作成してDataTableに追加します。
- POST
/dataTables/{datatable_id}/scenarios
リクエストボディで、新しいシナリオ名と各変数の値を含むJSONオブジェクトを指定します。たとえば、次のリクエストボディでは、シナリオJane
を"New users" DataTableに追加し、3つの変数(full_name
、email
、phone
) の値を指定しています。
{"name": "Jane",
"variables": [
{
"name": "name",
"value": "Jane Doe"
},
{
"name": "email",
"value": "jdoe@example.com"
},
{
"name": "phone",
"value": "(999) 555-1111"
},
]
}
シナリオの取得 (Get Scenario)
特定のシナリオに関連付けられた変数値を取得します。
- GET
/dataTables/scenarios/{scenario_id}
シナリオの更新 (Update Scenario)
特定のシナリオの変数値を更新します。
- PUT
/dataTables/scenarios/{scenario_id}
リクエストボディで、シナリオ名と各変数の更新後の値を含むJSONオブジェクトを指定します。次のリクエストボディでは、"New users" DataTableでJane
シナリオのメールアドレスが更新されます。
{"name": "Jane",
"variables": [
{
"name": "name",
"value": "Jane Doe"
},
{
"name": "email",
"value": "janed@example.com"
},
{
"name": "phone",
"value": "(999) 555-1111"
},
]
}
シナリオの削除 (Remove Scenario)
シナリオIDを使って特定のシナリオを削除します。
- DELETE
/dataTables/scenarios/{scenario_id}