pull-request-notifier-for-bitbucket icon indicating copy to clipboard operation
pull-request-notifier-for-bitbucket copied to clipboard

Notification fires and hits jenkins, but doesn't get branch parameter

Open davidmichaelkarr opened this issue 8 years ago • 8 comments

I have a PRN with POST content that it is exactly this:

JP_CodeBranch=${PULL_REQUEST_FROM_BRANCH}

The URL is approximately this:

http://jenkinshost/jenkins/job/jobname/buildWithParameters

If I run the following in a shell:

curl -D - -verbose --request POST --user "user:password" -F "JP_CodeBranch=other-branch-name" http://jenkinshost/jenkins/job/jobname/buildWithParameters

I can then see in Jenkins that the build is spawned, and using the specified branch in the "JP_CodeBranch" variable.

However, if I let the Pull Request Notifier fire from a pull request event, it does hit jenkins, but it doesn't appear to get the parameter value, so jenkins uses the default of "master".

What might be wrong here?

davidmichaelkarr avatar Nov 30 '16 18:11 davidmichaelkarr

You should find the URL, being invoked, in the log of Bitbucket Server: https://github.com/tomasbjerre/pull-request-notifier-for-bitbucket/blob/master/src/main/java/se/bjurr/prnfb/http/UrlInvoker.java#L153

Here is how I configure the plugin: pull-request-notifier-url-config

tomasbjerre avatar Nov 30 '16 19:11 tomasbjerre

I'll have the people who can see the actual log check for that.

I see now that the documentation for available parameters could be a little more specific. For instance, what exactly does "EVERYTHING_URL" provide? The "Example" shows that it provides the "PULL_REQUEST_ID" and "PULL_REQUEST_TITLE". Is that really all?

davidmichaelkarr avatar Nov 30 '16 19:11 davidmichaelkarr

Oh, and I see that you're not using POST content, you're just putting it in the URL.

davidmichaelkarr avatar Nov 30 '16 19:11 davidmichaelkarr

