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

Jenkins null pointer exception when adding a comment to an issue or a commit with GitLab Webhook #1714

Open
yiftahw opened this issue Oct 24, 2024 · 0 comments

Comments

@yiftahw
Copy link
Contributor

yiftahw commented Oct 24, 2024

Jenkins and plugins versions report

Environment
Jenkins: 2.479
OS: Linux - 6.4.0-150600.23.25-default
Java: 17.0.12 - Eclipse Adoptium (OpenJDK 64-Bit Server VM)
---
ant:511.v0a_a_1a_334f41b_
antisamy-markup-formatter:162.v0e6ec0fcfcf6
apache-httpcomponents-client-4-api:4.5.14-208.v438351942757
asm-api:9.7.1-97.v4cc844130d97
bootstrap5-api:5.3.3-1
bouncycastle-api:2.30.1.78.1-248.ve27176eb_46cb_
branch-api:2.1178.v969d9eb_c728e
build-timeout:1.33
caffeine-api:3.1.8-133.v17b_1ff2e0599
checks-api:2.2.1
cloudbees-folder:6.955.v81e2a_35c08d3
commons-lang3-api:3.17.0-84.vb_b_938040b_078
commons-text-api:1.12.0-129.v99a_50df237f7
credentials:1384.vf0a_2ed06f9c6
credentials-binding:681.vf91669a_32e45
dark-theme:479.v661b_1b_911c01
display-url-api:2.204.vf6fddd8a_8b_e9
durable-task:577.v2a_8a_4b_7c0247
echarts-api:5.5.1-3
eddsa-api:0.3.0-4.v84c6f0f4969e
email-ext:1844.v3ea_a_b_842374a_
font-awesome-api:6.6.0-2
generic-webhook-trigger:2.2.5
git:5.5.2
git-client:5.0.0
github:1.40.0
github-api:1.321-468.v6a_9f5f2d5a_7e
github-branch-source:1803.v98e3d8a_c8169
gitlab-plugin:1.9.5-SNAPSHOT (private-9b66eccb-yiftah)
gradle:2.13.1
gson-api:2.11.0-85.v1f4e87273c33
instance-identity:201.vd2a_b_5a_468a_a_6
ionicons-api:74.v93d5eb_813d5f
jackson2-api:2.17.0-379.v02de8ec9f64c
jakarta-activation-api:2.1.3-1
jakarta-mail-api:2.1.3-1
javax-activation-api:1.2.0-7
jaxb:2.3.9-1
jersey2-api:2.44-151.v6df377fff741
jjwt-api:0.11.5-112.ve82dfb_224b_a_d
joda-time-api:2.13.0-93.v9934da_29b_a_e9
jquery3-api:3.7.1-2
json-api:20240303-101.v7a_8666713110
json-path-api:2.9.0-118.v7f23ed82a_8b_8
junit:1307.vdd5b_2646279e
ldap:725.v3cb_b_711b_1a_ef
mailer:488.v0c9639c1a_eb_3
matrix-auth:3.2.2
matrix-project:839.vff91cd7e3a_b_2
metrics:4.2.21-451.vd51df8df52ec
mina-sshd-api-common:2.14.0-133.vcc091215a_358
mina-sshd-api-core:2.14.0-133.vcc091215a_358
okhttp-api:4.11.0-172.vda_da_1feeb_c6e
pam-auth:1.11
pipeline-build-step:540.vb_e8849e1a_b_d8
pipeline-github-lib:61.v629f2cc41d83
pipeline-graph-analysis:216.vfd8b_ece330ca_
pipeline-graph-view:340.v28cecee8b_25f
pipeline-groovy-lib:740.va_2701257fe8d
pipeline-input-step:495.ve9c153f6067b_
pipeline-milestone-step:119.vdfdc43fc3b_9a_
pipeline-model-api:2.2214.vb_b_34b_2ea_9b_83
pipeline-model-definition:2.2214.vb_b_34b_2ea_9b_83
pipeline-model-extensions:2.2214.vb_b_34b_2ea_9b_83
pipeline-stage-step:312.v8cd10304c27a_
pipeline-stage-tags-metadata:2.2214.vb_b_34b_2ea_9b_83
plain-credentials:183.va_de8f1dd5a_2b_
plugin-util-api:5.1.0
resource-disposer:0.24
scm-api:696.v778d637b_a_762
script-security:1365.v4778ca_84b_de5
snakeyaml-api:2.3-123.v13484c65210a_
ssh-credentials:343.v884f71d78167
ssh-slaves:2.973.v0fa_8c0dea_f9f
structs:338.v848422169819
theme-manager:262.vc57ee4a_eda_5d
timestamper:1.27
token-macro:400.v35420b_922dcb_
trilead-api:2.147.vb_73cc728a_32e
variant:60.v7290fc0eb_b_cd
workflow-aggregator:600.vb_57cdd26fdd7
workflow-api:1336.vee415d95c521
workflow-basic-steps:1058.vcb_fc1e3a_21a_9
workflow-cps:3975.v567e2a_1ffa_22
workflow-durable-task-step:1371.vb_7cec8f3b_95e
workflow-job:1436.vfa_244484591f
workflow-multibranch:795.ve0cb_1f45ca_9a_
workflow-scm-step:427.v4ca_6512e7df1
workflow-step-api:678.v3ee58b_469476
workflow-support:930.vf51d22b_ce488
ws-cleanup:0.47

