I saw that plugin. it does something similar indeed. but it has the following differences:
1. it operates on the Job level. you need to add a step for a job to publish its results. my plugin operates on Jenkins level: all builds are published. we have a large Jenkins install with thousands(++) of build jobs and dozens of workers. 2. this plugin has a timeout (30 seconds as I see). this means tasks can be blocked for up to 30 seconds. my plugin puts notifications into a queue that is later processed in a separate thread. this way we don't block Jenkins if the publishing mechanism is slow or even broken for whatever reason. e.g. in the case of RabbitMQ, publishers will be blocked when target RabbitMQ "exchange/queue" is full - say, due to no free disk space. we don't want Jenkins to block all jobs when this happens. and using timeouts for this would mean notifications will be lost if not completed in 30 seconds. so.. if the target system is temporary clogged and does not accept messages, Notification Plugin will 1) spend extra 30 seconds for each job plus 2) probably drop messages after that (I assume, have not checked that yet). in our case with a heavily loaded Jenkins server with thousands of jobs we cannot add extra 30 seconds to each build. On Monday, July 13, 2015 at 1:38:22 PM UTC-7, Oleg Nenashev wrote: > > Did you consider contributing to existing plugins instead of creating new > ones? > There're several plugins addressing your use.case. Example: > https://wiki.jenkins-ci.org/display/JENKINS/Notification+Plugin > > понедельник, 13 июля 2015 г., 23:11:31 UTC+3 пользователь Alex написал: >> >> source code: https://github.com/alexeyOnGitHub/jenkins-publisher-plugin >> <https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2FalexeyOnGitHub%2Fjenkins-publisher-plugin&sa=D&sntz=1&usg=AFQjCNGXRlnKzVptUV4k_HRpJswcB2FpDA> >> >> I'm the author. name on GitHub: alexeyOnGitHub >> >> Plugin summary: Publish notifications for all completed builds to a >> RabbitMQ instance. >> >> (hoping to have more publishers than just RabbitMQ in it, that's why >> didn't call it "RabbitMQ Publisher Plugin" >> >> the Git repo name could be build-result-publisher-plugin >> >> >> Sample notification message: >> >> { >> "jenkins_url": "http://localhost:8080/", >> "job_name": "check-coverage", >> "build_number": 61, >> "result": "FAILURE", >> "id": "61", >> "test_results": { >> "total_count": 7, >> "skip_count": 1, >> "fail_count": 2, >> "failed_tests": [ >> "com.company.Class2Test.anotherBrokenTest", >> "com.company.Class2Test.thisWillBeBroken" >> ] >> } >> } >> >> -- You received this message because you are subscribed to the Google Groups "Jenkins Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/ca932216-b6f7-4c34-ab7a-c27f84ac130f%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
