GitHub Actions Example

Run PulseRadar from any repo in 2 minutes.

Fork pulseradar/example-workflow, drop one file in your repo, add two secrets — your build pings PulseRadar on every push.

Demo status
Install PulseRadar on GitHub

One-command setup

Copy .github/workflows/pulseradar-demo.yml from pulseradar/example-workflow into your repo, then add two secrets:

No other config.

Workflow file

This is the exact file that ships in pulseradar/example-workflow:

name: pulseradar-demo

on: [push, workflow_dispatch]

jobs:
  ping:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Notify PulseRadar
        env:
          PULSERADAR_API_URL: ${{ secrets.PULSERADAR_API_URL }}
          PULSERADAR_API_KEY: ${{ secrets.PULSERADAR_API_KEY }}
        run: |
          curl -fsS -X POST "$PULSERADAR_API_URL/api/heartbeat" \
            -H "Content-Type: application/json" \
            -H "Authorization: Bearer $PULSERADAR_API_KEY" \
            -d '{"repo":"${{ github.repository }}","sha":"${{ github.sha }}","branch":"${{ github.ref }}","workflow":"pulseradar-demo"}'

README

The README in the example repo:

# PulseRadar — GitHub Actions Demo

[![Demo](https://github.com/pulseradar/example-workflow/actions/workflows/pulseradar-demo.yml/badge.svg)](https://github.com/pulseradar/example-workflow/actions/workflows/pulseradar-demo.yml)
[![Install PulseRadar](https://img.shields.io/badge/Install-PulseRadar-FF6B35?logo=github&logoColor=white)](https://github.com/apps/pulseradar/installations/new)

Pings PulseRadar on every push so your build status appears alongside the rest of your repo's PR health, and a broken integration fails the workflow run.

## Quick start

1. Copy `.github/workflows/pulseradar-demo.yml` from `pulseradar/example-workflow` into `/.github/workflows/`.
2. In your repo settings, add a secret `PULSERADAR_API_URL` pointing at the PulseRadar API base.
3. Add a second secret `PULSERADAR_API_KEY` — a shared secret you also set as `HEARTBEAT_API_KEY` on your PulseRadar deploy.
4. Push. The workflow pings `POST $PULSERADAR_API_URL/api/heartbeat` and the badge above flips red if the ping fails.

## What it does

The `pulseradar-demo` workflow posts a heartbeat to the PulseRadar API on every push. If the request fails, the workflow run fails too — so the badge above flips red on a broken integration.

## Get PulseRadar running on your code

Install the GitHub App: https://github.com/apps/pulseradar/installations/new

Learn more at [pulseradar.app](https://pulseradar.app).

## PR explainer

The PulseRadar API exposes a plain-English summary endpoint that takes a PR diff and returns two-to-three sentences covering "what changed" and "why it matters."

- **Endpoint:** `POST /api/explain-pr`
- **Input:** either a `{ diff, title }` payload, or `{ owner, repo, prNumber }` so the server can pull the diff itself.
- **Output:** `{ summary, generated_at, model, source }` — the `summary` is plain text, not JSON.

### Composes with the upcoming pre-merge risk signal

Today, the explainer runs at or after merge and the summary card lives on `/repos/:owner/:name`. The upcoming pre-merge risk signal will share the same diff-input pipeline: a single analysis pass that takes a PR's files and diff and feeds both "what changed" (this card) and "what could break" (the future signal). We are not building two parallel pipelines — the explainer endpoint is the diff-input contract both features will share.

Run PulseRadar on every push & PR

The Heartbeat ping is one small piece. PulseRadar's GitHub App watches all your pushes and pull requests, runs code analysis on each commit, and posts severity-tagged PR comments automatically.

Install on GitHub