oyacloud
v1.2.2
Published
OyaCloud CLI for uploading test results from CI/CD pipelines and standalone executions
Maintainers
Readme
oyacloud
OyaCloud CLI for uploading test results from CI/CD pipelines and local runs.
Installation
npm install -g oyacloudGetting started
Create your project — Log in to app.oyaplus.com, go to Projects, and click New project. Your project API key is generated automatically.
Save your key (optional — skip if you'll always pass
--api-key):
oyacloud config set-key YOUR_PROJECT_KEY- Push your first results:
oyacloud upload \
--framework playwright_ts \
--environment staging \
--results-dir ./playwright-reportUsage
oyacloud upload \
--framework playwright_ts \
--environment staging \
--results-dir ./playwright-report \
--api-key YOUR_PROJECT_KEYSupported frameworks
| Value | Framework |
|-------|-----------|
| playwright_ts | Playwright (TypeScript/JavaScript) |
| testng_java | TestNG (Java) |
Options
| Option | Required | Description |
|--------|----------|-------------|
| --framework | Yes | Test framework (see table above) |
| --environment | Yes | Environment under test (e.g. staging, qa, prod) |
| --results-dir | Yes | Directory containing test result files |
| --api-key | No* | Project API key (*skip if set via oyacloud config set-key) |
| --branch | No | Branch name |
| --commit | No | Commit SHA |
| --pr-number | No | PR or MR number |
| --target-branch | No | Target branch for PR builds (e.g. main) |
| --author | No | Author or user who triggered the run |
| --suite-name | No | Suite name label |
CI/CD Integration
Pass your application's branch and commit — not the test automation repo's.
PR build
# GitHub Actions
- name: Upload test results
run: |
oyacloud upload \
--framework playwright_ts \
--environment staging \
--results-dir ./playwright-report \
--branch ${{ github.head_ref }} \
--commit ${{ github.event.pull_request.head.sha }} \
--pr-number ${{ github.event.pull_request.number }} \
--target-branch ${{ github.base_ref }} \
--api-key ${{ secrets.OYACLOUD_API_KEY }}// Jenkins
sh """
oyacloud upload \
--framework playwright_ts \
--environment staging \
--results-dir ./playwright-report \
--branch ${APP_BRANCH} \
--commit ${APP_COMMIT} \
--pr-number ${APP_PR_NUMBER} \
--target-branch ${APP_TARGET_BRANCH} \
--api-key ${OYACLOUD_API_KEY}
"""Post-merge build
# GitHub Actions
- name: Upload test results
run: |
oyacloud upload \
--framework playwright_ts \
--environment staging \
--results-dir ./playwright-report \
--branch ${{ github.ref_name }} \
--commit ${{ github.sha }} \
--api-key ${{ secrets.OYACLOUD_API_KEY }}Regression / nightly build
No branch or commit needed — just the environment you are testing against:
# GitHub Actions (scheduled)
- name: Upload test results
run: |
oyacloud upload \
--framework playwright_ts \
--environment prod \
--results-dir ./playwright-report \
--api-key ${{ secrets.OYACLOUD_API_KEY }}Multi-framework pipeline
A single project key works for all frameworks in the same pipeline:
# JUnit unit tests
oyacloud upload \
--framework testng_java \
--environment staging \
--results-dir ./junit-results \
--api-key ${{ secrets.OYACLOUD_API_KEY }}
# Playwright UI tests
oyacloud upload \
--framework playwright_ts \
--environment staging \
--results-dir ./playwright-report \
--api-key ${{ secrets.OYACLOUD_API_KEY }}Build type detection
OyaCloud automatically classifies each build — no configuration needed:
| What you pass | Detected as |
|--------------|-------------|
| --pr-number | PR build |
| --commit + --branch matching your base branch | Post-merge build |
| No commit (regression / nightly) | Regression build |
Project API keys
Each project has its own API key. Generate it when you create the project, or from Projects → Configure → API Key.
Project keys are scoped — they identify which project the results belong to, so no --project flag is needed in the CLI.
To rotate a key: go to Projects → Configure → API Key → Rotate key. Update your pipelines before rotating as the old key stops working immediately.
Commands
oyacloud config set-key <apiKey>
Save API key locally. Run once after getting your project key.
oyacloud config show
Show current saved configuration (API key is masked).
Help
oyacloud --help
oyacloud upload --helpLicense
MIT
