-
Bug
-
Resolution: Unresolved
-
Critical
-
None
-
Jenkins 2.277.1, pagerduty-plugin 0.6.2
We recently upgraded Jenkins and all of our plugins for the first time in about five months. This upgrade included updating the pagerduty plugin from 0.4.1 to 0.6.2. We have three closely-related issues because of this:
- The Jenkinsfile/pipeline parameters for the plugin changed. We performed this upgrade a week ago, and just found out that a critical job of ours has been failing with no notification. Other jobs are also failing to open or close incidents, with no indication that they're failing other than a message at the end of the build output. Our pagerduty step in our build is failing, essentially silently - it's displaying an ERROR in the build log, but the build is still succeeding (see output below).
- There is absolutely no mention in the pagerduty-plugin version history, at either https://plugins.jenkins.io/pagerduty/#documentation or https://github.com/jenkinsci/pagerduty-plugin#version-history of a backwards-incompatible change in the parameters for this plugin. The gist of the version history after 0.6.2 is "Bug fixes" and feature additions - nothing about any changes to current behavior, let alone a breaking change.
- There is no documentation for the pagerduty plugin in the Pipeline Snippet Generator, and there is no documentation that I can find on GitHub or elsewhere for what the new parameters mean, or how to update existing Jenkinsfile pipelines for the new plugin version.
In terms of user expectations, and my desired resolution to this:
- If I pass invalid parameters to the pagerduty() pipeline step, I expect the build to fail, not for it to just continue on until someone happens to see the warning message.
- I'd like to see the version history of the plugin, and the README / Documentation, updated to clarify that the parameters have changed in a backwards-incompatible way, and a commitment to actually include breaking changes in the version history in the future.
- I'd expect that along with a backwards-incompatible change, there is some documentation explaining what users should do to upgrade, i.e. what the new parameters mean and maybe an example of converting the old params to the new.
Warning/Error message:
[Pipeline] pagerduty WARNING: Unknown parameter(s) found for class type 'org.jenkinsci.plugins.pagerduty.pipeline.PagerDutyTriggerStep': incDescription,incDetails,incidentKey,serviceKey Triggering pagerDuty with routingKey null summary null severity critical ERROR: Tried to trigger PD with routingKey = [null] java.lang.IllegalArgumentException: summary cannot be blank. at com.github.dikhan.pagerduty.client.events.domain.Payload$Builder.build(Payload.java:228) at org.jenkinsci.plugins.pagerduty.util.PagerDutyUtils.triggerPagerDuty(PagerDutyUtils.java:99) at org.jenkinsci.plugins.pagerduty.pipeline.PagerDutyTriggerStep$PagerDutyTriggerStepExecution.run(PagerDutyTriggerStep.java:174) at org.jenkinsci.plugins.pagerduty.pipeline.PagerDutyTriggerStep$PagerDutyTriggerStepExecution.run(PagerDutyTriggerStep.java:140) at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution$1$1.call(AbstractSynchronousNonBlockingStepExecution.java:47) at hudson.security.ACL.impersonate2(ACL.java:449) at hudson.security.ACL.impersonate(ACL.java:461) at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution$1.run(AbstractSynchronousNonBlockingStepExecution.java:44) 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) [Pipeline] } [Pipeline] // node [Pipeline] End of Pipeline GitHub has been notified of this commit’s build result Finished: SUCCESS
Version history in documentation:
Version 0.6.2 (Jan 03, 2021) Documentation Fix Bug Fixes (Resolves JENKINS-64485 and #43) Version 0.6.1 (Dec 08, 2020) Add Change Events support (thanks Adam Vaughan!) Bug fixes Remove Jetty dependency from pom Move docs to Github Version 0.6.0 (Dec 06, 2020) Add Change Events support (thanks Adam Vaughan!) Bug fixes Version 0.4.1 (Mar 12, 2019) Add TokenMacro support Bug fixes Code refactor