Docs

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:PutObject and s3:GetObject permissions 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.create and storage.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.