What Operating System are you using (both controller, and any agents involved in the problem)?

Windows 10
OpenSUSE Leap 15.6 VM on Hyper-V

Reproduction steps

  1. run the docker-compose services in src/docker
  2. generate an API token in GitLab and apply it to the GitLab plugin settings inside Jenkins settings panel
  3. create a pipeline in Jenkins:
    • enable GitLab build triggers
    • generate a token for the pipeline
    • enable comments in the Enabled GitLab triggers section (defaults to Jenkins please retry a build)
  4. create a webhook in GitLab (not a Jenkins Integration)
    • copy the token from the pipeline configuration to the GitLab webhook
    • enable "Comments" in the trigger section
  5. create an issue or a commit in GitLab
  6. comment on it: Jenkins please retry a build

Expected Results

Jenkins should quietly do nothing?

Actual Results

null pointer exception because the return value of "com.dabsquared.gitlabjenkins.gitlab.hook.model.NoteHook.getMergeRequest()" is null ```text docker-jenkins-1 | 2024-10-24 15:34:50.350+0000 [id=344] INFO c.d.g.webhook.GitLabWebHook#getDynamic: WebHook called with url: /project/test_pipeline docker-jenkins-1 | 2024-10-24 15:34:50.351+0000 [id=344] INFO c.d.g.t.h.AbstractWebHookTriggerHandler#handle: test_pipeline triggered for note. docker-jenkins-1 | 2024-10-24 15:34:50.352+0000 [id=344] WARNING o.e.j.e.n.ContextHandler$APIContext#log: Error while serving http://jenkins:8080/project/test_pipeline docker-jenkins-1 | java.lang.NullPointerException: Cannot invoke "com.dabsquared.gitlabjenkins.gitlab.hook.model.MergeRequestObjectAttributes.getSourceProjectId()" because the return value of "com.dabsquared.gitlabjenkins.gitlab.hook.model.NoteHook.getMergeRequest()" is null docker-jenkins-1 | at PluginClassLoader for gitlab-plugin//com.dabsquared.gitlabjenkins.trigger.handler.note.NoteHookTriggerHandlerImpl.retrieveCauseData(NoteHookTriggerHandlerImpl.java:70) docker-jenkins-1 | at PluginClassLoader for gitlab-plugin//com.dabsquared.gitlabjenkins.trigger.handler.note.NoteHookTriggerHandlerImpl.retrieveCauseData(NoteHookTriggerHandlerImpl.java:22) docker-jenkins-1 | at PluginClassLoader for gitlab-plugin//com.dabsquared.gitlabjenkins.trigger.handler.AbstractWebHookTriggerHandler.createActions(AbstractWebHookTriggerHandler.java:108) docker-jenkins-1 | at PluginClassLoader for gitlab-plugin//com.dabsquared.gitlabjenkins.trigger.handler.AbstractWebHookTriggerHandler.handle(AbstractWebHookTriggerHandler.java:59) docker-jenkins-1 | at PluginClassLoader for gitlab-plugin//com.dabsquared.gitlabjenkins.trigger.handler.note.NoteHookTriggerHandlerImpl.handle(NoteHookTriggerHandlerImpl.java:40) docker-jenkins-1 | at PluginClassLoader for gitlab-plugin//com.dabsquared.gitlabjenkins.trigger.handler.note.NoteHookTriggerHandlerImpl.handle(NoteHookTriggerHandlerImpl.java:22) docker-jenkins-1 | at PluginClassLoader for gitlab-plugin//com.dabsquared.gitlabjenkins.GitLabPushTrigger.onPost(GitLabPushTrigger.java:559) docker-jenkins-1 | at PluginClassLoader for gitlab-plugin//com.dabsquared.gitlabjenkins.webhook.build.NoteBuildAction$1.performOnPost(NoteBuildAction.java:57) docker-jenkins-1 | at PluginClassLoader for gitlab-plugin//com.dabsquared.gitlabjenkins.webhook.build.BuildWebHookAction$TriggerNotifier.run(BuildWebHookAction.java:87) docker-jenkins-1 | at hudson.security.ACL.impersonate2(ACL.java:425) docker-jenkins-1 | at hudson.security.ACL.impersonate(ACL.java:437) docker-jenkins-1 | at PluginClassLoader for gitlab-plugin//com.dabsquared.gitlabjenkins.webhook.build.NoteBuildAction.execute(NoteBuildAction.java:53) docker-jenkins-1 | at PluginClassLoader for gitlab-plugin//com.dabsquared.gitlabjenkins.webhook.GitLabWebHook.getDynamic(GitLabWebHook.java:42) docker-jenkins-1 | at java.base/java.lang.invoke.MethodHandle.invokeWithArguments(Unknown Source) docker-jenkins-1 | at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:484) docker-jenkins-1 | Caused: java.lang.reflect.InvocationTargetException docker-jenkins-1 | at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:488) docker-jenkins-1 | at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:497) docker-jenkins-1 | at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:218) docker-jenkins-1 | at org.kohsuke.stapler.MetaClass$10.dispatch(MetaClass.java:588) docker-jenkins-1 | at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:800) docker-jenkins-1 | at org.kohsuke.stapler.Stapler.invoke(Stapler.java:938) docker-jenkins-1 | at org.kohsuke.stapler.MetaClass$10.dispatch(MetaClass.java:590) docker-jenkins-1 | at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:800) docker-jenkins-1 | at org.kohsuke.stapler.Stapler.invoke(Stapler.java:938) docker-jenkins-1 | at org.kohsuke.stapler.Stapler.invoke(Stapler.java:721) docker-jenkins-1 | at org.kohsuke.stapler.Stapler.service(Stapler.java:253) docker-jenkins-1 | at Jenkins Main ClassLoader//jakarta.servlet.http.HttpServlet.service(HttpServlet.java:587) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.servlet.ServletHolder.handle(ServletHolder.java:765) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1668) docker-jenkins-1 | at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:204) docker-jenkins-1 | at io.jenkins.servlet.FilterChainWrapper$2.doFilter(FilterChainWrapper.java:53) docker-jenkins-1 | at PluginClassLoader for metrics//jenkins.metrics.impl.MetricsFilter.doFilter(MetricsFilter.java:125) docker-jenkins-1 | at io.jenkins.servlet.FilterWrapper$1.doFilter(FilterWrapper.java:42) docker-jenkins-1 | at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:201) docker-jenkins-1 | at jenkins.util.HttpServletFilter$1.doFilter(HttpServletFilter.java:77) docker-jenkins-1 | at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:201) docker-jenkins-1 | at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:207) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.servlet.FilterHolder.doFilter(FilterHolder.java:202) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1638) docker-jenkins-1 | at jenkins.ErrorAttributeFilter.doFilter(ErrorAttributeFilter.java:29) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.servlet.FilterHolder.doFilter(FilterHolder.java:202) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1638) docker-jenkins-1 | at PluginClassLoader for gitlab-plugin//com.dabsquared.gitlabjenkins.webhook.GitLabWebHook$GitlabWebHookCrumbExclusion.process(GitLabWebHook.java:52) docker-jenkins-1 | at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:128) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.servlet.FilterHolder.doFilter(FilterHolder.java:202) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1638) docker-jenkins-1 | at hudson.security.ChainedServletFilter2$1.doFilter(ChainedServletFilter2.java:94) docker-jenkins-1 | at jenkins.security.AcegiSecurityExceptionFilter.doFilter(AcegiSecurityExceptionFilter.java:52) docker-jenkins-1 | at hudson.security.ChainedServletFilter2$1.doFilter(ChainedServletFilter2.java:99) docker-jenkins-1 | at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:54) docker-jenkins-1 | at hudson.security.ChainedServletFilter2$1.doFilter(ChainedServletFilter2.java:99) docker-jenkins-1 | at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) docker-jenkins-1 | at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) docker-jenkins-1 | at hudson.security.ChainedServletFilter2$1.doFilter(ChainedServletFilter2.java:99) docker-jenkins-1 | at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) docker-jenkins-1 | at hudson.security.ChainedServletFilter2$1.doFilter(ChainedServletFilter2.java:99) docker-jenkins-1 | at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:145) docker-jenkins-1 | at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:101) docker-jenkins-1 | at hudson.security.ChainedServletFilter2$1.doFilter(ChainedServletFilter2.java:99) docker-jenkins-1 | at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:227) docker-jenkins-1 | at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:221) docker-jenkins-1 | at hudson.security.ChainedServletFilter2$1.doFilter(ChainedServletFilter2.java:99) docker-jenkins-1 | at jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:98) docker-jenkins-1 | at hudson.security.ChainedServletFilter2$1.doFilter(ChainedServletFilter2.java:99) docker-jenkins-1 | at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:117) docker-jenkins-1 | at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87) docker-jenkins-1 | at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:63) docker-jenkins-1 | at hudson.security.ChainedServletFilter2$1.doFilter(ChainedServletFilter2.java:99) docker-jenkins-1 | at hudson.security.ChainedServletFilter2.doFilter(ChainedServletFilter2.java:111) docker-jenkins-1 | at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:173) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.servlet.FilterHolder.doFilter(FilterHolder.java:202) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1638) docker-jenkins-1 | at org.kohsuke.stapler.UncaughtExceptionFilter.doFilter(UncaughtExceptionFilter.java:26) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.servlet.FilterHolder.doFilter(FilterHolder.java:202) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1638) docker-jenkins-1 | at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:86) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.servlet.FilterHolder.doFilter(FilterHolder.java:202) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1638) docker-jenkins-1 | at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:31) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.servlet.FilterHolder.doFilter(FilterHolder.java:202) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1638) docker-jenkins-1 | at jenkins.security.SuspiciousRequestFilter.doFilter(SuspiciousRequestFilter.java:38) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.servlet.FilterHolder.doFilter(FilterHolder.java:202) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1638) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.servlet.ServletHandler.doHandle(ServletHandler.java:526) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.nested.ScopedHandler.handle(ScopedHandler.java:127) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.security.SecurityHandler.handle(SecurityHandler.java:574) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.nested.HandlerWrapper.handle(HandlerWrapper.java:124) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.nested.ScopedHandler.nextHandle(ScopedHandler.java:197) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.nested.SessionHandler.doHandle(SessionHandler.java:609) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.nested.ScopedHandler.nextHandle(ScopedHandler.java:195) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.nested.ContextHandler.doHandle(ContextHandler.java:1035) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.nested.ScopedHandler.nextScope(ScopedHandler.java:164) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.servlet.ServletHandler.doScope(ServletHandler.java:483) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.nested.ScopedHandler.nextScope(ScopedHandler.java:162) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.nested.SessionHandler.doScope(SessionHandler.java:586) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.nested.ScopedHandler.nextScope(ScopedHandler.java:162) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.nested.ContextHandler.doScope(ContextHandler.java:956) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.nested.ScopedHandler.handle(ScopedHandler.java:125) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.nested.ContextHandler.handle(ContextHandler.java:1694) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.nested.HttpChannel$RequestDispatchable.dispatch(HttpChannel.java:1576) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.nested.HttpChannel.dispatch(HttpChannel.java:738) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.nested.HttpChannel.handle(HttpChannel.java:511) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.nested.ContextHandler$CoreContextHandler$CoreToNestedHandler.handle(ContextHandler.java:2862) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1060) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:597) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.server.Server.handle(Server.java:181) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:661) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.server.internal.HttpConnection.onFillable(HttpConnection.java:406) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:322) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:99) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:478) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:441) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:293) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.run(AdaptiveExecutionStrategy.java:201) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:311) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:979) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1209) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1164) docker-jenkins-1 | at java.base/java.lang.Thread.run(Unknown Source) docker-jenkins-1 | 2024-10-24 15:34:50.356+0000 [id=344] WARNING h.i.i.InstallUncaughtExceptionHandler#handleException: Caught unhandled exception with ID 37b90a71-f1b9-4378-bc12-9ec5dbe29e35 docker-jenkins-1 | java.lang.NullPointerException: Cannot invoke "com.dabsquared.gitlabjenkins.gitlab.hook.model.MergeRequestObjectAttributes.getSourceProjectId()" because the return value of "com.dabsquared.gitlabjenkins.gitlab.hook.model.NoteHook.getMergeRequest()" is null docker-jenkins-1 | at PluginClassLoader for gitlab-plugin//com.dabsquared.gitlabjenkins.trigger.handler.note.NoteHookTriggerHandlerImpl.retrieveCauseData(NoteHookTriggerHandlerImpl.java:70) docker-jenkins-1 | at PluginClassLoader for gitlab-plugin//com.dabsquared.gitlabjenkins.trigger.handler.note.NoteHookTriggerHandlerImpl.retrieveCauseData(NoteHookTriggerHandlerImpl.java:22) docker-jenkins-1 | at PluginClassLoader for gitlab-plugin//com.dabsquared.gitlabjenkins.trigger.handler.AbstractWebHookTriggerHandler.createActions(AbstractWebHookTriggerHandler.java:108) docker-jenkins-1 | at PluginClassLoader for gitlab-plugin//com.dabsquared.gitlabjenkins.trigger.handler.AbstractWebHookTriggerHandler.handle(AbstractWebHookTriggerHandler.java:59) docker-jenkins-1 | at PluginClassLoader for gitlab-plugin//com.dabsquared.gitlabjenkins.trigger.handler.note.NoteHookTriggerHandlerImpl.handle(NoteHookTriggerHandlerImpl.java:40) docker-jenkins-1 | at PluginClassLoader for gitlab-plugin//com.dabsquared.gitlabjenkins.trigger.handler.note.NoteHookTriggerHandlerImpl.handle(NoteHookTriggerHandlerImpl.java:22) docker-jenkins-1 | at PluginClassLoader for gitlab-plugin//com.dabsquared.gitlabjenkins.GitLabPushTrigger.onPost(GitLabPushTrigger.java:559) docker-jenkins-1 | at PluginClassLoader for gitlab-plugin//com.dabsquared.gitlabjenkins.webhook.build.NoteBuildAction$1.performOnPost(NoteBuildAction.java:57) docker-jenkins-1 | at PluginClassLoader for gitlab-plugin//com.dabsquared.gitlabjenkins.webhook.build.BuildWebHookAction$TriggerNotifier.run(BuildWebHookAction.java:87) docker-jenkins-1 | at hudson.security.ACL.impersonate2(ACL.java:425) docker-jenkins-1 | at hudson.security.ACL.impersonate(ACL.java:437) docker-jenkins-1 | at PluginClassLoader for gitlab-plugin//com.dabsquared.gitlabjenkins.webhook.build.NoteBuildAction.execute(NoteBuildAction.java:53) docker-jenkins-1 | at PluginClassLoader for gitlab-plugin//com.dabsquared.gitlabjenkins.webhook.GitLabWebHook.getDynamic(GitLabWebHook.java:42) docker-jenkins-1 | at java.base/java.lang.invoke.MethodHandle.invokeWithArguments(Unknown Source) docker-jenkins-1 | at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:484) docker-jenkins-1 | at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:497) docker-jenkins-1 | at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:218) docker-jenkins-1 | at org.kohsuke.stapler.MetaClass$10.dispatch(MetaClass.java:588) docker-jenkins-1 | at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:800) docker-jenkins-1 | Caused: jakarta.servlet.ServletException docker-jenkins-1 | at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:851) docker-jenkins-1 | at org.kohsuke.stapler.Stapler.invoke(Stapler.java:938) docker-jenkins-1 | at org.kohsuke.stapler.MetaClass$10.dispatch(MetaClass.java:590) docker-jenkins-1 | at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:800) docker-jenkins-1 | at org.kohsuke.stapler.Stapler.invoke(Stapler.java:938) docker-jenkins-1 | at org.kohsuke.stapler.Stapler.invoke(Stapler.java:721) docker-jenkins-1 | at org.kohsuke.stapler.Stapler.service(Stapler.java:253) docker-jenkins-1 | at Jenkins Main ClassLoader//jakarta.servlet.http.HttpServlet.service(HttpServlet.java:587) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.servlet.ServletHolder.handle(ServletHolder.java:765) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1668) docker-jenkins-1 | at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:204) docker-jenkins-1 | at io.jenkins.servlet.FilterChainWrapper$2.doFilter(FilterChainWrapper.java:53) docker-jenkins-1 | Caused: javax.servlet.ServletException docker-jenkins-1 | at io.jenkins.servlet.ServletExceptionWrapper.fromJakartaServletException(ServletExceptionWrapper.java:14) docker-jenkins-1 | at io.jenkins.servlet.FilterChainWrapper$2.doFilter(FilterChainWrapper.java:62) docker-jenkins-1 | at PluginClassLoader for metrics//jenkins.metrics.impl.MetricsFilter.doFilter(MetricsFilter.java:125) docker-jenkins-1 | at io.jenkins.servlet.FilterWrapper$1.doFilter(FilterWrapper.java:42) docker-jenkins-1 | Caused: jakarta.servlet.ServletException docker-jenkins-1 | at io.jenkins.servlet.ServletExceptionWrapper.toJakartaServletException(ServletExceptionWrapper.java:9) docker-jenkins-1 | at io.jenkins.servlet.FilterWrapper$1.doFilter(FilterWrapper.java:53) docker-jenkins-1 | at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:201) docker-jenkins-1 | at jenkins.util.HttpServletFilter$1.doFilter(HttpServletFilter.java:77) docker-jenkins-1 | at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:201) docker-jenkins-1 | at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:207) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.servlet.FilterHolder.doFilter(FilterHolder.java:202) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1638) docker-jenkins-1 | at jenkins.ErrorAttributeFilter.doFilter(ErrorAttributeFilter.java:29) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.servlet.FilterHolder.doFilter(FilterHolder.java:202) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1638) docker-jenkins-1 | at PluginClassLoader for gitlab-plugin//com.dabsquared.gitlabjenkins.webhook.GitLabWebHook$GitlabWebHookCrumbExclusion.process(GitLabWebHook.java:52) docker-jenkins-1 | at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:128) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.servlet.FilterHolder.doFilter(FilterHolder.java:202) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1638) docker-jenkins-1 | at hudson.security.ChainedServletFilter2$1.doFilter(ChainedServletFilter2.java:94) docker-jenkins-1 | at jenkins.security.AcegiSecurityExceptionFilter.doFilter(AcegiSecurityExceptionFilter.java:52) docker-jenkins-1 | at hudson.security.ChainedServletFilter2$1.doFilter(ChainedServletFilter2.java:99) docker-jenkins-1 | at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:54) docker-jenkins-1 | at hudson.security.ChainedServletFilter2$1.doFilter(ChainedServletFilter2.java:99) docker-jenkins-1 | at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) docker-jenkins-1 | at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) docker-jenkins-1 | at hudson.security.ChainedServletFilter2$1.doFilter(ChainedServletFilter2.java:99) docker-jenkins-1 | at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) docker-jenkins-1 | at hudson.security.ChainedServletFilter2$1.doFilter(ChainedServletFilter2.java:99) docker-jenkins-1 | at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:145) docker-jenkins-1 | at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:101) docker-jenkins-1 | at hudson.security.ChainedServletFilter2$1.doFilter(ChainedServletFilter2.java:99) docker-jenkins-1 | at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:227) docker-jenkins-1 | at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:221) docker-jenkins-1 | at hudson.security.ChainedServletFilter2$1.doFilter(ChainedServletFilter2.java:99) docker-jenkins-1 | at jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:98) docker-jenkins-1 | at hudson.security.ChainedServletFilter2$1.doFilter(ChainedServletFilter2.java:99) docker-jenkins-1 | at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:117) docker-jenkins-1 | at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87) docker-jenkins-1 | at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:63) docker-jenkins-1 | at hudson.security.ChainedServletFilter2$1.doFilter(ChainedServletFilter2.java:99) docker-jenkins-1 | at hudson.security.ChainedServletFilter2.doFilter(ChainedServletFilter2.java:111) docker-jenkins-1 | at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:173) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.servlet.FilterHolder.doFilter(FilterHolder.java:202) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1638) docker-jenkins-1 | at org.kohsuke.stapler.UncaughtExceptionFilter.doFilter(UncaughtExceptionFilter.java:26) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.servlet.FilterHolder.doFilter(FilterHolder.java:202) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1638) docker-jenkins-1 | at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:86) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.servlet.FilterHolder.doFilter(FilterHolder.java:202) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1638) docker-jenkins-1 | at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:31) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.servlet.FilterHolder.doFilter(FilterHolder.java:202) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1638) docker-jenkins-1 | at jenkins.security.SuspiciousRequestFilter.doFilter(SuspiciousRequestFilter.java:38) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.servlet.FilterHolder.doFilter(FilterHolder.java:202) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1638) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.servlet.ServletHandler.doHandle(ServletHandler.java:526) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.nested.ScopedHandler.handle(ScopedHandler.java:127) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.security.SecurityHandler.handle(SecurityHandler.java:574) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.nested.HandlerWrapper.handle(HandlerWrapper.java:124) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.nested.ScopedHandler.nextHandle(ScopedHandler.java:197) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.nested.SessionHandler.doHandle(SessionHandler.java:609) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.nested.ScopedHandler.nextHandle(ScopedHandler.java:195) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.nested.ContextHandler.doHandle(ContextHandler.java:1035) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.nested.ScopedHandler.nextScope(ScopedHandler.java:164) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.servlet.ServletHandler.doScope(ServletHandler.java:483) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.nested.ScopedHandler.nextScope(ScopedHandler.java:162) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.nested.SessionHandler.doScope(SessionHandler.java:586) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.nested.ScopedHandler.nextScope(ScopedHandler.java:162) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.nested.ContextHandler.doScope(ContextHandler.java:956) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.nested.ScopedHandler.handle(ScopedHandler.java:125) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.nested.ContextHandler.handle(ContextHandler.java:1694) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.nested.HttpChannel$RequestDispatchable.dispatch(HttpChannel.java:1576) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.nested.HttpChannel.dispatch(HttpChannel.java:738) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.nested.HttpChannel.handle(HttpChannel.java:511) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.ee9.nested.ContextHandler$CoreContextHandler$CoreToNestedHandler.handle(ContextHandler.java:2862) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1060) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:597) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.server.Server.handle(Server.java:181) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:661) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.server.internal.HttpConnection.onFillable(HttpConnection.java:406) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:322) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:99) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:478) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:441) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:293) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.run(AdaptiveExecutionStrategy.java:201) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:311) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:979) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1209) docker-jenkins-1 | at Jenkins Main ClassLoader//org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1164) docker-jenkins-1 | at java.base/java.lang.Thread.run(Unknown Source) ```

