Knowledge BaseFrom GitHub to Datadog: How alt.qa Plugs Into Your Existing Stack in 15 MinutesGUIDE

From GitHub to Datadog: How alt.qa Plugs Into Your Existing Stack in 15 Minutes

AR
Alex Rivera · Feb 2026 · 14 min read

TL;DR

alt.qa integrates into your existing workflow without rip-and-replace. Connect to GitHub, GitLab, or Jenkins in minutes. Real-time results flow to Slack, Jira tickets auto-open on failures, and Datadog/PagerDuty get native event streams. This guide shows exactly how, with copy-paste code examples for each platform.

The Integration Problem

You've already built your DevOps stack. CI/CD pipeline? Check. Monitoring in Datadog? Check. Incident management in PagerDuty? Check. Jira for tracking work? Check. Slack for team comms? Check. The last thing you want is another tool that breaks your workflow or adds friction.

That's why alt.qa was designed to be a bridge, not a replacement. It plugs into the infrastructure you already have, GitHub Actions, GitLab CI, Jenkins, and feeds results into the systems your team actually uses. No context switching. No new dashboards to learn. Quality and reliability data flows into Datadog alongside your other metrics. Incidents trigger PagerDuty alerts just like everything else. Failures auto-create Jira tickets. Slack gets notified in channels you already watch.

This guide walks you through 15 minutes of setup that ties everything together. Whether you're on GitHub, GitLab, Jenkins, or some hybrid, you'll find the integration path that fits your stack.

What You'll Need

  • An alt.qa account (free tier is fine to get started)
  • An API token from alt.qa (generated in Settings)
  • Access to your CI/CD platform (GitHub, GitLab, or Jenkins)
  • Optional: Slack, Jira, Datadog, PagerDuty credentials for downstream integrations

Start with the CI/CD layer, that's the hardest part. Everything downstream becomes copy-paste.

Part 1: CI/CD Integration (Pick Your Platform)

Option A: GitHub Actions

GitHub Actions is the easiest entry point. If you're using GitHub, this is a 3-minute setup.

Step 1: Generate your alt.qa API token

  1. Log in to alt.qa dashboard
  2. Go to Settings → API Tokens
  3. Click "New Token, " name it "GitHub Actions"
  4. Copy the token value

Step 2: Add the token to GitHub Secrets

  1. In your GitHub repo, go to Settings → Secrets and variables → Actions
  2. Click "New repository secret"
  3. Name: ALTQA_TOKEN
  4. Value: paste your token
  5. Save

Step 3: Add the workflow file

Create .github/workflows/altqa.yml:

name: alt.qa Quality & Reliability Scan
on:
 push:
 branches: [main, develop]
 pull_request:
 branches: [main]

jobs:
 altqa:
 runs-on: ubuntu-latest
 steps:
 - uses: actions/checkout@v3

 - name: Run alt.qa Scan
 uses: altqa/scan-action@v1
 with:
 token: ${{ secrets.ALTQA_TOKEN }}
 project-id: your-project-id

 - name: Upload Results
 if: always()
 uses: altqa/upload-results@v1
 with:
 token: ${{ secrets.ALTQA_TOKEN }}
 build-id: ${{ github.run_id }}
 results-file: altqa-results.json

Done. Push this file to your repo. On your next PR or push to main, alt.qa runs automatically. Results appear in the GitHub checks UI and in the action logs.

GitHub tip: Branch protection rules

Go to Settings → Branches → Add rule for "main." Under "Require status checks to pass, " check "altqa/scan." Now PRs can't merge without passing alt.qa. This is your first enforcement gate.

Option B: GitLab CI

GitLab CI uses a similar approach via .gitlab-ci.yml.

Step 1: Add your token to GitLab CI/CD variables

  1. Go to Settings → CI/CD → Variables
  2. Add ALTQA_TOKEN with your token value
  3. Mark it as protected (so it only runs on protected branches)

Step 2: Update your .gitlab-ci.yml

stages:
 - test
 - quality

altqa_scan:
 stage: quality
 image: altqa/cli:latest
 script:
 - altqa scan --token $ALTQA_TOKEN --project myproject
 - altqa upload-results --build-id $CI_PIPELINE_ID
 artifacts:
 reports:
 junit: altqa-results.xml
 allow_failure: false
 only:
 - merge_requests
 - main

Push and merge. GitLab will run alt.qa on the next pipeline. Results show in the merge request UI under "Quality".

Option C: Jenkins

Jenkins is more flexible but requires a plugin.

Step 1: Install the alt.qa Jenkins plugin

  1. Go to Manage Jenkins → Manage Plugins
  2. Available tab → search for "alt.qa"
  3. Check the box, click Install without restart
  4. Restart Jenkins

