Integrating with Jenkins
Newman allows you to run and test a Postman Collection. Newman and Jenkins are a perfect match. Let's review these topics to set up this operation.
- Run a collection in Postman
- Run a collection using Newman
- Set up Jenkins
- Configure frequency of runs
Note: This walkthrough uses Ubuntu as a target OS, as in most cases your CI server will be running on a remote Linux machine.
- Install and start Jenkins. For more information, see the Jenkins documentation at https://www.jenkins.io.
- Install NodeJS and npm. Newman is written in NodeJS and the official copy is available through npm. Install nodejs and npm for Linux.
Install Newman globally, to set up Newman as a command line tool in Ubuntu.
$ npm install -g newman
These instructions assume you already have a Postman Collection with some tests. Run the collection in Postman. Here's an example of the output in Postman’s collection runner.
Some of the tests are failing intentionally in the screenshot to demonstrate the troubleshooting process.
Run this collection inside Newman, using the command below. If everything is set up nicely, you should see the output below.
After you have started Jenkins, it exposes an interface at
http://localhost:8080. Click the New Item link on the left sidebar to create a new job.
Select a “Freestyle Project” from the options. Name your project, and click OK.
Add a build step in the project. The build step executes a shell command.
Here is an example command:
$ newman run /path/to/jenkins_demo.postman_collection.json --suppress-exit-code 1
Note here that the Newman command parameter
suppress-exit-code uses the value
1. This denotes that Newman is going to exit with this code that will tell Jenkins that everything did not go well.
Click Save to finish creating the project.
Run this build test manually by clicking on the Build Now link in the sidebar.
Jenkins indicates that the build has failed with a red dot in the title. You can check why with the console output from Newman.
Click the “Console Output” link in the sidebar to see what Newman returned.
Fix these tests inside Postman and then try again.
You can move on once you see green pass icons for all your tests like the screenshot above.
Jenkins indicates that the build succeeded with a blue ball.
To set up the frequency with which Jenkins runs Newman, click on “Configure project” in the main project window and then scroll down.=. The syntax for setting the frequency is
H/(30) * * * *.
Note: 30 can be replaced with another number.
Jenkins will now run Newman at your desired frequency and will tell you whether the build failed or succeeded. In a bigger setup, Newman will be part of your build process and probably not the entire process. You can set up notifications and customize Jenkins as per your needs.
You can use a wide variety of other configurations to make your collection more dynamic.
For more information about collection runs, see: