Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

hook plugin returns null #16

Closed
ghost opened this issue Feb 11, 2015 · 7 comments
Closed

hook plugin returns null #16

ghost opened this issue Feb 11, 2015 · 7 comments
Labels

Comments

@ghost
Copy link

ghost commented Feb 11, 2015

I am using stash 3.6.1 and have a shell script to be triggered as a pre-receive hook via the external hook plugin.
I am getting this message and the push is failing:
Writing objects: 100% (8/8), 670 bytes | 0 bytes/s, done.
Total 8 (delta 6), reused 0 (delta 0)
remote: Hook com.ngs.stash.externalhooks.hook.ExternalPreReceiveHook failed. Error:
remote: null
To ssh://git@:7999/hpln/backend.git
! [remote rejected] BudIceEverGreen -> BudIceEverGreen (pre-receive hook declined)
error: failed to push some refs to 'ssh://git@

from the log we can see there is an exception being thrown:

2015-02-11 19:17:45,652 WARN [threadpool:thread-5] Access key user (romanog@ROMANOG9) @1QZZ33Kx1157x519x0 95s4cq 16.60.202.173 SSH - gi
t-receive-pack '/hpln/backend.git' c.a.s.i.h.r.PreReceiveRepositoryHookAdapter Receive Hook com.ngs.stash.externalhooks.hook.ExternalPre
ReceiveHook failed.
java.lang.NullPointerException: null
at java.lang.ProcessEnvironment.validateValue(ProcessEnvironment.java:119) ~[na:1.7.0_65]
at java.lang.ProcessEnvironment.access$400(ProcessEnvironment.java:61) ~[na:1.7.0_65]
at java.lang.ProcessEnvironment$Value.valueOf(ProcessEnvironment.java:202) ~[na:1.7.0_65]
at java.lang.ProcessEnvironment$StringEnvironment.put(ProcessEnvironment.java:241) ~[na:1.7.0_65]
at java.lang.ProcessEnvironment$StringEnvironment.put(ProcessEnvironment.java:220) ~[na:1.7.0_65]
at com.ngs.stash.externalhooks.hook.ExternalPreReceiveHook.onReceive(ExternalPreReceiveHook.java:81) ~[na:na]
at com.atlassian.stash.internal.hook.repository.PreReceiveRepositoryHookAdapter$1.visit(PreReceiveRepositoryHookAdapter.java:38)
[stash-service-impl-3.6.1.jar:na]
at com.atlassian.stash.internal.hook.repository.PreReceiveRepositoryHookAdapter$1.visit(PreReceiveRepositoryHookAdapter.java:33)
[stash-service-impl-3.6.1.jar:na]
at com.atlassian.stash.internal.hook.repository.DefaultRepositoryHookService$RepositoryHookPagedTransactionCallback.doInTransact
ion(DefaultRepositoryHookService.java:616) [stash-service-impl-3.6.1.jar:na]
at com.atlassian.stash.internal.hook.repository.DefaultRepositoryHookService$RepositoryHookPagedTransactionCallback.doInTransact
ion(DefaultRepositoryHookService.java:592) [stash-service-impl-3.6.1.jar:na]
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:133) [spring-tx-4.1.1.RELEASE.ja
r:4.1.1.RELEASE]
at com.atlassian.stash.internal.hook.repository.DefaultRepositoryHookService.visitEnabledHooks(DefaultRepositoryHookService.java
:304) [stash-service-impl-3.6.1.jar:na]
at com.atlassian.stash.internal.plugin.OsgiSafeProxyProvider$1.invoke(OsgiSafeProxyProvider.java:93) [stash-platform-3.6.1.jar:na]
at com.atlassian.stash.internal.hook.repository.PreReceiveRepositoryHookAdapter.onReceive(PreReceiveRepositoryHookAdapter.java:3
3) [stash-service-impl-3.6.1.jar:na]
at com.atlassian.stash.internal.hook.DefaultBuiltInHookHandlerFactory$1.handle(DefaultBuiltInHookHandlerFactory.java:43) [stash-
service-impl-3.6.1.jar:na]
at com.atlassian.stash.internal.hook.DefaultHookService.doHandleRequest(DefaultHookService.java:341) [stash-service-impl-3.6.1.j
ar:na]
at com.atlassian.stash.internal.hook.DefaultHookService.handleRequest(DefaultHookService.java:327) [stash-service-impl-3.6.1.jar
:na]
at com.atlassian.stash.internal.hook.DefaultHookService.handleRawRequest(DefaultHookService.java:238) [stash-service-impl-3.6.1.
jar:na]
at com.atlassian.stash.internal.hook.DefaultHookService$2$1.run(DefaultHookService.java:204) [stash-service-impl-3.6.1.jar:na]
at com.atlassian.stash.internal.concurrent.StateTransferringExecutor$StateTransferringRunnable.run(StateTransferringExecutor.jav
a:69) [stash-platform-3.6.1.jar:na]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [na:1.7.0_65]
at java.util.concurrent.FutureTask.run(FutureTask.java:262) [na:1.7.0_65]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178) [na:1.7
.0_65]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292) [na:1.7.0_65]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_65]
@seletskiy seletskiy added bug and removed bug labels Feb 12, 2015
@seletskiy
Copy link
Member

Looks like code fails at getting e-mail address of user performing push.

It shouldn't fail anyway, but just now you can try to check in your profile that e-mail is set.

@netzmensch
Copy link

I am getting the same error. As you mentioned, I checked for the correct email but it does not help. I get this error every time i do a git push. Do you have another workaround?

@seletskiy
Copy link
Member

@netzmensch: Hm, that's really strange. As far as I can see in backtrace, code failed at currentUser.getEmailAddress() call.

Try to use following release: https://github.com/ngsru/atlassian-external-hooks/releases/download/v2.1/external-hooks-2.1-1.jar

I've added branch for email-value validation.

@peterloron
Copy link

I'm also seeing this. In my case I'm using Jenkins to try and push a tag commit back to the Stash server. Using the 2.1-1 build resolves the issue.

@netzmensch
Copy link

@seletskiy yeah, it worked. thank you very much!

@seletskiy
Copy link
Member

Released at marketplace as version 2.2-1.

@ghost
Copy link
Author

ghost commented Feb 27, 2015

thanks a lot. all is ok now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants