Skip to main content
Bugzy integrates into your CI/CD workflows through API triggers, GitHub deployment events, and scheduled task runs. This lets you automate test execution as part of your deployment pipeline.

Trigger methods

MethodUse caseConfiguration
API callTrigger tasks from any CI systemPOST /api/projects/{id}/tasks/{taskId}/run
GitHub deployment eventsPost-deploy verificationDashboard event triggers
Scheduled runsNightly regression, periodic smoke testsDashboard schedule configuration
GitHub webhook eventsTest on push or PRDashboard event triggers

API trigger

Trigger any Bugzy task programmatically from your CI/CD pipeline:
curl -X POST https://app.bugzy.ai/api/projects/{projectId}/tasks/{taskId}/run \
  -H "Authorization: Bearer $BUGZY_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"parameters": {"target": "staging"}}'

Response

{
  "success": true,
  "executionId": "exec_abc123"
}
The task executes asynchronously. Use the execution ID to poll for status or configure notifications via Slack/Teams to receive results.

GitHub Actions

Run tests on PR

name: Bugzy Tests
on:
  pull_request:
    types: [opened, synchronize]

jobs:
  bugzy-tests:
    runs-on: ubuntu-latest
    steps:
      - name: Trigger Bugzy test run
        run: |
          curl -X POST https://app.bugzy.ai/api/projects/${{ secrets.BUGZY_PROJECT_ID }}/tasks/run-tests/run \
            -H "Authorization: Bearer ${{ secrets.BUGZY_API_TOKEN }}" \
            -H "Content-Type: application/json" \
            -d '{"parameters": {"branch": "${{ github.head_ref }}"}}'

Post-deploy smoke tests

name: Post-Deploy Verification
on:
  deployment_status:
    types: [completed]

jobs:
  verify:
    if: github.event.deployment_status.state == 'success'
    runs-on: ubuntu-latest
    steps:
      - name: Trigger Bugzy verification
        run: |
          curl -X POST https://app.bugzy.ai/api/projects/${{ secrets.BUGZY_PROJECT_ID }}/tasks/verify-changes/run \
            -H "Authorization: Bearer ${{ secrets.BUGZY_API_TOKEN }}" \
            -H "Content-Type: application/json" \
            -d '{"parameters": {"environment": "staging", "url": "${{ github.event.deployment.payload.url }}"}}'

Deployment hooks

GitHub deployment events are processed automatically when you configure event triggers in the dashboard:
  1. Go to Dashboard > Projects > [Your Project] > Event Triggers
  2. Map deployment_status events to a Bugzy task (e.g., verify-changes or run-tests)
  3. When a deployment succeeds, Bugzy receives the webhook and executes the mapped task
This works with any deployment tool that creates GitHub deployments (Vercel, Netlify, AWS, custom pipelines).

Scheduled runs

Configure recurring test execution from the dashboard:
1

Open task schedule

Go to Dashboard > Projects > [Your Project] > Schedules.
2

Create schedule

Select a task, set the cron expression, and configure parameters.
3

Activate

Enable the schedule. Bugzy will execute the task at the specified intervals.

Common schedules

ScheduleCronTaskPurpose
Nightly regression0 2 * * *run-testsFull test suite against staging
Hourly smoke0 * * * *run-testsCritical path smoke tests on production
Weekly test generation0 9 * * 1generate-test-planRefresh test plans based on recent changes

Event trigger mapping

The event trigger system maps incoming webhook events to agent tasks:
Source eventAgent taskOutcome
Push to mainrun-testsRegression tests on latest code
PR opened/updatedrun-testsTargeted tests for PR changes
Deployment succeededverify-changesPost-deploy verification
Jira “Ready for QA”verify-changesRe-test after bug fix
Configure mappings in Dashboard > Event Triggers with optional filters for branch patterns, file paths, or labels.

Troubleshooting

API calls returning 401 — Verify your BUGZY_API_TOKEN is valid and has access to the target project. Tasks not triggering on deployment — Check that event triggers are configured in the dashboard and the deployment creates a GitHub deployment event (not all CI tools do this by default). Scheduled runs not executing — Verify the schedule is enabled in the dashboard and the cron expression is correct.