add new build step which marks the relevant commit as “pending” using the github status api.
fixed webhook login to work with github enterprise, enabling calls to status api to succeed for both pending and final build statuses
Merge pull request #42 from afex/pending-status

Build step to set Github commit status as "pending"
Handle null results in GitHubPendingCommitStatus

Updates https://github.com/jenkinsci/github-plugin/pull/42
The change also contains unit tests

Signed-off-by: Oleg Nenashev <o.v.nenashev@gmail.com>
Rename GitHubPendingCommitStatus to GitHubSetCommitStatusBuilder

Just for the future use.

Signed-off-by: Oleg Nenashev <o.v.nenashev@gmail.com>
Add LICENSE info

Signed-off-by: Oleg Nenashev <o.v.nenashev@gmail.com>
[JENKINS-25312] - Prevent NPE if build has not been finished yet

May appear if somebody calls the publisher using AnyBuildStep

Signed-off-by: Oleg Nenashev <o.v.nenashev@gmail.com>
Disable the failing test

Signed-off-by: Oleg Nenashev <o.v.nenashev@gmail.com>
Merge pull request #48 from oleg-nenashev/release_1p10_preparations

Towards 1.10 release
Fix URLs in build log.

URLs have been corrupted by https://github.com/jenkinsci/github-plugin/pull/48

Signed-off-by: Oleg Nenashev <o.v.nenashev@gmail.com>
Properly disable GitHubSetCommitStatusBuilderTest::testNoBuildRevision() (JUnit3)

Signed-off-by: Oleg Nenashev <o.v.nenashev@gmail.com>
Merge pull request #49 from oleg-nenashev/master

Fix URLs in build log.
Updated the text
Handle errors gracefully, such as a failure to resolve a host name in case it is invalid.
Improved error checks in the configuration page
Updated the test to keep up with the UI change in the previous commit.
Fixed NoClassDefFoundError that causes the FromSCM extension point to fail to load.

Nov 17, 2014 6:47:10 PM hudson.ExtensionFinder$GuiceFinder$SezpozModule configure
WARNING: Failed to load com.cloudbees.jenkins.GitHubRepositoryNameContributor$FromSCM
java.lang.NoClassDefFoundError: org/jenkinsci/plugins/multiplescms/MultiSCM
	at java.lang.Class.getDeclaredMethods0(Native Method)
	at java.lang.Class.privateGetDeclaredMethods(Class.java:2442)
	at java.lang.Class.privateGetPublicMethods(Class.java:2562)
	at java.lang.Class.getMethods(Class.java:1427)
	at hudson.ExtensionFinder$GuiceFinder$SezpozModule.resolve(ExtensionFinder.java:484)
	at hudson.ExtensionFinder$GuiceFinder$SezpozModule.configure(ExtensionFinder.java:511)
	at com.google.inject.AbstractModule.configure(AbstractModule.java:62)
	at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:230)
	at com.google.inject.spi.Elements.getElements(Elements.java:103)
	at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:136)
	at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:104)
	at com.google.inject.Guice.createInjector(Guice.java:96)
	at com.google.inject.Guice.createInjector(Guice.java:73)
	at hudson.ExtensionFinder$GuiceFinder.<init>(ExtensionFinder.java:282)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
	at java.lang.Class.newInstance0(Class.java:372)
	at java.lang.Class.newInstance(Class.java:325)
	at net.java.sezpoz.IndexItem.instance(IndexItem.java:181)
	at hudson.ExtensionFinder$Sezpoz._find(ExtensionFinder.java:642)
	at hudson.ExtensionFinder$Sezpoz.find(ExtensionFinder.java:617)
	at hudson.ExtensionFinder._find(ExtensionFinder.java:151)
	at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:316)
	at hudson.ExtensionList.load(ExtensionList.java:295)
	at hudson.ExtensionList.ensureLoaded(ExtensionList.java:248)
	at hudson.ExtensionList.iterator(ExtensionList.java:138)
	at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:309)
	at hudson.ExtensionList.load(ExtensionList.java:295)
	at hudson.ExtensionList.ensureLoaded(ExtensionList.java:248)
	at hudson.ExtensionList.size(ExtensionList.java:157)
	at java.util.AbstractCollection.isEmpty(AbstractCollection.java:86)
	at com.cloudbees.jenkins.plugins.license.PluginImpl.postInitialize(PluginImpl.java:31)
	at hudson.PluginManager$2$1$2.run(PluginManager.java:374)
	at org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:146)
	at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:259)
	at jenkins.model.Jenkins$7.runTask(Jenkins.java:899)
	at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:187)
	at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:94)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
	at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.ClassNotFoundException: org.jenkinsci.plugins.multiplescms.MultiSCM
	at org.apache.tools.ant.AntClassLoader.findClassInComponents(AntClassLoader.java:1365)
	at org.apache.tools.ant.AntClassLoader.findClass(AntClassLoader.java:1315)
	at org.apache.tools.ant.AntClassLoader.loadClass(AntClassLoader.java:1068)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
	... 43 more
