gocd-contrib / email-notifier Goto Github PK
View Code? Open in Web Editor NEWGoCD plugin to send Email notifications.
License: Apache License 2.0
GoCD plugin to send Email notifications.
License: Apache License 2.0
When having a pipeline with multiple git materials, the notifier is sending messages to every subscriber who committed code to any repository involved in the build. I would like to fine-tune the settings so that only users committed code to the trigging repository will receive the message.
Use case example:
Having a pipeline with two git materials repo1 and repo2. User A committed code to repo1. Build succeeded. Then user B committed code to repo2. Build failed. As it is today, both user A and B will receive a message about the failed build, because both have committed code for this build. This should be configurable so that only user B receives this message, as only s/he committed code to the trigging repository.
Plugin Version: email-notifier-1.0.0-74.jar
GoCD Version: 21.2.0
Whenever i tries to change config it throws following error
Someone has modified the entity. Please update your copy with the changes and try again.
I have also tried completing removing and adding plugin again but somehow config still stucked.
How about add support for sending notification mails to more than one recipients?
Hi,
How to get Job Details...for a stage?
i have this object but i am a newb and don't know how to get jobs name and result from Object jobsObj = stageMap.get("jobs");
We are receiving this error to connect with smtp.gmail.com:
No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
There something wrong in my configuration?
javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com, port: 587
jvm 1 | at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1961)
jvm 1 | at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:654)
jvm 1 | at javax.mail.Service.connect(Service.java:295)
jvm 1 | at com.tw.go.plugin.SMTPMailSender.send(SMTPMailSender.java:46)
jvm 1 | at com.tw.go.plugin.EmailNotificationPluginImpl.handleStageNotification(EmailNotificationPluginImpl.java:157)
jvm 1 | at com.tw.go.plugin.EmailNotificationPluginImpl.handle(EmailNotificationPluginImpl.java:93)
jvm 1 | at com.thoughtworks.go.plugin.infra.DefaultPluginManager.lambda$submitTo$0(DefaultPluginManager.java:134)
jvm 1 | at com.thoughtworks.go.plugin.infra.FelixGoPluginOSGiFramework.executeActionOnTheService(FelixGoPluginOSGiFramework.java:208)
jvm 1 | at com.thoughtworks.go.plugin.infra.FelixGoPluginOSGiFramework.doOn(FelixGoPluginOSGiFramework.java:164)
jvm 1 | at com.thoughtworks.go.plugin.infra.DefaultPluginManager.submitTo(DefaultPluginManager.java:131)
jvm 1 | at com.thoughtworks.go.plugin.access.PluginRequestHelper.submitRequest(PluginRequestHelper.java:49)
jvm 1 | at com.thoughtworks.go.plugin.access.notification.NotificationExtension.notify(NotificationExtension.java:83)
jvm 1 | at com.thoughtworks.go.server.messaging.notifications.PluginNotificationMessageListener.onMessage(PluginNotificationMessageListener.java:44)
jvm 1 | at com.thoughtworks.go.server.messaging.notifications.PluginNotificationMessageListener.onMessage(PluginNotificationMessageListener.java:29)
jvm 1 | at com.thoughtworks.go.server.messaging.activemq.JMSMessageListenerAdapter.runImpl(JMSMessageListenerAdapter.java:83)
jvm 1 | at com.thoughtworks.go.server.messaging.activemq.JMSMessageListenerAdapter.run(JMSMessageListenerAdapter.java:63)
jvm 1 | at java.base/java.lang.Thread.run(Unknown Source)
jvm 1 | Caused by: javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
jvm 1 | at java.base/sun.security.ssl.HandshakeContext.<init>(Unknown Source)
jvm 1 | at java.base/sun.security.ssl.ClientHandshakeContext.<init>(Unknown Source)
jvm 1 | at java.base/sun.security.ssl.TransportContext.kickstart(Unknown Source)
jvm 1 | at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
jvm 1 | at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
jvm 1 | at com.sun.mail.util.SocketFetcher.configureSSLSocket(SocketFetcher.java:549)
jvm 1 | at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:354)
jvm 1 | at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:237)
jvm 1 | at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1927)
jvm 1 | ... 16 common frames omitted
Thank you
Hi @srinivasupadhya:
I was trying to make an if condition based on the stage state and result. However, every time I run a pipeline, the following error:
Interaction with plugin with id 'email.notifier' implementing 'notification' extension failed while requesting for 'stage-status'. Reason: [Unable to de-serialize json response. Empty response body]
The goal is to filter out the statuses of a stage.
I am using Go Version: 15.1.0(1863-42e58c22aefd03) and plugin 0.1 version. I configured the email notifications in server configuration (hostname,user,password etc). And notifications work fine except the fact that I see the following errors in tray and logs:
Notification update failed for plugin: email.notifier [Jul-22 15:30:46]
Interaction with plugin with id 'email.notifier' implementing 'notification' extension failed while requesting for 'stage-status'. Reason: [Unsuccessful response from plugin. Plugin returned with code '500' and the following response: '{"status":"failure","messages":["plugin is not configured. please provide plugin settings."]}']
Right now I can only set up a notification:
namepipline:BuildContainers:passed
Would it be possible?
namepipline:BuildContainers:passed, namepipline:PushContainers:passed
Thanks
If I have two server with same configuration of email-notifier plugin. How can I tell which server's stage change info in email content.
I've built and installed the plugin and restarted Go.....now what do I do?
Please advise.
I don't see any place to configure this plugin for use in a pipeline.
If I want to send a test report summary from the goCD server to the stakeholders then I need to modify the contents of the email which includes How many test cases passed, How many Failed and the reason of failures so that by Just looking at the mail Stakeholders can understand what is the status of the Test Report
Hi,
For me, your plugin not worked on my GoCD Server 14.4.0.
I used with: https://github.com/gocd/gocd-docker
Thanks!
Hi,
what's the license for this project?
Can you please add one?
Otherwise I cannot use it.
Thanks!
Doesn't explain why it is not for production use (is it because it is a sample plugin?). Also, there are no releases. So, the usage info is wrong.
Hello!
This is likely not implemented but I wanted to check/suggest.
The notification seems to only reflect the status of a stage. Is it possible to pull in the job(s) that caused the stage to fail? We're trying to track/alert on job failures based on frequency. I couldn't tell if this was just a change in the filter or if that is a major change to the plugin code.
Thanks!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.