Guides
Integrations
Connect ModernPentest with Slack, Jira, GitHub Actions, and more
Integrations
Connect ModernPentest with your existing tools and workflows for seamless security operations.
Available Integrations
Communication
- Slack - Real-time notifications and alerts
- Microsoft Teams - Team notifications
- Email - Digests and alerts
Issue Tracking
- Jira - Create and sync issues
- Linear - Modern issue tracking
- GitHub Issues - Repository-based tracking
CI/CD Pipelines
- GitHub Actions - Workflow integration
- GitLab CI - Pipeline integration
- Jenkins - Build automation
- CircleCI - Continuous integration
Alerting
- PagerDuty - On-call escalation
- Opsgenie - Incident management
- Webhooks - Custom integrations
Slack Integration
Get real-time security alerts in your team's Slack workspace.
Setup
- Go to Settings > Integrations
- Click Connect Slack
- Authorize ModernPentest in your workspace
- Select channels for different alert types

Alert Types
Configure which events trigger Slack notifications:
| Event | Default Channel |
|---|---|
| Critical vulnerability found | #security-alerts |
| Pentest completed | #security |
| Weekly summary | #security |
Example Alert
🔴 Critical Vulnerability Detected
SQL Injection in /api/users
Application: Production API
Severity: Critical (CVSS 9.8)
→ View Details | Mark as False Positive | SnoozeJira Integration
Automatically create Jira issues for vulnerabilities and track remediation.
Setup
- Go to Settings > Integrations
- Click Connect Jira
- Enter your Jira instance URL (e.g.,
yourcompany.atlassian.net) - Authenticate with your API token
- Map projects and issue types

Features
- Auto-create issues - New findings automatically create Jira tickets
- Bidirectional sync - Status changes sync both ways
- Rich details - Issues include full vulnerability information
- Link to reports - Direct links to ModernPentest findings
Field Mapping
| ModernPentest | Jira Field |
|---|---|
| Title | Summary |
| Description | Description |
| Severity | Priority |
| Category | Labels |
| Application | Component |
| Evidence | Attachment |
Configuration Options
- Auto-create threshold - Only create issues for Critical/High severity
- Project mapping - Route issues to different projects by application
- Assignee rules - Auto-assign based on application or severity
CI/CD Integration
Block deployments when critical vulnerabilities are found.
GitHub Actions
name: Security Pentest
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
security-pentest:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run ModernPentest
uses: modernpentest/pentest-action@v1
with:
api-key: ${{ secrets.MODERNPENTEST_API_KEY }}
target: ${{ secrets.STAGING_URL }}
pentest-type: quick
fail-on: critical,highParameters:
api-key- Your ModernPentest API key (store as secret)target- URL to test (typically staging environment)pentest-type-quick,standard, ordeepfail-on- Severity levels that fail the build
GitLab CI
security-pentest:
stage: test
image: modernpentest/cli:latest
script:
- modernpentest run
--api-key $MODERNPENTEST_API_KEY
--target $CI_ENVIRONMENT_URL
--type quick
--fail-on critical,high
only:
- merge_requests
- main
artifacts:
reports:
junit: security-report.xmlBest Practices
- Use quick pentests in CI - Fast feedback without blocking deploys
- Test staging first - Catch issues before production
- Store API keys securely - Use CI/CD secrets
- Set appropriate thresholds - Balance security with velocity
Webhooks
Send pentest results to any endpoint for custom integrations.
Configuration
{
"url": "https://your-server.com/webhook",
"events": ["pentest.completed", "vulnerability.found"],
"headers": {
"Authorization": "Bearer your-token"
}
}Available Events
| Event | Description |
|---|---|
pentest.started | Pentest has begun |
pentest.completed | Pentest finished |
vulnerability.found | New vulnerability detected |
vulnerability.fixed | Vulnerability marked as fixed |
Payload Example
{
"event": "vulnerability.found",
"timestamp": "2025-01-15T10:30:00Z",
"data": {
"id": "vuln_abc123",
"title": "SQL Injection",
"severity": "critical",
"cvss": 9.8,
"application": {
"id": "app_xyz789",
"name": "Production API",
"url": "https://api.example.com"
},
"location": {
"url": "/api/users",
"parameter": "id",
"method": "GET"
}
}
}Webhook Security
Verify webhook authenticity using the signature header:
const crypto = require('crypto');
function verifyWebhook(payload, signature, secret) {
const expected = crypto
.createHmac('sha256', secret)
.update(payload)
.digest('hex');
return crypto.timingSafeEqual(
Buffer.from(signature),
Buffer.from(`sha256=${expected}`)
);
}API Access
For full programmatic control, use our REST API:
- Trigger pentests programmatically
- Retrieve findings and reports
- Manage applications
- Configure settings
See API Reference for complete documentation.
Next Steps
Last updated: December 8, 2025