4

When adding a trigger, it is possible to select

  • Developers
  • Culprits
  • Suspects causing the build to begin failing

and some more options.

When using Git as SCM, how are those recipient lists exactly determined?

Gustave
  • 3,359
  • 4
  • 31
  • 64

1 Answers1

3

There is a good explanation at Email-ext plugin page:

  • Developers:

Send the email to anyone who checked in code for the last build. The plugin will generate an email address based on the committer's id and an appended "default email suffix" from Jenkins's global configuration page. For instance, if a change was committed by someone with an id "first.last", and the default email suffix is "@somewhere.com", then an email will be sent to "first.last@somewhere.com"

  • Culprits:

Sends email to the list of users who committed a change since the last non-broken build till now. This list at least always include people who made changes in this build, but if the previous build was a failure it also includes the culprit list from there.

I guess the algorithm to determine a culprint's email is the same as for the developer.

Vitalii Elenhaupt
  • 7,146
  • 3
  • 27
  • 43
  • 1
    It is not completely clear for me what "anyone who checked in code" in a non-trivial Git context means. Especially: typically the content of a "central" Git repository doesn't change by commits, but by pushes and sometimes by merges. What is the difference between Developers and Culprits? The explanation of "Culprits" restricts the relevant time-span (which is again non-trivial in Git context) to that beginning with the last broken build. There seems to be no limit for "developers". But this probably doesn't mean that the emails goes to all developers that ever commited. – Gustave Jul 27 '15 at 17:41
  • 2
    Recently, I had an Email going out to more than 40 developers (as culprits). I didn't figure out what was going on there exactly, but this was definitively a no-go and not the behaviour I expected after having read those two "good explanations". The text speeks about "a list of users who commited a change". Typically, a commit in Git is related to a single user, not to a list of users. – Gustave Jul 27 '15 at 17:48
  • Interesting: https://github.com/jenkinsci/git-plugin/blob/git-2.4.0/src/main/java/hudson/plugins/git/GitSCM.java#L1078 – Gustave Jul 27 '15 at 18:15
  • In case one is interested, there is a good explanation on what Git Commiter's ID at https://stackoverflow.com/a/29111460/378115 – Julio Nobre Nov 04 '18 at 12:41