Step 1: Install the CLI
Step 2: Authenticate
revyl auth login --api-key and paste a key from Account → API Keys instead.
For automated environments, set
REVYL_API_KEY as an environment variable
instead. See CI/CD Integration.Step 3: Initialize your project
- Detects your build system (Expo, Gradle, Xcode, Flutter, React Native)
- Creates
.revyl/config.yaml - Walks you through creating apps and uploading a build
- Can continue into GitHub PR automation after authentication
Step 4: Upload a build
Ifrevyl init didn’t upload a build for you, do it now:
Default debug builds work everywhere. If you’re uploading a custom build
(release APK,
.ipa, narrowed abiFilters), see Build Artifact
Requirements.Step 5: Write a YAML test
Create a file calledlogin-smoke.yaml:
test.metadata.name— must be unique in your orgtest.metadata.platform—iosorandroidtest.build.name— must match a Revyl app name exactly. Check withrevyl app list.test.blocks— ordered list of steps (intent-level instructions, assertions in separatevalidationblocks)
Step 6: Create the test
.revyl/config.yaml; it never creates or migrates project configuration. If
the file is missing, first run revyl config pull for a project already
registered with Revyl, or revyl init -y for a new local project. For a legacy
file, run revyl config migrate --check, then revyl config migrate.
The create command then checks the YAML with backend validation, copies it to
.revyl/tests/login-smoke.yaml, and creates the remote test.
Step 8: Run the test
Useful run flags
No-wait, JSON, GitHub Actions, CI, SSH, and other headless runs never open a
browser.
Step 9: Iterate
Edit.revyl/tests/login-smoke.yaml, then push and re-run:
YAML as Source of Truth
For teams that want test definitions version-controlled alongside code.Commit .revyl/tests/ to git
The .revyl/tests/ directory is not gitignored by default. These YAML files are your source of truth — commit them.