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.