jenkinsci / atlassian-jira-software-cloud-plugin

Atlassian Jira Software Cloud Plugin
https://plugins.jenkins.io/atlassian-jira-software-cloud/
Apache License 2.0
43 stars 46 forks source link

UnsupportedOperationException with jiraSendBuildInfo #79

Open miniman42 opened 2 years ago

miniman42 commented 2 years ago

Jenkins and plugins versions report

Environment ```text Jenkins: 2.332.3 OS: Linux - 4.14.276-211.499.amzn2.x86_64 --- ace-editor:1.1 ansicolor:1.0.1 ant:475.vf34069fef73c antisamy-markup-formatter:2.7 apache-httpcomponents-client-4-api:4.5.13-1.0 atlassian-jira-software-cloud:2.0.2 authentication-tokens:1.4 bitbucket:223.vd12f2bca5430 bitbucket-push-and-pull-request:2.8.1 blueocean:1.25.5 blueocean-autofavorite:1.2.5 blueocean-bitbucket-pipeline:1.25.5 blueocean-commons:1.25.5 blueocean-config:1.25.5 blueocean-core-js:1.25.5 blueocean-dashboard:1.25.5 blueocean-display-url:2.4.1 blueocean-events:1.25.5 blueocean-git-pipeline:1.25.5 blueocean-github-pipeline:1.25.5 blueocean-i18n:1.25.5 blueocean-jira:1.25.5 blueocean-jwt:1.25.5 blueocean-personalization:1.25.5 blueocean-pipeline-api-impl:1.25.5 blueocean-pipeline-editor:1.25.5 blueocean-pipeline-scm-api:1.25.5 blueocean-rest:1.25.5 blueocean-rest-impl:1.25.5 blueocean-web:1.25.5 bootstrap4-api:4.6.0-5 bootstrap5-api:5.1.3-7 bouncycastle-api:2.26 branch-api:2.1046.v0ca_37783ecc5 build-timeout:1.21 caffeine-api:2.9.3-65.v6a_47d0f4d1fe checks-api:1.7.4 cloudbees-bitbucket-branch-source:773.v4b_9b_005b_562b_ cloudbees-folder:6.722.v8165b_a_cf25e9 command-launcher:84.v4a_97f2027398 conditional-buildstep:1.4.2 config-file-provider:3.10.0 convert-to-pipeline:1.0 credentials:1087.1089.v2f1b_9a_b_040e4 credentials-binding:523.vd859a_4b_122e6 custom-tools-plugin:0.8 display-url-api:2.3.6 docker-commons:1.19 docker-workflow:1.28 durable-task:496.va67c6f9eefa7 echarts-api:5.3.2-2 email-ext:2.88 envinject:2.866.v5c0403e3d4df envinject-api:1.199.v3ce31253ed13 extended-choice-parameter:346.vd87693c5a_86c extended-read-permission:3.2 favorite:2.4.1 font-awesome-api:6.1.1-1 git:4.11.3 git-client:3.11.0 git-server:1.11 github:1.34.3 github-api:1.303-400.v35c2d8258028 github-branch-source:1637.vd833b_7ca_7654 gradle:1.38 handlebars:3.0.8 handy-uri-templates-2-api:2.1.8-22.v77d5b_75e6953 htmlpublisher:1.30 jackson2-api:2.13.3-285.vc03c0256d517 javadoc:217.v905b_86277a_2a_ javax-activation-api:1.2.0-3 javax-mail-api:1.6.2-6 jaxb:2.3.6-1 jdk-tool:1.5 jenkins-design-language:1.25.5 jira:3.7.1 jjwt-api:0.11.2-71.v2722b_b_06a_2a_f jnr-posix-api:3.1.7-3 job-dsl:1.79 jquery:1.12.4-1 jquery-detached:1.2.1 jquery3-api:3.6.0-4 jsch:0.1.55.2 junit:1.63 ldap:2.10 lockable-resources:2.15 mailer:414.vcc4c33714601 mapdb-api:1.0.9.0 matrix-auth:3.1.2 matrix-project:771.v574584b_39e60 maven-plugin:3.18 mercurial:2.16.2 momentjs:1.1.1 nodejs:1.5.1 okhttp-api:4.9.3-105.vb96869f8ac3a pam-auth:1.8 parameterized-trigger:2.44 pipeline-build-step:2.18 pipeline-github-lib:38.v445716ea_edda_ pipeline-graph-analysis:195.v5812d95a_a_2f9 pipeline-groovy-lib:591.v3a_7f422b_d058 pipeline-input-step:448.v37cea_9a_10a_70 pipeline-milestone-step:101.vd572fef9d926 pipeline-model-api:2.2086.v12b_420f036e5 pipeline-model-declarative-agent:1.1.1 pipeline-model-definition:2.2086.v12b_420f036e5 pipeline-model-extensions:2.2086.v12b_420f036e5 pipeline-rest-api:2.24 pipeline-stage-step:293.v200037eefcd5 pipeline-stage-tags-metadata:2.2086.v12b_420f036e5 pipeline-stage-view:2.24 pipeline-utility-steps:2.12.1 plain-credentials:1.8 plugin-util-api:2.17.0 popper-api:1.16.1-3 popper2-api:2.11.5-2 pubsub-light:1.16 resource-disposer:0.19 role-strategy:484.v8a_a_e4b_d785fd run-condition:1.5 scm-api:608.vfa_f971c5a_a_e9 script-security:1175.v4b_d517d6db_f0 slack:608.v19e3b_44b_b_9ff snakeyaml-api:1.30.1 sse-gateway:1.25 ssh-credentials:277.v95c2fec1c047 ssh-slaves:1.814.vc82988f54b_10 sshd:3.237.v883d165a_c1d3 structs:318.va_f3ccb_729b_71 subversion:2.15.5 test-results-analyzer:0.3.5 throttle-concurrents:2.8 timestamper:1.17 token-macro:293.v283932a_0a_b_49 trilead-api:1.57.v6e90e07157e1 variant:1.4 windows-slaves:1.8.1 workflow-aggregator:581.v0c46fa_697ffd workflow-api:1153.vb_912c0e47fb_a_ workflow-basic-steps:948.v2c72a_091b_b_68 workflow-cps:2706.v71dd22b_c5a_a_2 workflow-cps-global-lib:588.v576c103a_ff86 workflow-durable-task-step:1139.v252a_e12e8463 workflow-job:1182.v60a_e6279b_579 workflow-multibranch:716.vc692a_e52371b_ workflow-scm-step:400.v6b_89a_1317c9a_ workflow-step-api:625.vd896b_f445a_f8 workflow-support:820.vd1a_6cc65ef33 ws-cleanup:0.42 ```

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

