How to Integrate ZAP with Jenkins for Automated Security Testing
Integrate ZAP with Jenkins allows security testing to be an integral part of your CI/CD pipeline. By automating vulnerability scans, you can ensure that your software is secure before it goes live. This guide walks you through the entire process to streamline security testing in your DevOps workflow.
In addition, ZippyOPS offers expert consulting, implementation, and managed services for DevOps, DevSecOps, Cloud, MLOps, and other areas. With ZippyOPS, you can easily scale security automation across your organization.

Step-by-Step Guide to Integrate ZAP with Jenkins
Step 1: Install the ZAP Jenkins Plugin
To begin, you need to install the OWASP ZAP Jenkins plugin. Go to Manage Jenkins → Manage Plugins, and under the Available Tab, search for “OWASP ZAP”. Install the plugin to enable ZAP integration with Jenkins.
Step 2: Install ZAP Locally
Next, you’ll configure Integrate ZAP within Jenkins. Navigate to Manage Jenkins → Global Tool Configuration. Under the Custom Tool Installation section, provide the ZAP downloadable tar file link and specify a directory name where ZAP will be installed.
Tip: If the “Custom Tool Installation” option isn’t available, install the corresponding plugin first to enable this feature.
Step 3: Configure ZAP on Jenkins
Now that ZAP is installed, it’s time to configure it. In Manage Jenkins → Configure System, enter the ZAP host and port in the ZAP section. This setup ensures Jenkins can communicate with the ZAP instance.
Step 4: Create a New Jenkins Project
Create a new Jenkins project by selecting New Item and then choosing Freestyle Project. Click OK to proceed.
Step 5: Save the Project
At this point, simply click Save without modifying any configurations. This action initializes the job within Jenkins.
Step 6: Create the Workspace
Now, click Build Now to create a workspace on the Jenkins master machine. This step is necessary for running ZAP scans during the build process.
Step 7: Set Up ZAP Execution
Go to the project’s configuration page and select Configure. Under the Build Environment, check the Install Custom Tools option. Choose the ZAP tool from the list to ensure it is available during the build process.
Step 8: Add ZAP Execution Step
Under the Build tab, click Add Build Step and select Execute ZAP. This step initiates the security scan once the build begins.
Step 9: Install ZAP on Jenkins (if not already installed)
In the Installation Method section, specify the path to the ZAP installation directory. If you’re using a custom path for ZAP’s home directory, ensure Jenkins has permission to create directories in that location. You may need to adjust file permissions manually for this.
If ZAP is already installed, you can select the System Installed: ZAP Installation Directory option. Then, set the ZAPROXY_HOME environment variable to the correct path.
Note: For example, if your ZAP installation is located in /opt/zaproxy, enter that path as the environment variable value.
Step 10: Configure Session for Security Testing
With the environment setup complete, move to the Build tab again. Here, you will define the application URL and any session settings. Under the Session Management section, select Persist session and input the URL of the application to be tested in Session Properties Options. This configuration ensures that ZAP knows which parts of the application to scan and which to exclude.
Step 11: Enable Attack Mode and Start Scanning
Under Attack Mode, enter the starting URL for ZAP’s spidering process. Enable Active Scan and select a scan policy. If it’s your first time, the Default Policy will be used.
Step 12: Generate Reports
Enable the Generate Report checkbox, then specify the format (HTML or XML). Give each scan a unique filename to prevent overwriting previous reports.
Step 13: Configure Post-Build Actions
After the scan completes, go to Post-build Actions. Here, you can choose to archive the artifacts and publish the HTML reports:
- Click Add Post-Build Action, then select Archive the Artifacts. Specify the directories where the artifacts will be stored.
- Click Add Post-Build Action again and select Publish HTML Reports. Choose the directory where your HTML reports are stored and enter the filename of the report generated earlier.
Step 14: Complete the Build and View Results
Click Save to finalize your configurations, then initiate the build by clicking Build Now. Once completed, navigate to the Jenkins Job Dashboard to view your HTML reports and any archived files.
Step 15: Set Build Triggers for Automation
To automate the ZAP scanning process, go to Configure → Build Triggers. Choose an appropriate option to trigger the security scans based on your CI/CD pipeline’s needs.
Why Automate Security Testing with ZAP and Jenkins?
By Integrate ZAP with Jenkins, you significantly improve your software’s security posture. Automated vulnerability scans become a seamless part of your CI/CD pipeline, ensuring that issues are identified early and fixed before deployment. Furthermore, automating security testing allows your team to focus on developing new features without worrying about manual testing efforts.
If you’re looking for expert guidance in implementing security testing within your DevOps pipeline, ZippyOPS can help. Our team provides comprehensive DevSecOps consulting, automated Ops, and cloud infrastructure services. Learn more about our services here or reach out directly at sales@zippyops.com to get started.