Anything else?

GitLab Comment Webhook documentation suggests it send webhooks when adding comments to:

  • commits
  • merge requests
  • issues
  • snippets
webhook json data sent when note added to issue { "object_kind": "note", "event_type": "note", "user": { "id": 1, "name": "Administrator", "username": "root", "avatar_url": "https://www.gravatar.com/avatar/8305e7e0c986a93a16f0f65987d392371f6cd64e8825f1eafab86ec8769db86c?s=80&d=identicon", "email": "[REDACTED]" }, "project_id": 1, "project": { "id": 1, "name": "test_project", "description": null, "web_url": "http://localhost/root/test_project", "avatar_url": null, "git_ssh_url": "ssh://git@localhost:55522/root/test_project.git", "git_http_url": "http://localhost/root/test_project.git", "namespace": "Administrator", "visibility_level": 0, "path_with_namespace": "root/test_project", "default_branch": "main", "ci_config_path": null, "homepage": "http://localhost/root/test_project", "url": "ssh://git@localhost:55522/root/test_project.git", "ssh_url": "ssh://git@localhost:55522/root/test_project.git", "http_url": "http://localhost/root/test_project.git" }, "object_attributes": { "attachment": null, "author_id": 1, "change_position": null, "commit_id": null, "created_at": "2024-10-24 15:34:50 UTC", "discussion_id": "514723d6c19f1b7ee8b45db9871dee8d89ef6211", "id": 7, "line_code": null, "note": "Jenkins please retry a build", "noteable_id": 1, "noteable_type": "Issue", "original_position": null, "position": null, "project_id": 1, "resolved_at": null, "resolved_by_id": null, "resolved_by_push": null, "st_diff": null, "system": false, "type": null, "updated_at": "2024-10-24 15:34:50 UTC", "updated_by_id": null, "description": "Jenkins please retry a build", "url": "http://localhost/root/test_project/-/issues/1#note_7", "action": "create" }, "repository": { "name": "test_project", "url": "ssh://git@localhost:55522/root/test_project.git", "description": null, "homepage": "http://localhost/root/test_project" }, "issue": { "author_id": 1, "closed_at": null, "confidential": false, "created_at": "2024-10-24 15:26:23 UTC", "description": "", "discussion_locked": null, "due_date": null, "id": 1, "iid": 1, "last_edited_at": null, "last_edited_by_id": null, "milestone_id": null, "moved_to_id": null, "duplicated_to_id": null, "project_id": 1, "relative_position": 513, "state_id": 1, "time_estimate": 0, "title": "bad issue", "updated_at": "2024-10-24 15:34:50 UTC", "updated_by_id": 1, "type": "Issue", "url": "http://localhost/root/test_project/-/issues/1", "total_time_spent": 0, "time_change": 0, "human_total_time_spent": null, "human_time_change": null, "human_time_estimate": null, "assignee_ids": [ 1 ], "assignee_id": 1, "labels": [ { "id": 2, "title": "bug", "color": "#c21e56", "project_id": 1, "created_at": "2024-10-24 15:31:08 UTC", "updated_at": "2024-10-24 15:31:08 UTC", "template": false, "description": null, "type": "ProjectLabel", "group_id": null }, { "id": 1, "title": "documentation", "color": "#6699cc", "project_id": 1, "created_at": "2024-10-24 15:15:11 UTC", "updated_at": "2024-10-24 15:15:11 UTC", "template": false, "description": null, "type": "ProjectLabel", "group_id": null } ], "state": "opened", "severity": "unknown", "customer_relations_contacts": [ ] } }

Are you interested in contributing a fix?

No response

@yiftahw yiftahw changed the title Null pointer exception when adding a comment to an issue with GitLab Webhook Jenkins null pointer exception when adding a comment to an issue with GitLab Webhook Oct 24, 2024
@yiftahw yiftahw changed the title Jenkins null pointer exception when adding a comment to an issue with GitLab Webhook Jenkins null pointer exception when adding a comment to an issue or commit with GitLab Webhook Dec 22, 2024
@yiftahw yiftahw changed the title Jenkins null pointer exception when adding a comment to an issue or commit with GitLab Webhook Jenkins null pointer exception when adding a comment to an issue or a commit with GitLab Webhook Dec 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant