We are using the Jenkins Webhook plugin to notify Jenkins of a changes in the Stash repo. This works as long as new commits are push to Stash.
But how can we trigger a rebuild of a pull request when no new commit has been pushed?
As you pointed out, Stash will only notify Jenkins when new commits are added. If you want to rebuild a pull request at the same commit (due to a flaky test, say) I'd recommend re-running the failed build from the Jenkins UI. I'm not that familiar with Jenkins as we use Bamboo internally, but something like the Jenkins Rebuild Plugin may help you here.
Well, actually we also tried the Rebuild Plugin, but that does not work either because the Git Plugin keeps the latest checkout in memory.
I implemented a workaround by implementing a bookmarklet that searches for the latest commit id in the HTML page of Stash; this plugin is then using the REST API of the Jenkins Git Plugin to trigger the correct build.
This issue is registered at https://github.com/Nerdwin15/stash-jenkins-postreceive-webhook/issues/64. Currently a solution is being worked out; see: https://github.com/Nerdwin15/stash-jenkins-postreceive-webhook/pulls
Maybe Atlassian can have a helping hand there :-) ?