jenkinsci / discord-notifier-plugin

A post-build plugin that sends the build status to a Discord channel.
https://plugins.jenkins.io/discord-notifier/
MIT License
50 stars 25 forks source link

Failing Job with Send notification when job starts in Jenkins 2.387.3 #115

Closed RecoX closed 1 year ago

RecoX commented 1 year ago

Jenkins and plugins versions report

Environment ```text Jenkins: 2.387.3 OS: Windows 10 - 10.0 Java: 11.0.16 - Oracle Corporation (Java HotSpot(TM) 64-Bit Server VM) --- BlameSubversion:1.200 ace-editor:1.1 ant:487.vd79d090d4ea_e antisamy-markup-formatter:159.v25b_c67cd35fb_ apache-httpcomponents-client-4-api:4.5.14-150.v7a_b_9d17134a_5 authentication-tokens:1.53.v1c90fd9191a_b_ blueocean-commons:1.27.4 blueocean-core-js:1.27.4 blueocean-dashboard:1.27.4 blueocean-github-pipeline:1.27.4 blueocean-i18n:1.27.4 blueocean-jwt:1.27.4 blueocean-personalization:1.27.4 blueocean-pipeline-api-impl:1.27.4 blueocean-pipeline-scm-api:1.27.4 blueocean-rest:1.27.4 blueocean-rest-impl:1.27.4 blueocean-web:1.27.4 bootstrap4-api:4.6.0-5 bootstrap5-api:5.2.2-3 bouncycastle-api:2.27 branch-api:2.1092.vda_3c2a_a_f0c11 build-timeout:1.30 built-on-column:1.4 caffeine-api:3.1.6-115.vb_8b_b_328e59d8 checks-api:2.0.0 cloudbees-folder:6.815.v0dd5a_cb_40e0e command-launcher:100.v2f6722292ee8 commons-lang3-api:3.12.0-36.vd97de6465d5b_ commons-text-api:1.10.0-36.vc008c8fcda_7b_ conditional-buildstep:1.4.2 config-file-provider:938.ve2b_8a_591c596 cors-filter:1.1 credentials:1254.vb_96f366e7b_a_d credentials-binding:604.vb_64480b_c56ca_ data-tables-api:1.13.3-3 discord-notifier:229.v57c742b_80ff0 display-url-api:2.3.7 dotnet-sdk:1.4.0 durable-task:507.v050055d0cb_dd echarts-api:5.4.0-3 email-ext:2.97 envinject:2.901.v0038b_6471582 envinject-api:1.199.v3ce31253ed13 extended-read-permission:3.2 external-monitor-job:203.v683c09d993b_9 favorite:2.4.1 font-awesome-api:6.3.0-2 generic-webhook-trigger:1.86.3 ghprb:1.42.2 git:5.0.2 git-client:4.2.0 git-server:99.va_0826a_b_cdfa_d github:1.37.0 github-api:1.314-431.v78d72a_3fe4c3 github-branch-source:1703.vd5a_2b_29c6cdc gradle:2.7 handlebars:3.0.8 handy-uri-templates-2-api:2.1.8-22.v77d5b_75e6953 htmlpublisher:1.31 instance-identity:142.v04572ca_5b_265 ionicons-api:45.vf54fca_5d2154 jackson2-api:2.15.0-334.v317a_165f9b_7c jakarta-activation-api:2.0.1-3 jakarta-mail-api:2.0.1-3 javadoc:233.vdc1a_ec702cff javax-activation-api:1.2.0-6 javax-mail-api:1.6.2-9 jaxb:2.3.8-1 jdk-tool:66.vd8fa_64ee91b_d jenkins-design-language:1.27.4 jenkins-multijob-plugin:623.v03401733c9a_9 jigomerge:0.9 jjwt-api:0.11.5-77.v646c772fddb_0 jnr-posix-api:3.1.16-2 jquery-detached:1.2.1 jquery3-api:3.6.4-1 jsch:0.2.8-65.v052c39de79b_2 junit:1202.v79a_986785076 ldap:676.vfa_64cf6b_b_002 lockable-resources:1156.v5e9f897ece02 mailer:448.v5b_97805e3767 mapdb-api:1.0.9-28.vf251ce40855d matrix-auth:3.1.7 matrix-project:789.v57a_725b_63c79 maven-plugin:3.22 metrics:4.2.13-420.vea_2f17932dd6 mina-sshd-api-common:2.10.0-69.v28e3e36d18eb_ mina-sshd-api-core:2.10.0-69.v28e3e36d18eb_ momentjs:1.1.1 monitoring:1.94.1 msbuild:1.30 nodelabelparameter:1.11.0 okhttp-api:4.10.0-132.v7a_7b_91cef39c pam-auth:1.10 parameterized-trigger:2.45 pipeline-build-step:491.v1fec530da_858 pipeline-github-lib:42.v0739460cda_c4 pipeline-graph-analysis:202.va_d268e64deb_3 pipeline-groovy-lib:656.va_a_ceeb_6ffb_f7 pipeline-input-step:468.va_5db_051498a_4 pipeline-milestone-step:111.v449306f708b_7 pipeline-model-api:2.2131.vb_9788088fdb_5 pipeline-model-declarative-agent:1.1.1 pipeline-model-definition:2.2131.vb_9788088fdb_5 pipeline-model-extensions:2.2131.vb_9788088fdb_5 pipeline-rest-api:2.32 pipeline-stage-step:305.ve96d0205c1c6 pipeline-stage-tags-metadata:2.2131.vb_9788088fdb_5 pipeline-stage-view:2.32 plain-credentials:143.v1b_df8b_d3b_e48 plugin-util-api:3.2.1 popper-api:1.16.1-3 popper2-api:2.11.6-2 powershell:2.0 pubsub-light:1.17 resource-disposer:0.22 role-strategy:633.v836e5b_3e80a_5 run-condition:1.5 scm-api:667.v8b_6e07cdc7f2 script-security:1244.ve463715a_f89c snakeyaml-api:1.33-95.va_b_a_e3e47b_fa_4 sse-gateway:1.26 ssh-credentials:305.v8f4381501156 ssh-slaves:2.877.v365f5eb_a_b_eec sshd:3.275.v9e17c10f2571 structs:324.va_f5d6774f3a_d thinBackup:1.17 timestamper:1.25 token-macro:359.vb_cde11682e0c trilead-api:2.84.v72119de229b_7 variant:59.vf075fe829ccb visual-basic-6:2.0 windows-slaves:1.8.1 workflow-aggregator:596.v8c21c963d92d workflow-api:1213.v646def1087f9 workflow-basic-steps:1017.vb_45b_302f0cea_ workflow-cps:3659.v582dc37621d8 workflow-cps-global-lib:609.vd95673f149b_b workflow-durable-task-step:1246.v5524618ea_097 workflow-job:1295.v395eb_7400005 workflow-multibranch:746.v05814d19c001 workflow-scm-step:408.v7d5b_135a_b_d49 workflow-step-api:639.v6eca_cd8c04a_a_ workflow-support:839.v35e2736cfd5c ws-cleanup:0.45 ```

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

