Note; this is a full on blocker for us, causing huge headaches on a daily basis.
One example of the behaviour is as follows (in addition to others listed above):
- Build triggered, updates Bitbucket commit build status as 'build in progress', build starts
- Job is marked as disabled (can be because PR is merged, branch is gone, or simply that the configuration of the job has changed)
- Bitbucket status is frozen as 'in progress', regardless of if the job finishes.
I believe this all hinges on the fact that a disabled job never fires an update if the job is disabled, regardless of the build state, and whether the PR exists/is closed, etc.
Triggers are fired on change, not poll.
You can also simulate by opening a pull request, closing it before the build finishes, then opening another PR with the exact same head, and you'll never be able to merge that PR (unless you push yet another change).