janinko / ghprb

github pull requests builder plugin for Jenkins
https://wiki.jenkins-ci.org/display/JENKINS/GitHub+pull+request+builder+plugin
MIT License
370 stars 20 forks source link

GHPRB - Could not update commit status of the Pull Request on GitHub. org.kohsuke.github.HttpException: Server returned HTTP response code: 200, message: 'OK' #455

Closed calshius closed 7 years ago

calshius commented 7 years ago

Hey guys,

Looking for some assistance with this, keep getting this error when trying to update the commit status on a PR:

GitHub pull request #1 of commit e77d34b0cb8e79456a7df6c99e879dfec98e9082, no merge conflicts.
Setting status of e77d34b0cb8e79456a7df6c99e879dfec98e9082 to PENDING with url http://jenkins-police/job/Ruby-workbench-builder/19/ and message: 'Build started sha1 is merged.'
Could not update commit status of the Pull Request on GitHub.
org.kohsuke.github.HttpException: Server returned HTTP response code: 200, message: 'OK' for URL: http://policestate/api/v3/repos/operationalplatform/ruby-workbench/statuses/e77d34b0cb8e79456a7df6c99e879dfec98e9082
    at org.kohsuke.github.Requester.parse(Requester.java:551)
    at org.kohsuke.github.Requester._to(Requester.java:262)
    at org.kohsuke.github.Requester.to(Requester.java:224)
    at org.kohsuke.github.GHRepository.createCommitStatus(GHRepository.java:973)
    at org.jenkinsci.plugins.ghprb.extensions.status.GhprbSimpleStatus.createCommitStatus(GhprbSimpleStatus.java:273)
    at org.jenkinsci.plugins.ghprb.extensions.status.GhprbSimpleStatus.onBuildStart(GhprbSimpleStatus.java:186)
    at org.jenkinsci.plugins.ghprb.GhprbBuilds.onStarted(GhprbBuilds.java:132)
    at org.jenkinsci.plugins.ghprb.GhprbBuildListener.onStarted(GhprbBuildListener.java:24)
    at org.jenkinsci.plugins.ghprb.GhprbBuildListener.onStarted(GhprbBuildListener.java:17)
    at hudson.model.listeners.RunListener.fireStarted(RunListener.java:216)
    at hudson.model.Run.execute(Run.java:1737)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
    at hudson.model.ResourceController.execute(ResourceController.java:98)
    at hudson.model.Executor.run(Executor.java:410)
Caused by: java.io.IOException: Failed to deserialize [{"url":"http://policestate/api/v3/repos/operationalplatform/ruby-workbench/statuses/e77d34b0cb8e79456a7df6c99e879dfec98e9082","id":2,"state":"pending","description":"The build is runnning!","target_url":"http://jenkins-police/job/Ruby-workbench-builder/lastSuccessfulBuild/console","context":"continuous-integration/jenkins","created_at":"2017-01-06T10:10:17Z","updated_at":"2017-01-06T10:10:17Z","creator":{"login":"callum","id":5,"avatar_url":"http://policestate/avatars/u/5?","gravatar_id":"","url":"http://policestate/api/v3/users/callum","html_url":"http://policestate/callum","followers_url":"http://policestate/api/v3/users/callum/followers","following_url":"http://policestate/api/v3/users/callum/following{/other_user}","gists_url":"http://policestate/api/v3/users/callum/gists{/gist_id}","starred_url":"http://policestate/api/v3/users/callum/starred{/owner}{/repo}","subscriptions_url":"http://policestate/api/v3/users/callum/subscriptions","organizations_url":"http://policestate/api/v3/users/callum/orgs","repos_url":"http://policestate/api/v3/users/callum/repos","events_url":"http://policestate/api/v3/users/callum/events{/privacy}","received_events_url":"http://policestate/api/v3/users/callum/received_events","type":"User","site_admin":false}},{"url":"http://policestate/api/v3/repos/operationalplatform/ruby-workbench/statuses/e77d34b0cb8e79456a7df6c99e879dfec98e9082","id":1,"state":"pending","description":"The build is runnning!","target_url":"http://jenkins-police/job/Ruby-workbench-builder/lastSuccessfulBuild/console","context":"continuous-integration/jenkins","created_at":"2017-01-06T09:36:01Z","updated_at":"2017-01-06T09:36:01Z","creator":{"login":"callum","id":5,"avatar_url":"http://policestate/avatars/u/5?","gravatar_id":"","url":"http://policestate/api/v3/users/callum","html_url":"http://policestate/callum","followers_url":"http://policestate/api/v3/users/callum/followers","following_url":"http://policestate/api/v3/users/callum/following{/other_user}","gists_url":"http://policestate/api/v3/users/callum/gists{/gist_id}","starred_url":"http://policestate/api/v3/users/callum/starred{/owner}{/repo}","subscriptions_url":"http://policestate/api/v3/users/callum/subscriptions","organizations_url":"http://policestate/api/v3/users/callum/orgs","repos_url":"http://policestate/api/v3/users/callum/repos","events_url":"http://policestate/api/v3/users/callum/events{/privacy}","received_events_url":"http://policestate/api/v3/users/callum/received_events","type":"User","site_admin":false}}]
    at org.kohsuke.github.Requester.parse(Requester.java:541)
    ... 13 more
