GitHub Actions ingest (no OAuth)
Send GitHub Actions workflow failures to Exlogare via the universal ingest API — no OAuth installation needed.
If your team can’t (or doesn’t want to) install the Exlogare GitHub OAuth app, you can still get RCAs from GitHub Actions: drop a single if: failure() step into your workflow and curl the log to our generic ingest endpoint.
This is useful for:
- self-hosted GitHub Enterprise instances where org admins won’t approve a third-party OAuth app;
- short-lived projects where you’d rather not configure org-level OAuth;
- evaluating Exlogare on a single workflow before committing to the OAuth integration.
Required GitHub secret
Add EXLOGARE_TOKEN to your repository or org secrets (Settings → Secrets and variables → Actions). The token needs the ingest scope.
Workflow step
# .github/workflows/ci.yml
name: CI
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run tests
id: test
run: |
set -o pipefail
pytest -q 2>&1 | tee build.log
- name: Send failure log to Exlogare
if: failure()
env:
EXLOGARE_TOKEN: ${{ secrets.EXLOGARE_TOKEN }}
shell: bash
run: |
curl -fsS -X POST https://api.exlogare.net/api/ingest/log \
-H "Authorization: Bearer $EXLOGARE_TOKEN" \
-H "Content-Type: application/json" \
-d "$(jq -n \
--arg pid "$GITHUB_RUN_ID" \
--arg jid "$GITHUB_JOB" \
--arg br "$GITHUB_REF_NAME" \
--arg sha "$GITHUB_SHA" \
--arg url "$GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID" \
--arg log "$(cat build.log)" \
'{provider:"github_actions", project:"$GITHUB_REPOSITORY", pipeline_id:$pid, job_id:$jid, status:"failed", branch:$br, commit_sha:$sha, pipeline_url:$url, log:$log}')"
OAuth vs. ingest API — which should you use?
| OAuth integration | Ingest API | |
|---|---|---|
| Auto-discovery of repos | yes | no — one workflow at a time |
| Posts RCA back as a PR comment | yes | no — view in dashboard / messengers |
| Requires GitHub admin approval | yes | no |
| Works on self-hosted Actions runners | yes | yes |
| Works on GitHub Enterprise without OAuth | no | yes |
Use OAuth if you can. Use the ingest API if OAuth isn’t an option.
Tips
- Pin the
actions/checkout@v4SHA in production workflows. - The
GITHUB_*env vars are populated automatically by Actions — no extraenv:block needed beyondEXLOGARE_TOKEN. - For matrix builds, append
${{ matrix.os }}-${{ matrix.python }}topipeline_idso each combination gets its own analysis row.