It is resolved to BUTTON_TRIGGER_TITLE=${BUTTON_TRIGGER_TITLE}&INJECTION_URL_VALUE=${INJECTION_URL_VALUE}&PULL_REQUEST_ACTION=${PULL_REQUEST_ACTION}&PULL_REQUEST_AUTHOR_DISPLAY_NAME=${PULL_REQUEST_AUTHOR_DISPLAY_NAME}&PULL_REQUEST_AUTHOR_EMAIL=${PULL_REQUEST_AUTHOR_EMAIL}&PULL_REQUEST_AUTHOR_ID=${PULL_REQUEST_AUTHOR_ID}&PULL_REQUEST_AUTHOR_NAME=${PULL_REQUEST_AUTHOR_NAME}&PULL_REQUEST_AUTHOR_SLUG=${PULL_REQUEST_AUTHOR_SLUG}&PULL_REQUEST_COMMENT_ACTION=${PULL_REQUEST_COMMENT_ACTION}&PULL_REQUEST_COMMENT_TEXT=${PULL_REQUEST_COMMENT_TEXT}&PULL_REQUEST_FROM_BRANCH=${PULL_REQUEST_FROM_BRANCH}&PULL_REQUEST_FROM_HASH=${PULL_REQUEST_FROM_HASH}&PULL_REQUEST_FROM_HTTP_CLONE_URL=${PULL_REQUEST_FROM_HTTP_CLONE_URL}&PULL_REQUEST_FROM_ID=${PULL_REQUEST_FROM_ID}&PULL_REQUEST_FROM_REPO_ID=${PULL_REQUEST_FROM_REPO_ID}&PULL_REQUEST_FROM_REPO_NAME=${PULL_REQUEST_FROM_REPO_NAME}&PULL_REQUEST_FROM_REPO_PROJECT_ID=${PULL_REQUEST_FROM_REPO_PROJECT_ID}&PULL_REQUEST_FROM_REPO_PROJECT_KEY=${PULL_REQUEST_FROM_REPO_PROJECT_KEY}&PULL_REQUEST_FROM_REPO_SLUG=${PULL_REQUEST_FROM_REPO_SLUG}&PULL_REQUEST_FROM_SSH_CLONE_URL=${PULL_REQUEST_FROM_SSH_CLONE_URL}&PULL_REQUEST_ID=${PULL_REQUEST_ID}&PULL_REQUEST_MERGE_COMMIT=${PULL_REQUEST_MERGE_COMMIT}&PULL_REQUEST_PARTICIPANTS_APPROVED_COUNT=${PULL_REQUEST_PARTICIPANTS_APPROVED_COUNT}&PULL_REQUEST_PARTICIPANTS_EMAIL=${PULL_REQUEST_PARTICIPANTS_EMAIL}&PULL_REQUEST_REVIEWERS=${PULL_REQUEST_REVIEWERS}&PULL_REQUEST_REVIEWERS_APPROVED_COUNT=${PULL_REQUEST_REVIEWERS_APPROVED_COUNT}&PULL_REQUEST_REVIEWERS_EMAIL=${PULL_REQUEST_REVIEWERS_EMAIL}&PULL_REQUEST_REVIEWERS_ID=${PULL_REQUEST_REVIEWERS_ID}&PULL_REQUEST_REVIEWERS_SLUG=${PULL_REQUEST_REVIEWERS_SLUG}&PULL_REQUEST_STATE=${PULL_REQUEST_STATE}&PULL_REQUEST_TITLE=${PULL_REQUEST_TITLE}&PULL_REQUEST_TO_BRANCH=${PULL_REQUEST_TO_BRANCH}&PULL_REQUEST_TO_HASH=${PULL_REQUEST_TO_HASH}&PULL_REQUEST_TO_HTTP_CLONE_URL=${PULL_REQUEST_TO_HTTP_CLONE_URL}&PULL_REQUEST_TO_ID=${PULL_REQUEST_TO_ID}&PULL_REQUEST_TO_REPO_ID=${PULL_REQUEST_TO_REPO_ID}&PULL_REQUEST_TO_REPO_NAME=${PULL_REQUEST_TO_REPO_NAME}&PULL_REQUEST_TO_REPO_PROJECT_ID=${PULL_REQUEST_TO_REPO_PROJECT_ID}&PULL_REQUEST_TO_REPO_PROJECT_KEY=${PULL_REQUEST_TO_REPO_PROJECT_KEY}&PULL_REQUEST_TO_REPO_SLUG=${PULL_REQUEST_TO_REPO_SLUG}&PULL_REQUEST_TO_SSH_CLONE_URL=${PULL_REQUEST_TO_SSH_CLONE_URL}&PULL_REQUEST_URL=${PULL_REQUEST_URL}&PULL_REQUEST_USER_DISPLAY_NAME=${PULL_REQUEST_USER_DISPLAY_NAME}&PULL_REQUEST_USER_EMAIL_ADDRESS=${PULL_REQUEST_USER_EMAIL_ADDRESS}&PULL_REQUEST_USER_ID=${PULL_REQUEST_USER_ID}&PULL_REQUEST_USER_NAME=${PULL_REQUEST_USER_NAME}&PULL_REQUEST_USER_SLUG=${PULL_REQUEST_USER_SLUG}&PULL_REQUEST_VERSION=${PULL_REQUEST_VERSION} and then that is resolved again. I updated the README.

tomasbjerre avatar Nov 30 '16 19:11 tomasbjerre

You might have missed my previous comment.

I see that you're not using POST content, you're just putting it in the URL. I was trying to send the value with POST content, instead of a URL request parameter. I just tested moving it to the request parameter, and that works. Any idea why sending in POST content wouldn't work?

davidmichaelkarr avatar Nov 30 '16 19:11 davidmichaelkarr

Perhaps its how Apache HTTPClient (4.2.5) works. I'm not sure if the params are actually passed as post params or not in the end.

Is the issue resolved?

tomasbjerre avatar Nov 30 '16 19:11 tomasbjerre

Sort of. I moved the parameters to the URL, and that works. I'm a little concerned that sending it in POST content didn't do anything. We're going to set up a test instance with more debug output and run a similar test to see if we can see more info when it does the POST.

davidmichaelkarr avatar Nov 30 '16 22:11 davidmichaelkarr

+1, but for now we too can live without POST content (would have saved some time though)

maniankara avatar Mar 29 '17 06:03 maniankara