Optimizing Webhooks (Global vs Project)


  • SonarQube v7.7 EE
  • Attempting to optimize webhooks
  • Global Webhooks
  • Multiple Jenkins servers
  • 200 jobs with about 500 branches total, with continious integration resulting in frequent builds.

I am new to both SonarQube 7.7 and to webhooks. As part of playing, I have also done a wee bit of testing with global webhooks in SQ v6.7.7… and it is immediately apparent that SQ v7.7 is much easier to audit (via green checkmark, last delivery timestamp, and payload info). So, thanks muchly for that!

In my n00b state, I configured SQ v7.7 on our test server (ie, few analyses performed) with global webhooks, one per Jenkins server. Eight total. The consequence is that I see 1 x green checkmark and 7 x red, with every payload identical. I also see that the time difference spanning the 8 timestamps is about 1 minute (although SQ does not offer seconds precision to be sure about this).

From the documentation and from this community, I know that we can add webhooks at the project level and also that the Web API can help with this. My only problem is that I need ammunition to help persuade people to perform this webhook configuration. Thus, a couple of questions:

  • Does my current configuration (global webhooks) come with negatives such as (say) a performance overhead?
  • Could not SonarQube Scanner for Jenkins dynamically provide SQ Server with the appropriate Webhook URL? ie, enhancement to the plugin.

Correction to the above… I had failed to notice that SQ 7.7 webhook payload includes the response as well as the payload itself. This information allowed me to tweak, such that delivery status is now 100% green for all jenkins servers.

But the questions are still valid (ie, is there a performance overhead or something else that i have not considered).


I’m glad you got this working.

I’m not aware of a performance hit for this. I think the only issue would be getting unwanted signals on the Jenkins side(…?).