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.

Reply via email to