Defer the failure until instantiation.

When it is used in the signature, I'm getting the following exception:

SEVERE: Failed to create Guice container from all the plugins
com.google.inject.internal.guava.collect.$ComputationException: java.lang.NoClassDefFoundError: org/jenkinsci/plugins/multiplescms/MultiSCM
	at com.google.inject.internal.guava.collect.$ComputingConcurrentHashMap$ComputingMapAdapter.get(ComputingConcurrentHashMap.java:397)
	at com.google.inject.internal.FailableCache.get(FailableCache.java:49)
	at com.google.inject.internal.MembersInjectorStore.get(MembersInjectorStore.java:66)
	at com.google.inject.internal.ConstructorInjectorStore.createConstructor(ConstructorInjectorStore.java:74)
	at com.google.inject.internal.ConstructorInjectorStore.access$000(ConstructorInjectorStore.java:29)
	at com.google.inject.internal.ConstructorInjectorStore$1.create(ConstructorInjectorStore.java:37)
	at com.google.inject.internal.ConstructorInjectorStore$1.create(ConstructorInjectorStore.java:33)
	at com.google.inject.internal.FailableCache$1.apply(FailableCache.java:38)
	at com.google.inject.internal.guava.collect.$ComputingConcurrentHashMap$ComputingValueReference.compute(ComputingConcurrentHashMap.java:355)
	at com.google.inject.internal.guava.collect.$ComputingConcurrentHashMap$ComputingSegment.compute(ComputingConcurrentHashMap.java:184)
	at com.google.inject.internal.guava.collect.$ComputingConcurrentHashMap$ComputingSegment.getOrCompute(ComputingConcurrentHashMap.java:153)
	at com.google.inject.internal.guava.collect.$ComputingConcurrentHashMap.getOrCompute(ComputingConcurrentHashMap.java:69)
	at com.google.inject.internal.guava.collect.$ComputingConcurrentHashMap$ComputingMapAdapter.get(ComputingConcurrentHashMap.java:393)
	at com.google.inject.internal.FailableCache.get(FailableCache.java:49)
	at com.google.inject.internal.ConstructorInjectorStore.get(ConstructorInjectorStore.java:50)
	at com.google.inject.internal.ConstructorBindingImpl.initialize(ConstructorBindingImpl.java:137)
	at com.google.inject.internal.InjectorImpl.initializeBinding(InjectorImpl.java:537)
	at com.google.inject.internal.AbstractBindingProcessor$Processor$1.run(AbstractBindingProcessor.java:160)
	at com.google.inject.internal.ProcessedBindingData.initializeBindings(ProcessedBindingData.java:44)
	at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:123)
	at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:107)
	at com.google.inject.Guice.createInjector(Guice.java:96)
	at com.google.inject.Guice.createInjector(Guice.java:73)
	at hudson.ExtensionFinder$GuiceFinder.<init>(ExtensionFinder.java:282)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
	at java.lang.Class.newInstance0(Class.java:374)
	at java.lang.Class.newInstance(Class.java:327)
	at net.java.sezpoz.IndexItem.instance(IndexItem.java:181)
	at hudson.ExtensionFinder$Sezpoz._find(ExtensionFinder.java:642)
	at hudson.ExtensionFinder$Sezpoz.find(ExtensionFinder.java:617)
	at hudson.ExtensionFinder._find(ExtensionFinder.java:151)
	at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:316)
	at hudson.ExtensionList.load(ExtensionList.java:295)
	at hudson.ExtensionList.ensureLoaded(ExtensionList.java:248)
	at hudson.ExtensionList.iterator(ExtensionList.java:138)
	at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:309)
	at hudson.ExtensionList.load(ExtensionList.java:295)
	at hudson.ExtensionList.ensureLoaded(ExtensionList.java:248)
	at hudson.ExtensionList.size(ExtensionList.java:157)
	at java.util.AbstractCollection.isEmpty(AbstractCollection.java:86)
	at com.cloudbees.jenkins.plugins.license.PluginImpl.postInitialize(PluginImpl.java:31)
	at hudson.PluginManager$2$1$2.run(PluginManager.java:374)
	at org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:146)
	at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:259)
	at jenkins.model.Jenkins$7.runTask(Jenkins.java:899)
	at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:187)
	at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:94)
	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:722)
Caused by: java.lang.NoClassDefFoundError: org/jenkinsci/plugins/multiplescms/MultiSCM
	at java.lang.Class.getDeclaredMethods0(Native Method)
	at java.lang.Class.privateGetDeclaredMethods(Class.java:2451)
	at java.lang.Class.getDeclaredMethods(Class.java:1810)
	at com.google.inject.spi.InjectionPoint.getInjectionPoints(InjectionPoint.java:674)
	at com.google.inject.spi.InjectionPoint.forInstanceMethodsAndFields(InjectionPoint.java:366)
	at com.google.inject.internal.MembersInjectorStore.createWithListeners(MembersInjectorStore.java:91)
	at com.google.inject.internal.MembersInjectorStore.access$000(MembersInjectorStore.java:35)
	at com.google.inject.internal.MembersInjectorStore$1.create(MembersInjectorStore.java:43)
	at com.google.inject.internal.MembersInjectorStore$1.create(MembersInjectorStore.java:40)
	at com.google.inject.internal.FailableCache$1.apply(FailableCache.java:38)
	at com.google.inject.internal.guava.collect.$ComputingConcurrentHashMap$ComputingValueReference.compute(ComputingConcurrentHashMap.java:355)
	at com.google.inject.internal.guava.collect.$ComputingConcurrentHashMap$ComputingSegment.compute(ComputingConcurrentHashMap.java:184)
	at com.google.inject.internal.guava.collect.$ComputingConcurrentHashMap$ComputingSegment.getOrCompute(ComputingConcurrentHashMap.java:153)
	at com.google.inject.internal.guava.collect.$ComputingConcurrentHashMap.getOrCompute(ComputingConcurrentHashMap.java:69)
	at com.google.inject.internal.guava.collect.$ComputingConcurrentHashMap$ComputingMapAdapter.get(ComputingConcurrentHashMap.java:393)
	... 52 more
Caused by: java.lang.ClassNotFoundException: org.jenkinsci.plugins.multiplescms.MultiSCM
	at org.apache.tools.ant.AntClassLoader.findClassInComponents(AntClassLoader.java:1365)
	at org.apache.tools.ant.AntClassLoader.findClass(AntClassLoader.java:1315)
	at org.apache.tools.ant.AntClassLoader.loadClass(AntClassLoader.java:1068)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
	... 67 more
[maven-release-plugin] prepare release github-1.10
[maven-release-plugin] prepare for next development iteration
Use the combined status API so it can be integrated with other status-reporting tools