nemccarthy / stash-pullrequest-builder-plugin

A Jenkins plugin for Building Stash Pull Requests
https://wiki.jenkins-ci.org/display/JENKINS/Stash+pullrequest+builder+plugin
Other
64 stars 130 forks source link

Not kicking off builds appropriately, logs unclear #9

Closed pnathan closed 9 years ago

pnathan commented 9 years ago

Working on prototyping this plugin, but it's not working. (I'm using the latest release from Jenkins Central).

Checking the logs, I see this the below error.

I'm entirely unclear (from the logs) what exactly is going wrong (which would allow me to quickly diagnose it)

Instead, I am now going to go over to the code and read it. :-(

May 06, 2015 5:16:01 PM WARNING stashpullrequestbuilder.stashpullrequestbuilder.stash.StashApiClient getPullRequests
invalid pull request response.
java.lang.NullPointerException
    at java.io.StringReader.<init>(StringReader.java:50)
    at org.codehaus.jackson.JsonFactory.createJsonParser(JsonFactory.java:636)
    at org.codehaus.jackson.map.ObjectMapper.readValue(ObjectMapper.java:1863)
    at stashpullrequestbuilder.stashpullrequestbuilder.stash.StashApiClient.parsePullRequestJson(StashApiClient.java:190)
    at stashpullrequestbuilder.stashpullrequestbuilder.stash.StashApiClient.getPullRequests(StashApiClient.java:46)
    at stashpullrequestbuilder.stashpullrequestbuilder.StashRepository.getTargetPullRequests(StashRepository.java:55)
    at stashpullrequestbuilder.stashpullrequestbuilder.StashPullRequestsBuilder.run(StashPullRequestsBuilder.java:30)
    at stashpullrequestbuilder.stashpullrequestbuilder.StashBuildTrigger.run(StashBuildTrigger.java:152)
    at hudson.triggers.Trigger.checkTriggers(Trigger.java:266)
    at hudson.triggers.Trigger$Cron.doRun(Trigger.java:214)
    at hudson.triggers.SafeTimerTask.run(SafeTimerTask.java:54)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)

May 06, 2015 5:20:01 PM INFO stashpullrequestbuilder.stashpullrequestbuilder.StashBuildTrigger run
Build Skip.
May 06, 2015 5:21:01 PM INFO stashpullrequestbuilder.stashpullrequestbuilder.StashPullRequestsBuilder run
Build Start.
May 06, 2015 5:21:01 PM INFO stashpullrequestbuilder.stashpullrequestbuilder.StashRepository getTargetPullRequests
Fetch PullRequests.
May 06, 2015 5:21:01 PM WARNING stashpullrequestbuilder.stashpullrequestbuilder.stash.StashApiClient getPullRequests
invalid pull request response.
java.lang.NullPointerException
    at java.io.StringReader.<init>(StringReader.java:50)
    at org.codehaus.jackson.JsonFactory.createJsonParser(JsonFactory.java:636)
    at org.codehaus.jackson.map.ObjectMapper.readValue(ObjectMapper.java:1863)
    at stashpullrequestbuilder.stashpullrequestbuilder.stash.StashApiClient.parsePullRequestJson(StashApiClient.java:190)
    at stashpullrequestbuilder.stashpullrequestbuilder.stash.StashApiClient.getPullRequests(StashApiClient.java:46)
    at stashpullrequestbuilder.stashpullrequestbuilder.StashRepository.getTargetPullRequests(StashRepository.java:55)
    at stashpullrequestbuilder.stashpullrequestbuilder.StashPullRequestsBuilder.run(StashPullRequestsBuilder.java:30)
    at stashpullrequestbuilder.stashpullrequestbuilder.StashBuildTrigger.run(StashBuildTrigger.java:152)
    at hudson.triggers.Trigger.checkTriggers(Trigger.java:266)
    at hudson.triggers.Trigger$Cron.doRun(Trigger.java:214)
    at hudson.triggers.SafeTimerTask.run(SafeTimerTask.java:54)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)
BennyMcBenBen commented 9 years ago

+1

nemccarthy commented 9 years ago

From that log message clearly its getting an invalid response from Stash...

To see what that response is turn on debug level logging for this plugin in jenkins log levels and this should give you more info, including the json response its getting back from Stash. Sounds like you are using a different version of Stash which might not work with this plugin, either that or its failing to get the URL right.

Debug level logs should work. You can turn this on at https://your-jenkins-server.com/log/. create a new log recorder called stashpullrequestbuilder.stashpullrequestbuilder set logger to the same string and set the level to all. This should give you the URL request and the response body in the logs... Look for PR-GET-REQUEST:

Happy to take any PRs to improve the log output.

nullfieldio commented 9 years ago

I am receiving the same thing. I have the logging set to all and this is what I am seeing.

Aug 21, 2015 9:12:00 AM INFO stashpullrequestbuilder.stashpullrequestbuilder.StashPullRequestsBuilder run

Build Start.

Aug 21, 2015 9:12:00 AM INFO stashpullrequestbuilder.stashpullrequestbuilder.StashRepository getTargetPullRequests

