Documentation Index
Fetch the complete documentation index at: https://docs.unideploy.in/llms.txt
Use this file to discover all available pages before exploring further.
Overview
UniDeploy integrates with any CI system that can run shell commands. The --ci flag causes the scan to exit with code 1 if CRITICAL findings are present, blocking the merge.
GitHub Actions
# .github/workflows/unideploy.yml
name: UniDeploy security scan
on:
push:
branches: [main]
pull_request:
jobs:
security:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install UniDeploy CLI
run: npm install -g unideploy
- name: Run scan
id: scan
env:
UNIDEPLOY_API_KEY: ${{ secrets.UNIDEPLOY_API_KEY }}
run: |
unideploy scan --ci --json > report.json || EXIT=$?
cat report.json | jq '{grade: .grade, total: .summary.total, critical: .summary.critical}' >> $GITHUB_STEP_SUMMARY
exit ${EXIT:-0}
- name: Comment on PR
if: github.event_name == 'pull_request' && always()
uses: actions/github-script@v7
with:
script: |
const fs = require('fs');
const report = JSON.parse(fs.readFileSync('report.json', 'utf8'));
const body = `## UniDeploy Security Scan\n\nGrade: **${report.grade}**\nFindings: ${report.summary.total} (${report.summary.critical} critical)\n\n[View full report](${report.dashboard_url})`;
github.rest.issues.createComment({ issue_number: context.issue.number, owner: context.repo.owner, repo: context.repo.repo, body });
Adding UNIDEPLOY_API_KEY to your repo
- Go to your GitHub repository → Settings → Secrets and variables → Actions
- Click New repository secret
- Name:
UNIDEPLOY_API_KEY, Value: your key from the UniDeploy dashboard
GitLab CI
security-scan:
image: node:20
script:
- npm install -g unideploy
- unideploy scan --ci --json > report.json
artifacts:
paths:
- report.json
when: always
Bitbucket Pipelines
pipelines:
default:
- step:
name: Security scan
image: node:20
script:
- npm install -g unideploy
- unideploy scan --ci