I am not getting mails on project success when using Jenkins, Please tell me the stable plugins for
jenkins & email-ext plugin. Now, I am getting email only when test fails
Sounds like you need to add a trigger for success emails. By default, only the failure trigger is added to the email-ext project configuration. You need to expand the "Advanced" section and add a success trigger as well.
I have continuous integration setup using jenkins and also integrated selenium scripts for nightly build. I also have editable email notification for sending emails in case of any build failure.
The default content for editable email notification is
$DEFAULT_CONTENT
${JELLY_SCRIPT,template="text"}
${FAILED_TESTS}
This content give me clear picture if there is any fail in the selenium script with full stacktrace.
The problem is that, if the jenkins build got failed due to compile error or any other failure reasons, the email notification is not providing any reason about the failure. It simply says No tests ran.
How to make jenkins to send mail notification with the failure reason, if the build got failed due to compile time error ?
You can attach build logs and any reports that your selenium has producing with the editable email notification.Below is a screenshot of what you can do:
Attached Logs can give you Info on build failure and other details And reports can be customized as you need.
More links:
Can Jenkins send mail notify with attachment?
Display HTML page inside mail body with Email-ext plugin in Jenkins
How to include git changelog in Jenkins emails?
You can create two jobs , one is for triggering build for every check and one for running automation suite.
It may resolve your problem
You can try using this plugin
https://wiki.jenkins-ci.org/display/JENKINS/Build+Failure+Analyzer
I've set up my jenkins to send emails after nunit tests are passed. How can I configure that the body of mail contains nunit results from TestResult.xml file? Maybe there is some plugin to jenkins?
I think you should take a look to the Email-ext plugin, it will allow you to decide what you want to send (and in your cae attach NUnit report).
I've found suitable solution for me: use Jelly script as described here:
https://wiki.jenkins-ci.org/display/JENKINS/Email-ext+plugin
Version 2.15 of Jenkins plug-in Email-ext added support for attaching files to build notification e-mails. I would like to have the build log attached to build notification e-mails, but I can't figure out how to do it.
The build log appears to be stored on the Jenkins master node (in this case, Ubuntu Linux). For example, /var/lib/jenkins/jobs/<PROJECT_NAME>/builds/<DATE_TIME>/log. Naturally, the build log path changes with every build. The Email-ext file attachment feature defaults to using files from within the project workspace, which is on the Jenkins slave build machine (in this case, Mac OS X). For example, I configured my slave to use the folder /Users/<USERNAME>/Jenkins/build_agent/workspace/<PROJECT_NAME>/.
Is there any way to get Email-ext to attach a file from the master's file system, instead of the workspace on the slave build machine?
Thanks in advance to anyone who can offer some advice. The Email-ext wiki page currently does not contain an example of how to configure attachments.
You may just use ${BUILD_LOG, maxLines, escapeHtml} token in the body of the e-mail to include the build log.
Quoting the email-ext plugin doc (available here):
"To see a list of all available email tokens and what they display, you can click the "?" (question mark) associated with the Content Token Reference at the top bottom of the email-ext section on the project configuration screen"
The plugin DOES support attaching the build log, you just need to check the box in the project configuration.
After sleeping on the problem and doing more research, I came to the conclusion that Email-ext does not support the attachment of a build log to a build notification e-mail.
However, I did come up with a sneaky work-around to use until such a feature is available: I use the Jenkins build tokens to generate the appropriate command to copy the log file from the master server to the slave's build workspace (see note below).
In the project, after the main compilation step, I added a new Execute shell step to generate the appropriate scp (secure copy) command. This is the command (replace USER and HOSTNAME with your own values, and you'll probably need to tailor the path to suit your individual server):
scp USER#HOSTNAME:/var/lib/jenkins/jobs/$JOB_NAME/builds/$BUILD_ID/log build.log
Then, in the Email-ext Attachments field of the Email-ext plugin, I entered:
build.log
Now the build log is copied from the master to the slave's workspace and attached to build notification e-mail messages. I have removed the $BUILD_LOG token from the message body template.
Note: to use this particular technique, you'll need to have passwordless ssh configured between the slave and the master, perhaps using an OpenSSH key passphrase. If you need help with that, search around the web for information on the ssh-keygen command, and perhaps check tutorials like this one. A similar approach should work on platforms that do not have built-in support for SSH. RoboCopy or similar should work on Windows systems.
EDIT: The Email-ext plug-in now has the ability to attach a build log to a notification message with a check-box on the job's configuration screen. See slide's answer for an example.
When using Jenkinsfile, add attachLog: true to the emailext configuration, like:
emailext attachLog: true, body: '', subject: ''
Credit to #Spencer Malone in Jenkins pipeline - Notify with console error log through email
Firsl of all You have to install Email Ext plugin.After installing follow this step.
Now in to the 'Add post-build action’ select Editable Email Notification and in that section you have option Attach build Log.select option as below in picture.
after that apply and save.Now you will definitely get Build Log in Email attachment.
Thank You.
I have noticed that when i check the box to attach build log, it also unchecks after saving, however it is attached in my emails after the email has been submitted.
I have an ANT script that works fine.
When the build succeeds I'd like it to send an email that has "build succeeded" in the subject and include the build's console output as the email body.
When the build fails I'd like it to send an email that has "build failed" in the subject and include the build's console output as the email body.
Can someone tell me an easy way to do this? Thanks!
Rob
The ant mail logger should be what you need.
1st answer is right
however, I build all my stuff with jenkins, hence use that to send emails
it integrates with ldap/active directory too