Cloud Storage Settings
Configure external cloud storage for storing test artefacts such as screenshots, videos, and logs. By default, RobusTest stores artefacts internally. Adding a cloud storage engine offloads artefact storage to your preferred cloud provider.
Supported Providers
| Provider | Engine Key |
|---|---|
| Amazon S3 | aws |
| Google Cloud Storage | google |
Adding a Storage Engine
Storage engines are managed by the RobusTest administrator via the Admin Console → Settings → Cloud Storage.
Amazon S3
| Field | Description |
|---|---|
name |
Display name for this storage configuration |
desc |
Description |
engine |
Set to aws |
accessKeyID |
AWS IAM access key ID |
secretAccessKey |
AWS IAM secret access key |
region |
AWS region (e.g. us-east-1) |
bucketName |
S3 bucket name |
Note: The IAM user must have
s3:PutObjectands3:GetObjectpermissions on the target bucket.
Google Cloud Storage
| Field | Description |
|---|---|
name |
Display name for this storage configuration |
desc |
Description |
engine |
Set to google |
bucketName |
GCS bucket name |
type |
Service account type (service_account) |
project_id |
Google Cloud project ID |
private_key_id |
Service account private key ID |
private_key |
Service account private key (PEM format) |
client_email |
Service account email |
client_id |
Service account client ID |
auth_uri |
OAuth2 auth URI |
token_uri |
OAuth2 token URI |
auth_provider_x509_cert_url |
Auth provider cert URL |
client_x509_cert_url |
Client cert URL |
The Google fields correspond to the service account JSON key file downloaded from the Google Cloud Console. You can copy the values directly from that file.
Note: The service account must have the Storage Object Admin role (or
storage.objects.createandstorage.objects.get) on the bucket.
API Reference
Storage engines are managed via the following admin API endpoints.
List All Storage Engines
GET /admin/v3/storage/engines
Returns all configured storage engines.
Get a Storage Engine
GET /admin/v3/storage/engine/:id
Returns the configuration for a specific storage engine.
Create a Storage Engine
POST /admin/v3/storage/engine/:id
Request body (AWS S3):
{
"name": "My S3 Storage",
"desc": "Artifact storage on AWS",
"engine": "aws",
"engineDetails": {
"accessKeyID": "AKIAIOSFODNN7EXAMPLE",
"secretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
"region": "us-east-1",
"bucketName": "my-robustest-bucket"
}
}
Request body (Google Cloud Storage):
{
"name": "My GCS Storage",
"desc": "Artifact storage on GCP",
"engine": "google",
"engineDetails": {
"bucketName": "my-robustest-bucket",
"type": "service_account",
"project_id": "my-gcp-project",
"private_key_id": "key-id",
"private_key": "-----BEGIN RSA PRIVATE KEY-----\n...",
"client_email": "sa@my-gcp-project.iam.gserviceaccount.com",
"client_id": "123456789",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/..."
}
}
| Field | Description |
|---|---|
name |
Display name for this storage configuration |
desc |
Description |
engine |
Provider: aws or google |
engineDetails |
Provider-specific credentials (see tables above) |
Update a Storage Engine
PUT /admin/v3/storage/engine/:id
Same request body structure as Create.
Delete a Storage Engine
DELETE /admin/v3/storage/engine/:id
Linking Storage to a Project
Once a storage engine is added, it can be linked to a project via the Project Dashboard settings. Test artefacts generated by that project will then be stored in the configured cloud bucket.