[Pipeline] jiraSendBuildInfo Error when executing always post condition: java.lang.UnsupportedOperationException at java.util.AbstractCollection.add(AbstractCollection.java:262) at java.util.AbstractCollection.addAll(AbstractCollection.java:344) at com.atlassian.jira.cloud.jenkins.buildinfo.service.MultibranchBuildInfoSenderImpl.getIssueKeys(MultibranchBuildInfoSenderImpl.java:57) at com.atlassian.jira.cloud.jenkins.buildinfo.service.JiraBuildInfoSenderImpl.sendBuildInfoToJiraSite(JiraBuildInfoSenderImpl.java:95) at com.atlassian.jira.cloud.jenkins.buildinfo.service.JiraBuildInfoSenderImpl.lambda$sendBuildInfo$1(JiraBuildInfoSenderImpl.java:69) at java.util.Optional.map(Optional.java:215) at com.atlassian.jira.cloud.jenkins.buildinfo.service.JiraBuildInfoSenderImpl.sendBuildInfo(JiraBuildInfoSenderImpl.java:69) at com.atlassian.jira.cloud.jenkins.buildinfo.pipeline.JiraSendBuildInfoStep$JiraSendBuildInfoStepExecution.run(JiraSendBuildInfoStep.java:129) at com.atlassian.jira.cloud.jenkins.buildinfo.pipeline.JiraSendBuildInfoStep$JiraSendBuildInfoStepExecution.run(JiraSendBuildInfoStep.java:108) at org.jenkinsci.plugins.workflow.steps.SynchronousNonBlockingStepExecution.lambda$start$0(SynchronousNonBlockingStepExecution.java:47) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748)

Reproduction steps

Have simply configured post { always { jiraSendBuildInfo site: '<mysite>.atlassian.net' } }

And the log shows the UOEx when the job is run. Commits all have ISSUE keys and the site is setup in the system configuration.

It seems that possibly the code line in quest is updating an immutable set?

Expected Results

Issue keys to be updated with buildinfo in jira

Actual Results

Build fails with exception [Pipeline] jiraSendBuildInfo Error when executing always post condition: java.lang.UnsupportedOperationException at java.util.AbstractCollection.add(AbstractCollection.java:262) at java.util.AbstractCollection.addAll(AbstractCollection.java:344) at com.atlassian.jira.cloud.jenkins.buildinfo.service.MultibranchBuildInfoSenderImpl.getIssueKeys(MultibranchBuildInfoSenderImpl.java:57) at com.atlassian.jira.cloud.jenkins.buildinfo.service.JiraBuildInfoSenderImpl.sendBuildInfoToJiraSite(JiraBuildInfoSenderImpl.java:95) at com.atlassian.jira.cloud.jenkins.buildinfo.service.JiraBuildInfoSenderImpl.lambda$sendBuildInfo$1(JiraBuildInfoSenderImpl.java:69) at java.util.Optional.map(Optional.java:215) at com.atlassian.jira.cloud.jenkins.buildinfo.service.JiraBuildInfoSenderImpl.sendBuildInfo(JiraBuildInfoSenderImpl.java:69) at com.atlassian.jira.cloud.jenkins.buildinfo.pipeline.JiraSendBuildInfoStep$JiraSendBuildInfoStepExecution.run(JiraSendBuildInfoStep.java:129) at com.atlassian.jira.cloud.jenkins.buildinfo.pipeline.JiraSendBuildInfoStep$JiraSendBuildInfoStepExecution.run(JiraSendBuildInfoStep.java:108) at org.jenkinsci.plugins.workflow.steps.SynchronousNonBlockingStepExecution.lambda$start$0(SynchronousNonBlockingStepExecution.java:47) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748)

Anything else?

No response

imdpkj commented 2 years ago

Any timeline for resolving this one, unable to see any data in Jira due to this issue.

curtisgit commented 2 years ago

Plugin only works with Multi-Branch Pipelines. Non-multi-branch will throw the exception you are seeing. https://github.com/jenkinsci/atlassian-jira-software-cloud-plugin/pull/61