How to add a table to an email with the build result? - jenkins

I have a problem.
In Jenkins, I run automatic tests using Postman. When the build is done, an e-mail notification is sent with an attachment with the logs. In Jenkins, Newman returns me a table with the results:
I would like only such a table with the result to be in the e-mail.
table

Related

Deploying jenkins jobs for dynamically created gitlab repos

Setup:
1 Jenkins server and 1 gitlab server that I own
Expected usage:
- We provision repositories for users on gitlab using some scripts when a user signs up with our portal.
- As soon as these users submit some code in the repository, we have to run some junit tests on them and email the users with a the test results in a clean way where they can see the passed and failed results with appropriate links which they can click on to get details of the tests.
Requirements for. jenkins:
1. Ability to send html junit test results with clickable test result links
2. Based on whether the junit test fails or passes, call two different python scripts.
Questions:
1. What is the best way to go about 1 and 2 requirements
2. Should I create a job template and create a job per dynamically created repo or can I use same job to run tests on multiple repos
References :
These were the links we referred.But as a newbie to jenkins couldn't come up with clear solutions.
1.https://wiki.jenkins.io/display/JENKINS/Email-ext+plugin#Email-extplugin-Jellycontent
2.https://gist.github.com/nightspotlight/7cfa6af7c7989857f336f742cdcb443b
3.https://learn2automate.blog/2017/05/19/how-to-set-jenkins-job-status-based-on-test-case-pass/
Send some links in your mail using jenkins is simple
Install https://wiki.jenkins.io/display/JENKINS/Email-ext+plugin
Install https://wiki.jenkins.io/display/JENKINS/Build+With+Parameters+Plugin in order to expose a job as link with params
Create some job in jenkins and in the post-build section add editable email notification
[![enter image description here][1]][1]
in In Default Content of editable email notification you must write the email body that will be sent to your users. If your requirement is send a link to allow user to open another jenkins page, you could write the following :
In order to execute python scripts click in this link
http://your-jenkins.com/job/my-job-python/parambuild/?param1=test1&param2=etc
Your mail provider will render this text as html.
Finally you need to create some job with name my-job-python with parameters param1, param2 or whatever. This job will execute your python scripts when user clicks on email links sent by jenkins.

Sending robot framework log file as email content via Jenkins is not getting displayed

I have created a Jenkins job to execute robot framework. The results[log.html and report.html] of the Jenkins are getting displayed properly.
Now I am using the email-ext plugin to send the log file as email content to the specified group of users, but the received email doesn't display the content and shows error as "Opening Robot Framework log failed" in the email.
I have set the email-ext plugin as follows:
I wish to send the robot results as email content, not as an attachment, I have tried various methods like Linux, shell scripting etc, but still, it doesn't work. How can the log.html email content can be sent to the email body?
You will not be able to just put the entire content of the robot log.html in an email because it contains javascript.
I've been looking into this the last few days as well and have come to see that using a groovy based template using the jenkins Email-ext plugin is the way to go. Googling for 'jenkins robot framework email template' shows a few hits and one that I'm planning to try and then modify to my liking was this one:
https://github.com/vladwa/robot-email-template
From this I found that we don't have access to all of the test info built in, so I wrote up some modifications to load the robot output.xml as an artifact to then be able to inject any data in that file into the html email report. Here's the gist of that:
https://gist.github.com/harbdog/070f0be66ebae343d6d11e57a6c6fc08
Here's what it looks like for example:
You have to configure publish robot framework test result <post build> and then use {ROBOT_REPORTLINK} in email content section

Retrieve console log from a nested job in jenkins

I have a Matrix job (Job A) with that call build sub job (B) using Jenkins Parameterized Trigger plugin.
In the Parent Job (Mtrix) i use Editable Email Notification to trigger each configuration.
I want to get 15 lines from child job (B) build log for each configuration to add it in the email (if the build fails).
How can I do such thing ?
This plugin allows you to configure every aspect of email notifications. You can customize when an email is sent, who should receive it, and what the email says.
here is the link : https://wiki.jenkins-ci.org/display/JENKINS/Email-ext+plugin

Jenkins email-ext trigger e-mail for culprits not working as expected

I'm trying to send e-mail to culprits when the build fails. If I start the build manually the e-mail is sent, but If I start the build through SCM polling e-mail is not send and the console output for the build shows the message:
An attempt to send an e-mail to empty list of recipients, ignored.
Is that the right way the plugin should work (culprit should be a person, not scm polling)?
Im using:
OS: Ubuntu Server 11.04
Jekins: 1.532.1
Email-ext plugin: 2.37.2
Currently (before the next release 2.38) when you want to send emails to the culprits you also need to check the "Developers" checkbox. Without it, the culprits portion will not be used at all.
This will be different going forward, adding Culprits as a recipient list will do what is expected.

How can I report the test results from a TestNG/Maven/Jenkins tests, via Email and attach screenshot?

I have some SeleniumWebdriver/TestNG/Maven/Java continuous integration tests, that I run in Jenkins.
Every time a test fails, a screenshot of the error is created.
How can I configure Jenkins to send an email to certain people and attach the screenshot upon failure?
The screenshot is located in this directory:
/mnt/www/jenkins/jobs/Integration tests/workspace/target/surefire-reports/
and its name is generated as a combination of a timestamp and the error that has occured, like this:
2013-7-6-12-1-30-UnabletolocateelementmethodlinktextselectorApprove.jpg
Screenshots arent automatically deleted, so there could be quite a few screenshots in that dir.
So, how can I make Jenkins send me the report with the screenshot attached?
OR Can I make TestNG do that? How?
Actually, no need to work with Jenkins, it can be done within the code of the test itself.
Generate the screenshot as described here:
Selenium Webdriver/TestNG/Maven/Xvfb - take screenshot on fail?
then install the Java Mail API and a SMTP mailer service on your computer and make your code send email with the screenshot as an attachment upon failure.

Resources