Connect APVISO with Jenkins
Add APVISO penetration testing to Jenkins pipelines. Gate builds on security findings and automate post-deployment vulnerability scanning.
Why connect APVISO with Jenkins?
Pipeline-Native Security Testing
Add APVISO as a pipeline stage in your Jenkinsfile. Scans run as part of your build process with results reported as Jenkins build steps.
Build Quality Gates
Configure Jenkins to fail builds when APVISO discovers vulnerabilities above your severity threshold, preventing insecure code from reaching production.
Flexible Triggering
Trigger APVISO scans on every commit, on merge to specific branches, on a cron schedule, or as a manual build parameter — matching your team's workflow.
JUnit-Compatible Reporting
APVISO outputs findings in JUnit XML format, so Jenkins can display them in the familiar test results interface alongside your other test suites.
Setup Guide
Install the APVISO Jenkins Plugin
Install the APVISO plugin from the Jenkins Plugin Manager. The plugin provides pipeline steps, a build wrapper, and a post-build action for APVISO scans.
Configure APVISO Credentials
Add your APVISO API key as a Jenkins credential (secret text type). Reference this credential in your pipeline configuration.
Add APVISO Steps to Your Jenkinsfile
Use the apvisoScan pipeline step in your Jenkinsfile. Specify the target URL, scan profile, and severity threshold for the build gate.
Configure Results Publishing
Add the APVISO post-build action to publish scan results as JUnit XML artifacts and optionally archive the full PDF report.
Features
- Jenkins pipeline step for declarative and scripted pipelines
- Severity-based build gates (fail, unstable, or pass)
- JUnit XML output for native Jenkins test result display
- PDF report archiving as build artifacts
- Pipeline progress reporting with live scan status
- Support for parameterized builds with dynamic target URLs
- Compatible with Jenkins Blue Ocean, Classic UI, and Pipeline Multibranch
How APVISO Integrates with Jenkins
APVISO's Jenkins integration adds autonomous penetration testing as a first-class stage in your Jenkins pipelines. Whether you use declarative Jenkinsfiles, scripted pipelines, or freestyle projects, the APVISO plugin provides native build steps that trigger scans, wait for results, and gate builds based on security findings.
Pipeline Step: apvisoScan
The core of the integration is the apvisoScan pipeline step. In your Jenkinsfile, add a security testing stage that calls this step with your target URL, scan profile (quick, standard, or comprehensive), and a severity threshold. The step authenticates with your APVISO API key (stored as a Jenkins credential), triggers the scan, and waits for completion while reporting progress.
The step returns a result object containing the finding counts by severity, the overall pass/fail status based on your threshold, and a link to the full APVISO report. Your pipeline logic can use this result to decide the next action — proceed to deployment, mark the build as unstable, or fail the build entirely.
Build Quality Gates
The severity threshold configuration determines how APVISO findings affect your build status:
- Fail threshold: If any finding at or above this severity is discovered, the build is marked as FAILED. Typically set to Critical or High for production deployment pipelines.
- Unstable threshold: Findings at this severity mark the build as UNSTABLE (yellow) but do not prevent it from continuing. Useful for Medium findings that should be addressed but do not block deployment.
- Pass: Findings below both thresholds do not affect the build status. Low and informational findings are recorded for reference but do not impact the pipeline.
This three-tier model gives teams flexibility. A strict production pipeline might fail on any High+ finding, while a development pipeline might only warn on Critical. Teams can tighten thresholds gradually as they improve their security posture.
JUnit XML Integration
APVISO outputs scan results in JUnit XML format, a standard that Jenkins natively understands. Each finding becomes a test case in the XML report: passing (no vulnerability) or failing (vulnerability found), with the finding details as the failure message. Jenkins displays these results in the familiar Test Result trend chart, showing the number of security findings over time across builds.
This approach is powerful because it leverages Jenkins' existing test result infrastructure. Build comparison shows which findings are new vs. existing, trend charts show whether your security posture is improving, and email notifications can include security test results alongside unit test results.
PDF Report Archiving
For audit and compliance purposes, the APVISO plugin can archive the full PDF pentest report as a build artifact. Each build produces a timestamped security report that is stored alongside other build artifacts and accessible through the Jenkins UI. Over time, this creates an audit trail of security testing tied to specific code versions and deployments.
Parameterized and Dynamic Scanning
Jenkins' parameterized builds work naturally with the APVISO plugin. Define a TARGET_URL parameter that lets users or upstream jobs specify which environment to scan. This is essential for organizations that deploy to multiple environments (dev, staging, pre-production) and want to scan each one.
Combined with Jenkins Multibranch Pipelines, you can automatically scan feature branch deployments, catching security regressions before they are merged. The branch name or PR number can be used to construct the dynamic target URL for preview environments.
Integration with the Broader Jenkins Ecosystem
The APVISO plugin works with the broader Jenkins plugin ecosystem. Combine it with:
- Slack Notification Plugin: Send APVISO scan results to Slack channels alongside other build notifications
- Email Extension Plugin: Include security finding summaries in build notification emails
- Build Pipeline Plugin: Visualize the security scan stage in your deployment pipeline view
- Credentials Plugin: Securely manage APVISO API keys using Jenkins' credential store
For organizations with complex Jenkins setups — shared libraries, enterprise-wide pipeline templates, and centralized credential management — the APVISO plugin follows Jenkins conventions and integrates cleanly.
Freestyle and Blue Ocean Support
While Jenkinsfile-based pipelines are the recommended approach, the APVISO plugin also supports Jenkins Freestyle projects via a build step and post-build action. The Blue Ocean interface displays APVISO scan stages with their status and duration, and scan results are accessible through the Blue Ocean activity view. Regardless of which Jenkins interface your team prefers, APVISO security testing fits naturally into the workflow.
Frequently Asked Questions
Does the plugin support Jenkins Pipeline (Jenkinsfile)?▾
Yes. The APVISO Jenkins plugin provides pipeline steps compatible with both declarative and scripted Jenkinsfile syntax. It also supports Jenkins Freestyle projects via a build step configuration.
Can I scan a dynamically deployed environment from the pipeline?▾
Yes. Pass the deployment URL as a pipeline parameter or derive it from an earlier build stage. The APVISO scan step accepts dynamic target URLs, so you can scan staging environments deployed by the same pipeline.
How are scan results displayed in Jenkins?▾
Scan results appear in multiple formats: as JUnit XML test results in the build's Test Result page, as a build summary with finding counts and severity breakdown, and as an archived PDF report downloadable from build artifacts.
Does the scan block the pipeline while running?▾
By default, the pipeline step waits for the APVISO scan to complete before proceeding. You can configure it to run asynchronously and check results in a later stage if you want to parallelize scan execution with other pipeline steps.
Related Integrations
Related Terms
Connect APVISO with Jenkins today
Set up the Jenkins integration in minutes and start routing security findings to your team.
Get Started