Windows 10 - Controller Windows Server 2012 - Agent

Reproduction steps

I updated Jenkins to Jenkins 2.387.3 Updated all the plugins including this one.

But now I have the following error if I check Send notification when job starts image

If I uncheck that checkbox, it works fine

Expected Results

Work as expected.

Actual Results

Lanzada por el usuario Lucas Recoaro Running as SYSTEM [EnvInject] - Loading node environment variables. Ejecutando remotamente en ao20-staging (AO20-TEST)en el espacio de trabajo C:\jenkins-agent\workspace\re20-server-reiniciar true FATAL: Index 1 out of bounds for length 1 java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1 at nz.co.jammehcow.jenkinsdiscord.WebhookPublisher.lambda$prebuild$1(WebhookPublisher.java:205) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1655) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497) at nz.co.jammehcow.jenkinsdiscord.WebhookPublisher.prebuild(WebhookPublisher.java:205) at hudson.model.AbstractBuild$AbstractBuildExecution.preBuild(AbstractBuild.java:869) at hudson.model.AbstractBuild$AbstractBuildExecution.preBuild(AbstractBuild.java:864) at hudson.model.Build$BuildExecution.doRun(Build.java:146) at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:526) at hudson.model.Run.execute(Run.java:1900) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:44) at hudson.model.ResourceController.execute(ResourceController.java:101) at hudson.model.Executor.run(Executor.java:442) ERROR: Build step failed with exception java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1 at nz.co.jammehcow.jenkinsdiscord.WebhookPublisher.lambda$perform$3(WebhookPublisher.java:327) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1655) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497) at nz.co.jammehcow.jenkinsdiscord.WebhookPublisher.perform(WebhookPublisher.java:327) at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20) at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:818) at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:767) at hudson.model.Build$BuildExecution.cleanUp(Build.java:189) at hudson.model.Run.execute(Run.java:1947) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:44) at hudson.model.ResourceController.execute(ResourceController.java:101) at hudson.model.Executor.run(Executor.java:442) Build step 'Discord Notifier' marked build as failure Finished: FAILURE

Anything else?

No response

BlueTree242 commented 1 year ago

i have this issue but i did not check "Send notification when job starts"

bootjp commented 1 year ago

The field splitting process added by this pull request seems to be causing issues. https://github.com/jenkinsci/discord-notifier-plugin/pull/92 Does the maintainer plan to revert this pull request?

If there are no plans to revert, could you please explain the purpose behind adding this field processing? This would help us to contemplate a solution.

bootjp commented 1 year ago

@KocproZ @CrystallDEV Could you possibly help with this issue?

CrystallDEV commented 1 year ago

Sure, but its been quite some time since I made that PR. My quick guess is that you added a field "pair" that isn't formatted in key:value and therefore throws this excpetion when trying to access the index 1 in the field.

BlueTree242 commented 1 year ago

is there a temporary solution for this, webhooks aren't sending :(

bootjp commented 1 year ago

@BlueTree242 I did a plug-in downgrade. I'm using version : 218.ve2b_887e3a_f28.

CrystallDEV commented 1 year ago

Im currently looking into it and debugging the application. Will create a PR with a fix today

BlueTree242 commented 1 year ago

great, could you release it now?

bootjp commented 1 year ago

Thank you so much!!

RecoX commented 1 year ago

Thanks for solving it very quickly.