Configuring for postman collection running

I’m attempting to configure my jenkins instance (docker jenkins/jenkins:llts-jdk11) to run postman collection tests via newman integration.
I’ve followed instructions on how to perform this with various instructional references, one of which like this but it doesn’t appear to be working. Looking at the logs I see this:

WARNING h.m.DownloadService$Downloadable#updateNow: No tool installer metadata found for jenkins.plugins.nodejs.tools.MirrorNodeJSInstaller

so I’m assuming it’s failing.
Attempting to create a job with a execute shell script with this in it:

node --version
newman --version

and getting this on test results:

Building in workspace /var/jenkins_home/workspace/test_two
[test_two] $ /bin/sh -xe /tmp/jenkins12107471891086250062.sh
+ node --version
/tmp/jenkins12107471891086250062.sh: 2: node: not found
Build step 'Execute shell' marked build as failure
Finished: FAILURE

any ideas on how to fix this? Assuming something is broken?

Hello @Karl, I’m new here, and just read your request.
I had the same idea that you have been pursuing, so maybe my experience may somehow be useful for you, I hope.

I’ve had the same aim as you did, and after a while, I’ve decided to customize my image.
I’ve designed the custom image based on the jenkins/jenkins official image, which I pushed on the DockerHub, which you can find in the link below:
newman_jenkins_plugins_report image.

Or if you want, you can build your one by adding some of the following instructions in the Dockerfile, I guess:

RUN apt-get install -y curl && \
    curl -sL https://deb.nodesource.com/setup_16.x | bash - && \
    apt-get install -y nodejs
RUN apt-get update && apt-get install -y npm
RUN npm install -g newman

I want to let you know that the instruction you asked for is a part of my Dockerfile, but not the entire file.
I hope it can be of assistance to you.

Are you using an agent, or is everything happening on the controller itself? node is not installed by default in the Jenkins controller image. You could try launching a Jenkins instance with node installed on an agent and see if it works for you. Clone the quickstart-tutorials repository and launch docker compose up -d node . This should provide you with a working Jenkins instance, featuring both a controller and an agent, ready to handle node pipelines.

1 Like