Step 2: Add credentials

  1. Manage Jenkins → Credentials → System
  2. Add Credentials → Kind: "Secret text"
  3. Secret: your alt.qa token, ID: altqa-token

Step 3: Update your Jenkinsfile

pipeline {
 agent any

 environment {
 ALTQA_TOKEN = credentials('altqa-token')
 }

 stages {
 stage('Checkout') {
 steps {
 checkout scm
 }
 }

 stage('alt.qa Scan') {
 steps {
 script {
 sh '''
 docker run --rm \
 -e ALTQA_TOKEN=$ALTQA_TOKEN \
 -v $(pwd):/workspace \
 altqa/cli:latest \
 altqa scan --project myproject
 '''
 }
 }
 }
 }

 post {
 always {
 publishHTML([
 reportDir: 'altqa-results',
 reportFiles: 'index.html',
 reportName: 'alt.qa Report'
 ])
 }
 }
}

Commit and Jenkins will pick it up on the next build.

Part 2: Slack Integration (5 minutes)

Once CI/CD is running, route results to Slack so the team sees them in real-time.

Step 1: Create a Slack app

  1. Go to https://api.slack.com/apps/new
  2. Choose "From scratch"
  3. Name: "alt.qa", Workspace: your workspace
  4. Click Create

Step 2: Configure incoming webhooks

  1. In the app, go to "Incoming Webhooks"
  2. Turn on "Activate Incoming Webhooks"
  3. Click "Add New Webhook to Workspace"
  4. Select the channel (e.g., #quality, #devops)
  5. Copy the webhook URL

Step 3: Link to alt.qa

  1. alt.qa dashboard → Settings → Integrations → Slack
  2. Paste the webhook URL
  3. Choose notification rules:
    • Notify on every scan (verbose but Practical)
    • Notify only on failures (less noise, good for small teams)
    • Notify on SLA breaches (ideal for production)
  4. Save

Next time a scan runs, Slack gets a notification with results, pass/fail status, and a link to the detailed report. You can thread reactions to drill into failures.

Slack Advanced: Thread replies

alt.qa can post detailed results as threaded replies to the main notification. This keeps your channel clean while preserving full context. Enable this in the integration settings under "Thread mode."

Part 3: Jira Integration (5 minutes)

Auto-create tickets for failures so they don't slip through cracks.

Step 1: Generate a Jira API token

  1. Log in to Atlassian account management
  2. API tokens → Create API token
  3. Name it "alt.qa"
  4. Copy the token

Step 2: Link to alt.qa

  1. alt.qa dashboard → Settings → Integrations → Jira
  2. Jira URL: https://yourcompany.atlassian.net
  3. Username: your Jira email
  4. Token: paste the API token
  5. Default Project: e.g., "QA" or "INFRA"
  6. Issue type: "Bug" or "Task" (depending on your workflow)

Step 3: Configure auto-create rules

  1. Still in Jira settings, check "Auto-create issues on severity >= High"
  2. Set assignee to your QA lead or the team
  3. Add label "alt.qa-auto" so you can filter them
  4. Save

Now when alt.qa detects a high-severity issue, it auto-creates a Jira ticket. You get an email, it appears in your backlog, and the cycle closes: code → alt.qa scan → Jira ticket → engineer fixes → PR → scan passes → ticket closes.

Part 4: Datadog Integration (5 minutes)

Send all alt.qa metrics to Datadog so you have a unified observability layer.

Step 1: Get your Datadog API key

  1. Log in to Datadog
  2. Organization Settings → API Keys
  3. Create a new key named "alt.qa"
  4. Copy it

Step 2: Configure alt.qa to emit metrics

# In your CI/CD environment, set:
export DD_API_KEY="your-datadog-api-key"
export DD_SITE="datadoghq.com" # or datadoghq.eu if in EU

# Then update your altqa scan command:
altqa scan \
 --token $ALTQA_TOKEN \
 --project myproject \
 --datadog-enabled \
 --dd-service "myservice" \
 --dd-version $CI_COMMIT_SHA

Step 3: Verify in Datadog

  1. Datadog → Metrics Explorer
  2. Search for altqa.*
  3. You should see metrics like:
    • altqa.scan.duration - how long the scan took
    • altqa.issues.count - total issues found
    • altqa.issues.critical - critical-severity issues
    • altqa.coverage - code coverage percentage

Now you can build Datadog dashboards that show quality metrics alongside performance, infra, and business metrics. Create monitors that alert PagerDuty when quality scores drop.

Datadog Dashboard Example

Create a "Quality & Reliability" dashboard in Datadog with 4 cards: (1) alt.qa scan duration over time, (2) issue count by severity, (3) code coverage trend, (4) comparison of main branch vs. PRs. This becomes your single pane of glass for quality health.

Part 5: PagerDuty Integration (3 minutes)

For critical production issues, escalate directly to on-call engineers.

Step 1: Create a PagerDuty integration key

  1. PagerDuty → Services → Your service
  2. Integrations tab → Add integration
  3. Type: "Events API v2"
  4. Copy the integration key

Step 2: Link to alt.qa

  1. alt.qa → Settings → Integrations → PagerDuty
  2. Integration key: paste it
  3. Alert on severity: "Critical"
  4. Save

Step 3: Test it

Trigger a scan manually (or wait for one to fail). If it finds a critical issue, PagerDuty creates an incident, notifies your on-call engineer, and escalates if not acknowledged.

Part 6: Custom Webhooks (Optional, but powerful)

If you have custom internal tools or monitoring systems, alt.qa can POST results to any webhook endpoint.

Configure a generic webhook:

altqa scan \
 --token $ALTQA_TOKEN \
 --project myproject \
 --webhook-url "https://internal-metrics.company.com/altqa" \
 --webhook-method POST

alt.qa will POST a JSON payload like:

{
 "scan_id": "scan_abc123",
 "project": "myproject",
 "status": "failed",
 "timestamp": "2026-02-15T14:22:00Z",
 "issues": {
 "critical": 2,
 "high": 5,
 "medium": 12,
 "low": 8
 },
 "coverage": 87.3,
 "duration_ms": 1250,
 "branch": "main",
 "commit": "f2a3b8c9"
}

Your system can then trigger custom logic, update an internal dashboard, send an email to compliance, update a scorecard, etc.

Full Integration Flow (Visual)

Here's what the complete pipeline looks like once everything is connected:

Developer pushes code → GitHub/GitLab/Jenkins picks it up → Runs alt.qa scan → Results flow to: (1) Slack notification, (2) Jira ticket if needed, (3) Datadog metrics, (4) PagerDuty alert if critical, (5) Custom webhook. The developer gets immediate feedback in the platform they're already using.

Troubleshooting Common Issues

Issue: "Token is invalid" error

Make sure your API token is correct and hasn't expired. Tokens expire after 90 days by default. Regenerate it in Settings → API Tokens.

Issue: Slack webhook not receiving messages

Check that the webhook URL is correct and the Slack app has permissions to post to that channel. Test by using curl to POST to the webhook URL manually.

Issue: Jira tickets have wrong project

Verify the project key in your Jira settings. It's usually all-caps, like "QA" or "INFRA". Check Jira → Projects to confirm.

Issue: Datadog metrics not showing up

Confirm your DD_API_KEY and DD_SITE are set correctly. Check Datadog → Logs to see if there are any auth errors from the alt.qa agent.

Issue: PagerDuty not triggering

Verify the integration key and make sure the severity threshold is set correctly. Critical issues won't alert if your threshold is set to "Blocker" or similar.

Best Practices

1. Start with GitHub Actions / GitLab CI, then add integrations. CI/CD is the foundation. Once that's working, adding Slack and Jira is straightforward.

2. Use notification rules to avoid alert fatigue. Notify on failures, not every success. Or use "only on production" mode for mature projects.

3. Keep tokens in environment variables or secrets managers. Never commit them to git. Use your CI/CD platform's secret management (GitHub Secrets, GitLab CI variables, Jenkins credentials).

4. Tag all auto-created Jira tickets. Use a consistent label like "alt.qa-auto" so you can filter, report on, and analyze them separately from manual tickets.

5. Set up a Datadog monitor for quality SLOs. Create a monitor that fires if code coverage drops below 80% or if critical issues spike. This turns quality from a check into a tracked metric.

6. Review integration logs monthly. Check that webhooks are firing, tokens haven't expired, and downstream systems are receiving data.

What's Next

Once your integrations are live, you have the infrastructure in place to:

  • Build quality dashboards that executive stakeholders can see
  • Create feedback loops so engineers see the impact of their changes immediately
  • Establish quality SLOs tied to business metrics
  • Automate enforcement, code that doesn't meet standards can't merge
  • Correlate quality issues with incidents and customer complaints

The goal isn't to add more tools. It's to weave quality and reliability into the workflow you already have. Once alt.qa is plugged in, it becomes part of the fabric, invisible, but essential.

Ready to Integrate?

alt.qa works with your stack in minutes. Start with GitHub Actions, GitLab CI, or Jenkins, then add Slack, Jira, Datadog, and PagerDuty. Full docs and examples are on GitHub.

Try alt.qa Free →
Alex Rivera Alex Rivera writes about AI quality engineering at alt.qa, built by TheWorkCompany.