このページでは、MagicPod Web APIを使用して古い一括実行結果からなるべく詳細な情報を取得する方法を説明します。以降の手順に従うことで、2025年10月から有効になるデータ保存期間ポリシーによって削除の対象となるような古いテスト結果も保存しておくことができます。 このページをお読みになる前にMagicPod Web APIの基本的な使い方について確認しておくことをおすすめします。
注意点
こちらのページに記載されているとおり、MagicPod Web APIには呼び出し回数の制限があります。適切に間隔を空けてAPIを呼び出すようにしてください。
実行例
この章では、実際のAPIの呼び出し方法を例を挙げながら説明します。 <ORGANIZATION_NAME>、 <PROJECT_NAME> 、 <MAGICPOD_API_TOKEN> についてはお使いの環境に合わせて読み替えてください。
一括実行結果のリストを取得する
下の例は、最新の20件の一括実行結果を取得します。
curl -X 'GET' \ '<https://app.magicpod.com/api/v1.0/><ORGANIZATION_NAME>/<PROJECT_NAME>/batch-runs/?count=20' \ -H 'accept: application/json' \ -H 'Authorization: Token <MAGICPOD_API_TOKEN>'
min_batch_run_number もしくはmax_batch_run_number を使うと、指定した範囲の一括実行結果を取得できます。
# 1〜20を取得 curl -X 'GET' \ '<https://app.magicpod.com/api/v1.0/><ORGANIZATION_NAME>/<PROJECT_NAME>/batch-runs/?count=20&min_batch_run_number=1' \ -H 'accept: application/json' \ -H 'Authorization: Token <MAGICPOD_API_TOKEN>' # 1981〜2000を取得 curl -X 'GET' \ '<https://app.magicpod.com/api/v1.0/><ORGANIZATION_NAME>/<PROJECT_NAME>/batch-runs/?count=20&max_batch_run_number=2000' \ -H 'accept: application/json' \ -H 'Authorization: Token <MAGICPOD_API_TOKEN>'
レスポンスには、各一括実行の終了時刻を示す finished_at が含まれます。この値を確認することで、どの一括実行結果がデータ保存期間ポリシーによって削除されるのかを知ることができます。
{
"batch_run_number": 2000,
"test_setting_name": "[Daily] Android",
"branch_name": "main",
"status": "succeeded",
"status_number": 1,
"started_at": "2023-01-01T18:17:42Z",
**"finished_at": "2023-01-01T18:54:45Z",**
"duration_seconds": 2223.041385,
"test_cases": {
"succeeded": 30,
"total": 30
},
"url": "<https://app.magicpod.com/><ORGANIZATION_NAME>/<PROJECT_NAME>/batch-run/2000/",
"executed_via": "web_api",
"executed_by": "user-x"
}
一回の一括実行結果を取得する
前の節で取得した batch_run_numberを使って一回分の一括実行の結果を取得できます。失敗やメモの情報を取得するには、パラメータに errors=true¬e=true を指定してください。
curl -X 'GET' \ '<https://app.magicpod.com/api/v1.0/><ORGANIZATION_NAME>/<PROJECT_NAME>/batch-run/20000/?errors=true¬e=true' \ -H 'accept: application/json' \ -H 'Authorization: Token <MAGICPOD_API_TOKEN>'
個々のテストケースの実行結果は、results 以下に出力されます。ここでは、テストケースのステータス(成功・失敗など)、失敗メッセージ、実行時間などを確認できます。もしこういった基本的な情報で十分であれば、ここでデータ取得を完了しても大丈夫です。
{
"organization_name": "<ORGANIZATION_NAME>",
"project_name": "<PROJECT_NAME>",
"batch_run_number": 2000,
...
"results": [
{
"order": 1,
"test_case": {
"number": 11,
"name": "SmokeTest",
"url": "<https://app.magicpod.com/><ORGANIZATION_NAME>/<PROJECT_NAME>/11/",
"step_count": 3
},
"number": 11,
"status": "failed",
"started_at": "2023-01-01T19:02:54Z",
"finished_at": "2023-01-01T19:07:07Z",
"duration_seconds": 252.253078,
"data_patterns": null,
"note": null,
"errors": [
{
"step_number": "12",
"failure_type": "failure",
"message": "UI element \\"Finish\\" is not found (id=finish)",
"status": null,
"loop_number": ""
}
],
"test_run_log_url": "<https://app.magicpod.com/api/v1.0/><ORGANIZATION_NAME>/<PROJECT_NAME>/batch-run/2000/1/1/1/test-run-log/",
"test_engine_log_url": "<https://app.magicpod.com/api/v1.0/><ORGANIZATION_NAME>/<PROJECT_NAME>/batch-run/2000/1/1/1/test-engine-log/",
"device_log_url": "<https://app.magicpod.com/api/v1.0/><ORGANIZATION_NAME>/<PROJECT_NAME>/batch-run/2000/1/1/1/device-log/"
},
(オプション) テスト結果のログを取得する
前の節で取得した結果の中の **_url というプロパティにアクセスすることで、テスト結果に関連するログを取得できます。ログは3種類存在します。 test_run_log と test_engine_log はほとんどすべてのテスト結果に存在しますが、 device_log は明示的に設定していなければ存在しません。
ログをファイルとして保存する際には、初期値を使うことも指定の名前で保存することもできます。
# test_run_logをtest_run.logというファイル名(初期値)で保存する curl -X 'GET' \ '<https://app.magicpod.com/api/v1.0/><ORGANIZATION_NAME>/<PROJECT_NAME>/batch-run/2000/1/1/1/test-run-log/' \ -H 'accept: application/json' \ -H 'Authorization: Token <MAGICPOD_API_TOKEN>' -J -O # test_engine_logを指定したファイル名で保存する curl -X 'GET' \ '<https://app.magicpod.com/api/v1.0/><ORGANIZATION_NAME>/<PROJECT_NAME>/batch-run/2000/1/1/1/test-engine-log/' \ -H 'accept: application/json' \ -H 'Authorization: Token <MAGICPOD_API_TOKEN>' --output <FILE_NAME>
(オプション) 一括実行のスクリーンショットを取得する
一括実行に含まれるスクリーンショットをダウンロードすることもできます。詳細な取得方法は、こちら をごらんください。