BigQueryインテグレーション
BigQueryインテグレーションを使えば、プランやテストが完了するとすぐに、結果、期間、ブラウザの種類などの実行の詳細が、設定された BigQuery データセットのテーブルに書き込めます。詳細については、エクスポート スキーマを参照してください。
BigQueryインテグレーション(統合)を使えば、プランやテストが完了するとすぐに、結果、期間、ブラウザの種類などの実行の詳細が、設定された BigQuery データセットのテーブルに書き込めます。詳細については、エクスポート スキーマを参照してください。
Enterpriseプランから利用可能
この機能はトライアル時とEnterpriseプランで利用可能です。
はじめに
BigQueryの統合には有料のGoogle Cloudアカウントが必要です
未払いのトライアル用Google Cloudアカウントで利用できるBigQuery Sandbox機能は、mablのBigQueryフィードエクスポートでは使用できません。これは、Streaming Inserts が BigQuery Sandbox でサポートされていないためです。
mabl BigQuery Export を使用するには、有料の GCP BigQuery アカウントにアップグレードしてください。
サービスアカウントの追加
mablがデータを配信するためには、配信先のGCPプロジェクトにサービスアカウントを追加する必要があります。
Google Cloud Projectのエイリアス
GCPでは、プロジェクトのエイリアス(プロジェクトIDと名前が異なる)を使用することがあります。
この場合は、アカウント名ではなくアカウントIDを使用してください。
gcloud project list
を実行すると、すべてのプロジェクトの詳細(Id、Name、Number)が表示されます。
-
配信先のGoogle Cloud Platformプロジェクトに
BigQuery Data Editor
としてServiceAccount に [email protected] を追加します(詳細)。 -
mablのウェブUIで、
Setting > Integrations
と進み、BigQuery Export
をクリックします。 -
エクスポート先のプロジェクト ID、データセット名、およびエクスポートテーブルのプレフィックスを追加します。
-
個人を特定できるデータの再編集を設定します。
可読性を高めるために、エクスポートでは、不透明な一意の識別子と、顧客が提供する name
プロパティの両方を使用してエンティティを参照します。
user
エンティティの場合、この名前はユーザーの電子メールです。ただし、顧客によってはこの情報を BigQuery で使用したくない場合もあります。Redact Personal Information Fields
を有効にすると、以降のすべての書き込みにおいて、これらのエントリが PII_REDACTED
という値に置き換えられます。

個人を特定できるフィールドを再編集する。
フィールドリダクションにフリーテキストは含まれないでください
PIIリダクションでは、以下のフィールドのみが除外されます。
trigger_user_email
テスト名のようなその他のフリーテキストフィールドは含まれます。
- 「保存」をクリックします。

BigQueryの「+ SETUP」ボタンをクリックしてスタートします。
BigQuery のテーブルレイアウトとパーティション
最初のテストをBigQueryエクスポートフィードで実行すると、指定されたデータセットと以下のテーブルが作成されます。
<table_prefix>_plan_run
<table_prefix>_journey_run
<table_prefix>_run_categorization
例えば、デフォルト値を使用した場合、以下のようなBigQueryテーブルが作成されます。
<your-project>:mabl_export.mabl_plan_run
<your-project>:mabl_export.mabl_journey_run
<your-project>:mabl_export.mabl_run_categorization
これらのテーブルは、列に基づいて、日ごとに分割されます。
<table_prefix>_plan_run
on columnstart_time
<table_prefix>_journey_run
on columnstart_time
<table_prefix>_run_categorization
on columncreated_time
テストデータを一定期間後に破棄したい場合は、BigQueryデータウェアハウスでパーティションの有効期限を設定することができます。
個人を特定できるデータの再編集
可読性を高めるために、エクスポートでは、不透明な一意の識別子と、顧客が提供する name
プロパティの両方を使用してエンティティを参照します。
user
エンティティの場合、この名前はユーザーの電子メールです。ただし、顧客によってはこの情報を BigQuery で使用したくない場合もあります。Redact Personal Information Fields
を有効にすると、以降のすべての書き込みにおいて、これらのエントリが PII_REDACTED
という値に置き換えられます。
テーブルスキーマの変更
テーブルスキーマの変更は稀で、発生しても追加的にしか行われません。
- 新規カラムのみ
- Friends of mablのSlackとメールリストでの告知
- アクティブな統合ユーザーの管理者に通知されます
テーブルスキーマ
# Table *_plan_run
統合ワークスペースで実行されたすべてのプランを含み、プラン実行の完了時に書き込まれます。
Column Name | Type | Description |
---|---|---|
id | String | plan run id |
plan_id | String | plan id |
plan_name | String | plan name |
plan_url | String | plan UI URL |
status | String | plan run status |
success | Boolean | overall plan run success |
start_time | Timestamp | plan run start time UTC |
stop_time | Timestamp | plan run stop time UTC |
runtime_millis | Integer | total plan run time milliseconds |
tags | String, Repeated | plan tags |
labels | String, Repeated | plan labels |
application_id | String | application under test id |
application_name | String | application under test name |
application_url | String | application under test UI URL |
starting_url | String | application under test starting url |
trigger_type | String | execution trigger type |
trigger_user_id | String | execution triggering user (optional) |
trigger_user_email | String | execution triggering user email (optional) |
deployment_id | String | execution trigger deployment id (optional) |
workspace_id | String | workspace name |
workspace_name | String | workspace name |
トリガータイプに関する注意事項
trigger_type
ディメンションには、以下のいずれかの値を指定します。
Trigger Type Value | Description | User Id/Email populated |
---|---|---|
SCHEDULE | Executed by timer/schedule trigger | No |
MANUAL | Executed manually from mabl web app or CLI (non-Deployment event) | Yes |
CUSTOMER_EVENT | Executed for Deployment API trigger | No |
INSIGHT | Executed in reaction to a mabl Insight | No |
Table *_journey_run
統合されたワークスペースで行われたすべてのテスト実行が含まれており、テスト実行の完了時に書き込まれます(親がまだ完了していないため、親のプラン実行の前に書き込まれることもあります)。
Column Name | Type | Description |
---|---|---|
id | String | test run id |
journey_id | String | test id |
journey_name | String | test name |
journey_url | String | test UI URL |
view_output_url | String | test run output UI URL |
status | String | test run status |
success | Boolean | overall test run success |
start_time | Timestamp | test run start time UTC |
stop_time | Timestamp | test run stop time UTC |
runtime_millis | Integer | total test run time milliseconds |
tags | String, Repeated | test tags |
labels | String, Repeated | test labels |
mabl_branch | String | mabl branch test ran against |
environment_id | String | test run environment |
environment_name | String | test run environment name |
environment_url | String | test run environment UI URL |
browser_type | String | browser under test type |
browser_version | String | browser under test version |
plan_id | String | plan id |
plan_name | String | plan name |
plan_url | String | plan UI URL |
plan_run_id | String | plan run id |
workspace_id | String | workspace id |
workspace_name | String | workspace name |
Table *_run_categorization
統合されたワークスペースのすべてのテスト実行失敗理由を含み、ユーザーが特定のテスト実行出力に失敗理由を設定したときに書き込まれます。
アップデート時のテストランごとの繰り返しのエントリー
テストランの失敗理由(
category
ディメンションに格納されている)が変更されるたびに、新しい行が書き込まれます。journey_run_id
でグループ化し、最新のcreate_time
値を取って、テストランに与えられた最新のカテゴリーを見つけます。失敗理由が 削除された場合、
category
はNULL
になります。
これは、ユーザーがテストランの失敗理由を削除したことを示します。
Column name | Type | Description |
---|---|---|
id | String | unique id |
category | String | failure reason (NULL on removed) |
journey_id | String | test id |
journey_name | String | test name |
journey_run_id | String | test run id |
created_time | Timestamp | grading time UTC |
start_time | Timestamp | test run start time UTC |
stop_time | Timestamp | test run stop time UTC |
grader_user_id | String | grading user id |
grader_user_email | String | grading user email (optional) |
workspace_id | String | workspace id |
workspace_name | String | workspace name |
tombstone | Boolean | Indicator that failure reason has been removed from test run. Will be true if test run no longer has a failure reason and category will be NULL . |
問い合わせの失敗理由
BigQuery のエクスポートはデータウェアハウス形式で行われるため、テーブルは更新/削除されず、追加されるだけです。
このため、障害理由のような変更可能な値は、変更されると複数の行が書き込まれることになります。したがって、最新の障害理由を判断するには、(1) 最後の更新を見つけ、(2) 一致する行を選択する必要があります。次のクエリでこれを行います。
使用するには、my-project.mabl_export.mabl_run_categorization
を、お使いのBigQueryシステムのテーブル名に置き換えてください。
SELECT
failure_reason.*
FROM (
-- Get latest update time
SELECT
journey_run_id,
MAX(created_time) AS last_updated_time
FROM
`my-project.mabl_export.mabl_run_categorization`
GROUP BY
journey_run_id ) AS latest_categories
JOIN `my-project.mabl_export.mabl_run_categorization` AS failure_reason
ON failure_reason.created_time = latest_categories.last_updated_time
-- Ignore removed failure reasons
WHERE failure_reason.category IS NOT NULL
Updated about 2 months ago