When a job is generated (whether it be a branch or pull request build), the only "Change" (in the UI) is a Branch event. When manually querying the changesets, the first run is always an empty list. This doesn't include information about who contributed to a build. Any plugin that uses changesets in a meaningful way does not work for the first run.
My initial use case is sending emails to culprits for a failed build. This list is correctly populated on the next build, but should be available on the initial build. This would also block changeset introspection (e.g. searching for particular changelists).