-
Notifications
You must be signed in to change notification settings - Fork 0
Tutorial GitHub Integration
Connect a product repository as the requirement source: fetch specs/issues, run the pipeline, comment on PRs, and optionally auto-run via webhooks.
Deep docs: Tutorial 04 · Test Authoring.
Different from external CI? This tutorial uses the agent against GitHub as a spec source. To gate any project’s pipeline with the published container/Action (no agent checkout), see Tutorial: External CI/CD.
# Recommended
gh auth login
# Or in .env
GITHUB_TOKEN=ghp_...Needs Contents: Read; add Pull requests: Write for PR comments. Verify: gh auth token.
# .env — owner/repo, not a URL
ZYVOR_PRODUCT_REPO=ssahani/hypersdk-web
ZYVOR_BASE_URL=https://staging.example.comzyvor-qa run --source github --spec docs/specs/my-feature.md
# Blob / raw URLs also work
zyvor-qa run --source github \
--spec https://github.com/owner/repo/blob/main/docs/specs/my-feature.mdFile lands in tests/fixtures/fetched/, then parse → generate → execute → report.
zyvor-qa run --source github| Source | Saved as |
|---|---|
Open issues labeled qa, user-story, feature-spec, or enhancement
|
issue-<n>.md |
Every .md in docs/specs/
|
spec-*.md |
CHANGELOG.md, README.md
|
spec-*.md |
Tip: treat qa-labeled issues as your test backlog.
zyvor-qa run --source github --spec docs/specs/my-feature.md --pr-number 42Posts pass/fail, optional LLM summary, failure analysis, coverage hints. The PR body is also parsed as a spec; changed files scope coverage discovery.
# .env
GITHUB_WEBHOOK_SECRET=<random-string>
zyvor-qa serve --port 8080Product repo → Settings → Webhooks → Add webhook:
| Field | Value |
|---|---|
| Payload URL | https://<host>:8080/webhook/github |
| Content type | application/json |
| Secret | same as GITHUB_WEBHOOK_SECRET
|
| Events |
push, pull_request, (+ repository_dispatch for deploys) |
| Event | Behavior |
|---|---|
pull_request |
Full pipeline; comment on PR |
push |
Full pipeline; changed files scope coverage |
repository_dispatch (staging-deployed) |
Post-deploy pipeline |
Local check:
curl -s http://localhost:8080/health # {"status":"ok"}
# Tunnel (ngrok / cloudflared / ssh -R) for real GitHub deliveryFire post-deploy from your deploy job:
gh api repos/$ZYVOR_PRODUCT_REPO/dispatches \
-f event_type=staging-deployed \
-F 'client_payload[pr_number]=42'zyvor-qa generate --source github --spec docs/specs/my-feature.md
git diff tests/generated/- Tutorial: External CI/CD — reusable Action / container in your repo
- Tutorial: Agent CI & Kubernetes — this agent’s own smoke/post-deploy workflows
- Coverage expansion: Tutorial 05
Start: Home · Getting Started · Tutorials · Workflows · Admin · Dashboard
Tutorials: Spec→Test · NL · GitHub · Coverage · Visual · Notify · External CI · Agent CI · zyvor.dev · Specs
Build: Architecture · Config · Authoring · Structure · Multi-browser · Rust
Actions: Mission Control · Journeys · API/Auth · Probes · Schedules · Ask Zyvor · Autofix
Ship: API · Webhooks · Security · CI/CD · Deploy · Releases · Enterprise
More: Troubleshoot · FAQ · Glossary · Contributing · Demos · Docs
Guides