Fetch PullRequests.

Aug 21, 2015 9:12:00 AM FINEST stashpullrequestbuilder.stashpullrequestbuilder.stash.StashApiClient

PR-GET-REQUEST:https://stash.mindbrix.com/rest/api/1.0/projects/MBX/repos/SPI/pull-requests/

Aug 21, 2015 9:12:00 AM FINEST stashpullrequestbuilder.stashpullrequestbuilder.stash.StashApiClient

PR-GET-RESPONSE:null

Aug 21, 2015 9:12:00 AM WARNING stashpullrequestbuilder.stashpullrequestbuilder.stash.StashApiClient getPullRequests

invalid pull request response.
java.lang.NullPointerException
    at java.io.StringReader.<init>(StringReader.java:50)
    at org.codehaus.jackson.JsonFactory.createJsonParser(JsonFactory.java:636)
    at org.codehaus.jackson.map.ObjectMapper.readValue(ObjectMapper.java:1863)
    at stashpullrequestbuilder.stashpullrequestbuilder.stash.StashApiClient.parsePullRequestJson(StashApiClient.java:205)
    at stashpullrequestbuilder.stashpullrequestbuilder.stash.StashApiClient.getPullRequests(StashApiClient.java:46)
    at stashpullrequestbuilder.stashpullrequestbuilder.StashRepository.getTargetPullRequests(StashRepository.java:57)
    at stashpullrequestbuilder.stashpullrequestbuilder.StashPullRequestsBuilder.run(StashPullRequestsBuilder.java:30)
    at stashpullrequestbuilder.stashpullrequestbuilder.StashBuildTrigger.run(StashBuildTrigger.java:168)
    at hudson.triggers.Trigger.checkTriggers(Trigger.java:266)
    at hudson.triggers.Trigger$Cron.doRun(Trigger.java:214)
    at hudson.triggers.SafeTimerTask.run(SafeTimerTask.java:54)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)

When I go to the url manually with auth I receive the following json:

{"size":1,"limit":25,"isLastPage":true,"values":[{"id":4,"version":0,"title":"Toby test","description":"RAD-5853 Update readme","state":"OPEN","open":true,"closed":false,"createdDate":1440165468815,"updatedDate":1440165468815,"fromRef":{"id":"refs/heads/toby_test","displayId":"toby_test","latestChangeset":"ca46bfac1a321788cee19a5bfcfac92ca708fad3","repository":{"slug":"spi","id":93,"name":"SPI","scmId":"git","state":"AVAILABLE","statusMessage":"Available","forkable":true,"project":{"key":"MBX","id":1,"name":"MBX","public":false,"type":"NORMAL","link":{"url":"/projects/MBX","rel":"self"},"links":{"self":[{"href":"https://stash.mindbrix.com/projects/MBX"}]}},"public":false,"link":{"url":"/projects/MBX/repos/spi/browse","rel":"self"},"cloneUrl":"https://broylet@stash.mindbrix.com/scm/mbx/spi.git","links":{"clone":[{"href":"https://broylet@stash.mindbrix.com/scm/mbx/spi.git","name":"http"},{"href":"ssh://git@stash.mindbrix.com:7999/mbx/spi.git","name":"ssh"}],"self":[{"href":"https://stash.mindbrix.com/projects/MBX/repos/spi/browse"}]}}},"toRef":{"id":"refs/heads/master","displayId":"master","latestChangeset":"5e69369406af9688279215e40b3212a857184cab","repository":{"slug":"spi","id":93,"name":"SPI","scmId":"git","state":"AVAILABLE","statusMessage":"Available","forkable":true,"project":{"key":"MBX","id":1,"name":"MBX","public":false,"type":"NORMAL","link":{"url":"/projects/MBX","rel":"self"},"links":{"self":[{"href":"https://stash.mindbrix.com/projects/MBX"}]}},"public":false,"link":{"url":"/projects/MBX/repos/spi/browse","rel":"self"},"cloneUrl":"https://broylet@stash.mindbrix.com/scm/mbx/spi.git","links":{"clone":[{"href":"https://broylet@stash.mindbrix.com/scm/mbx/spi.git","name":"http"},{"href":"ssh://git@stash.mindbrix.com:7999/mbx/spi.git","name":"ssh"}],"self":[{"href":"https://stash.mindbrix.com/projects/MBX/repos/spi/browse"}]}}},"author":{"user":{"name":"broylet","emailAddress":"tbroyles@emortgagelogic.com","id":140,"displayName":"Toby Broyles","active":true,"slug":"broylet","type":"NORMAL","link":{"url":"/users/broylet","rel":"self"},"links":{"self":[{"href":"https://stash.mindbrix.com/users/broylet"}]}},"role":"AUTHOR","approved":false},"reviewers":[],"participants":[],"attributes":{"commentCount":["2"]},"link":{"url":"/projects/MBX/repos/spi/pull-requests/4","rel":"self"},"links":{"self":[{"href":"https://stash.mindbrix.com/projects/MBX/repos/spi/pull-requests/4"}]}}],"start":0}