Output Formats
pgfence supports five output formats today: terminal output, JSON, GitHub PR comment markdown, SARIF, and GitLab Code Quality JSON. The same --output values work for both pgfence analyze and pgfence trace.
Terminal (Default)
bash
pgfence analyze migrations/*.sql JSON
bash
pgfence analyze --output json migrations/*.sql GitHub PR Comment
--output github produces Markdown that you can post as a PR comment or upload as a workflow artifact.
bash
pgfence analyze --output github migrations/*.sql > pgfence-report.md yaml
- name: Analyze migrations
run: npx @flvmnt/pgfence analyze --output github migrations/*.sql > pgfence-report.md
- name: Comment on PR
uses: marocchino/sticky-pull-request-comment@v2
with:
path: pgfence-report.md GitLab Code Quality
--output gitlab emits the JSON format GitLab expects for a codequality artifact.
bash
pgfence analyze --output gitlab migrations/*.sql > gl-code-quality-report.json yaml
migration-safety:
script:
- npx @flvmnt/pgfence analyze --output gitlab migrations/*.sql > gl-code-quality-report.json
artifacts:
reports:
codequality: gl-code-quality-report.json SARIF (GitHub Code Scanning)
Output SARIF 2.1.0 to upload pgfence findings to GitHub Code Scanning as inline PR annotations.
bash
pgfence analyze --output sarif migrations/*.sql > pgfence.sarif yaml
- name: Analyze migrations
run: npx @flvmnt/pgfence analyze --output sarif migrations/*.sql > pgfence.sarif
- name: Upload to GitHub Code Scanning
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: pgfence.sarif
SARIF results appear as annotations directly on the diff in pull requests. CRITICAL and HIGH findings show as errors; MEDIUM as warnings.