Caused by: com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of org.kohsuke.github.GHCommitStatus out of START_ARRAY token
 at [Source: java.io.StringReader@51dc34e8; line: 1, column: 1]
    at com.fasterxml.jackson.databind.JsonMappingException.from(JsonMappingException.java:164)
    at com.fasterxml.jackson.databind.DeserializationContext.mappingException(DeserializationContext.java:575)
    at com.fasterxml.jackson.databind.DeserializationContext.mappingException(DeserializationContext.java:569)
    at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromArray(BeanDeserializerBase.java:1121)
    at com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeOther(BeanDeserializer.java:148)
    at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:123)
    at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:2888)
    at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2034)
    at org.kohsuke.github.Requester.parse(Requester.java:539)
    ... 13 more

However when I run a commit status from POSTMAN with the exact same urls and so on it works:

{
  "url": "http://policestate/api/v3/repos/operationalplatform/ruby-workbench/statuses/e77d34b0cb8e79456a7df6c99e879dfec98e9082",
  "id": 2,
  "state": "pending",
  "description": "The build is runnning!",
  "target_url": "http://jenkins-police/job/Ruby-workbench-builder/lastSuccessfulBuild/console",
  "context": "continuous-integration/jenkins",
  "created_at": "2017-01-06T10:10:17Z",
  "updated_at": "2017-01-06T10:10:17Z",
  "creator": {
    "login": "callum",
    "id": 5,
    "avatar_url": "http://policestate/avatars/u/5?",
    "gravatar_id": "",
    "url": "http://policestate/api/v3/users/callum",
    "html_url": "http://policestate/callum",
    "followers_url": "http://policestate/api/v3/users/callum/followers",
    "following_url": "http://policestate/api/v3/users/callum/following{/other_user}",
    "gists_url": "http://policestate/api/v3/users/callum/gists{/gist_id}",
    "starred_url": "http://policestate/api/v3/users/callum/starred{/owner}{/repo}",
    "subscriptions_url": "http://policestate/api/v3/users/callum/subscriptions",
    "organizations_url": "http://policestate/api/v3/users/callum/orgs",
    "repos_url": "http://policestate/api/v3/users/callum/repos",
    "events_url": "http://policestate/api/v3/users/callum/events{/privacy}",
    "received_events_url": "http://policestate/api/v3/users/callum/received_events",
    "type": "User",
    "site_admin": false
  }
}

Github Ent version: 284 GHPRB version: 1.33.4 Jenkins version: 2.7.4

Any assistance with regards to this issue would be greatly appreciated.

calshius commented 7 years ago

Turns out it was a DNS issue we were facing.

We were running Jenkins as a container in Openshift and had our github URL specified as a namespace which was causing a initial redirect.