Integration guide / GitHub Actions
Stop a broken JATS package before it becomes a delivery.
The public JATS Verify Action sends the package to the hosted API, writes a deterministic JSON report into the workflow, and fails the job when a finding reaches your selected severity.
The validation engine remains private and hosted. A paid JATS Verify API key is required for production runs.
Add the key once
Buy any paid package, retrieve the automatically issued API key from the Access Center, and save it as an encrypted repository or organization secret named JATS_VERIFY_API_KEY.
Add the release gate
name: Validate JATS package
on: [push, pull_request]
jobs:
verify:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: james-hr/jats-verify@v1
with:
api-key: ${{ secrets.JATS_VERIFY_API_KEY }}
xml: production/article.xml
assets: production
fail-on: error
report: jats-verify-report.json
Pin the Action to the version your organization has reviewed. The v1 tag tracks compatible version 1 releases.
Decide what blocks release
errorblocks structural and release-critical findings.warningapplies a stricter editorial production gate.infoblocks on every reported finding.
A valid journal profile can define its own authoritative failure threshold and required metadata rules.
Keep the evidence
Upload jats-verify-report.json as a workflow artifact, attach it to a release record, or send the same package to the bundle endpoint for a reproducible release ZIP.
See the API guide for authentication, multipart fields, limits, status responses, and direct server examples.
Prove the check first
Run one package before adding the gate.
The free diagnostic shows the verdict and up to five findings. Paid access starts at $12.99 and includes the API key.