Set it up
Test Run Action
Add the secret and a workflow that runs the plan.
Mobile build
Upload the build and run the plan against it.
1
Configure Secrets
Add a secret to your GitHub repository (Settings → Secrets and variables → Actions). Create the token in Organization Settings → API Keys. Store it as
QATECH_API_TOKEN. Project-scoped keys are bound to one project. Org-scoped keys can see multiple projects and need projectShortId on API calls.2
Get the project short ID
Copy
proj_… from the project URL or Settings (for example proj_abc123).
Pass it as project_short_id on the action. See Understanding Different
IDs.3
Get the test plan short ID
Open the plan under Test
Plans and copy
pln_… from
the URL (for example pln_abc123). See Find the test plan short
ID.4
Create Workflow
Create
.github/workflows/qatech.yml:What works on GitHub
What this does not do
- The Test Run Action does not post a pull request review and does not pick tests from the diff.
- Envoyer is a different trigger for the same kind of plan. It is not required when you have GitHub Actions. See Envoyer.
Patterns
Run on pull requests
Test preview deployments
Test a mobile pull request build
Native apps have no preview URL. Build the APK or simulator.app in the workflow, upload it, then pass applicationBuildShortId in applications_config instead of url. How application builds work is on Mobile regression testing. The shared upload script is on API pull request testing.
app_gXeBl2, pln_abc123, proj_abc123, and the APK path. Set blocking: true if the workflow should fail when tests fail.
Native Android and iOS examples assume android/ or an .app already exist. Expo and React Native managed apps gitignore those folders. In CI, generate them before upload:
android/app/build/outputs/apk/debug/app-debug.apk. EAS preview APKs also work if you wait for the build and download the artifact. Still upload a simulator or emulator binary, not a store .ipa. Full build steps are in Preparing Your App Build.
iOS builds need a macOS runner and a simulator .app. Zip it, use "platform": "ios", and point BUILD_FILE at the archive. Full xcodebuild flags are in Mobile App Testing.
Persist environment custom headers
PasscustomHeaders on any environment in applications_config to persist host-pattern header rules (auth and protection bypass). The Test Run Action and Change Review Action both accept this field. The preview deployment example shows it in a full workflow.
customHeaders works with url, shortId, or applicationBuildShortId. Omit the field to leave stored headers unchanged. Pass [] to clear them. The Start Run API uses the same customHeaders shape on applications[].environment (array of application objects, not a map). See Environment custom headers.
Persist environment basic auth
PassbasicAuth next to customHeaders when the preview sits behind HTTP basic auth. Only hosts that match domains receive the credentials.
basicAuth follows the same rules as customHeaders: omit it to leave stored rules unchanged, pass [] to clear them, or pass a list to replace them. See Environment basic auth.