-
Bug
-
Resolution: Unresolved
-
Major
-
None
-
Jenkins 2.32
OpenJDK 1.8_102
This issue was reported by an user at github here.
The issue is that the plugin is failing to getSCM in a pipeline run only on the first time, here is the code used by the plugin:
Collection<? extends SCM> scms = SCMTriggerItem.SCMTriggerItems.asSCMTriggerItem(projectAction.getProject()).getSCMs();
scms is _ null _ when we run the pipeline script below, only for the first time:
node() { def STOP_ON_ERROR = ''; def mvnHome def javaHome def failed = false; try{ stage('Preparation') { // for display purposes // Get the Maven tool. // ** NOTE: This 'M3' Maven tool must be configured // ** in the global configuration. checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[url: 'https://github.com/thomas-oo/eventAppFrontend']]]) } }catch(Exception e){ failed = true echo 'Build failed' }finally{ if(!failed){ stage('Last Changes'){ echo 'In last changes' step([$class: 'LastChangesPublisher', format: 'LINE', matchWordsThreshold: '0.25', matching: 'NONE', matchingMaxComparisons: '1000', showFiles: true, synchronisedScroll: true, endRevision: '']) } } echo 'In finally block' } }
[JENKINS-45720] Pipeline - plugin does not find SCMs on first execution
Priority | Original: Blocker [ 1 ] | New: Major [ 3 ] |
Environment |
Original:
Jenkins 2.19.1 OpenJDK 1.8_102 |
New:
Jenkins 2.32 OpenJDK 1.8_102 |
Description |
Original:
The plugin does not work in combination with a standard multibranch pipeline project. I have added a pipeline step for the LastChangesPublisher, which has been suggested by the snippet generator. My Jenkinsfile looks like: node('master') { stage('prep') { checkout scm step([$class: 'LastChangesPublisher', format: 'LINE', matchWordsThreshold: '0.25', matching: 'NONE', matchingMaxComparisons: '1000', showFiles: true, synchronisedScroll: true]) } } My SCM system is Git and configured in the project configuration. As soon as Jenkins reaches the LastChangesPublisher step, the job exists with the following NPE: java.lang.NullPointerException at com.github.jenkins.lastchanges.LastChangesPublisher.perform(LastChangesPublisher.java:97) at org.jenkinsci.plugins.workflow.steps.CoreStep$Execution.run(CoreStep.java:69) at org.jenkinsci.plugins.workflow.steps.CoreStep$Execution.run(CoreStep.java:59) at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution$1$1.call(AbstractSynchronousNonBlockingStepExecution.java:52) at hudson.security.ACL.impersonate(ACL.java:221) at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution$1.run(AbstractSynchronousNonBlockingStepExecution.java:49) 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:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) |
New:
This issues was reported by an user at [github here|[https://github.com/jenkinsci/last-changes-plugin/issues/4].] The issue is that the plugin is failing to getSCM in a pipeline run only on the first time, here is code used by the plugin: {code:java} Collection<? extends SCM> scms = SCMTriggerItem.SCMTriggerItems.asSCMTriggerItem(projectAction.getProject()).getSCMs(); {code} _*scms*_ is __ null __ when we run the pipeline script below, *only for the first time*: {noformat} node() { def STOP_ON_ERROR = ''; def mvnHome def javaHome def failed = false; try{ stage('Preparation') { // for display purposes // Get the Maven tool. // ** NOTE: This 'M3' Maven tool must be configured // ** in the global configuration. checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[url: 'https://github.com/thomas-oo/eventAppFrontend']]]) } }catch(Exception e){ failed = true echo 'Build failed' }finally{ if(!failed){ stage('Last Changes'){ echo 'In last changes' step([$class: 'LastChangesPublisher', format: 'LINE', matchWordsThreshold: '0.25', matching: 'NONE', matchingMaxComparisons: '1000', showFiles: true, synchronisedScroll: true, endRevision: '']) } } echo 'In finally block' } }{noformat} |
Description |
Original:
This issues was reported by an user at [github here|[https://github.com/jenkinsci/last-changes-plugin/issues/4].] The issue is that the plugin is failing to getSCM in a pipeline run only on the first time, here is code used by the plugin: {code:java} Collection<? extends SCM> scms = SCMTriggerItem.SCMTriggerItems.asSCMTriggerItem(projectAction.getProject()).getSCMs(); {code} _*scms*_ is __ null __ when we run the pipeline script below, *only for the first time*: {noformat} node() { def STOP_ON_ERROR = ''; def mvnHome def javaHome def failed = false; try{ stage('Preparation') { // for display purposes // Get the Maven tool. // ** NOTE: This 'M3' Maven tool must be configured // ** in the global configuration. checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[url: 'https://github.com/thomas-oo/eventAppFrontend']]]) } }catch(Exception e){ failed = true echo 'Build failed' }finally{ if(!failed){ stage('Last Changes'){ echo 'In last changes' step([$class: 'LastChangesPublisher', format: 'LINE', matchWordsThreshold: '0.25', matching: 'NONE', matchingMaxComparisons: '1000', showFiles: true, synchronisedScroll: true, endRevision: '']) } } echo 'In finally block' } }{noformat} |
New:
This issues was reported by an user at [github here|https://github.com/jenkinsci/last-changes-plugin/issues/4]. The issue is that the plugin is failing to getSCM in a pipeline run only on the first time, here is code used by the plugin: {code:java} Collection<? extends SCM> scms = SCMTriggerItem.SCMTriggerItems.asSCMTriggerItem(projectAction.getProject()).getSCMs(); {code} _*scms*_ is _ _null_ _ when we run the pipeline script below, *only for the first time*: {noformat} node() { def STOP_ON_ERROR = ''; def mvnHome def javaHome def failed = false; try{ stage('Preparation') { // for display purposes // Get the Maven tool. // ** NOTE: This 'M3' Maven tool must be configured // ** in the global configuration. checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[url: 'https://github.com/thomas-oo/eventAppFrontend']]]) } }catch(Exception e){ failed = true echo 'Build failed' }finally{ if(!failed){ stage('Last Changes'){ echo 'In last changes' step([$class: 'LastChangesPublisher', format: 'LINE', matchWordsThreshold: '0.25', matching: 'NONE', matchingMaxComparisons: '1000', showFiles: true, synchronisedScroll: true, endRevision: '']) } } echo 'In finally block' } }{noformat} |
Description |
Original:
This issues was reported by an user at [github here|https://github.com/jenkinsci/last-changes-plugin/issues/4]. The issue is that the plugin is failing to getSCM in a pipeline run only on the first time, here is code used by the plugin: {code:java} Collection<? extends SCM> scms = SCMTriggerItem.SCMTriggerItems.asSCMTriggerItem(projectAction.getProject()).getSCMs(); {code} _*scms*_ is _ _null_ _ when we run the pipeline script below, *only for the first time*: {noformat} node() { def STOP_ON_ERROR = ''; def mvnHome def javaHome def failed = false; try{ stage('Preparation') { // for display purposes // Get the Maven tool. // ** NOTE: This 'M3' Maven tool must be configured // ** in the global configuration. checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[url: 'https://github.com/thomas-oo/eventAppFrontend']]]) } }catch(Exception e){ failed = true echo 'Build failed' }finally{ if(!failed){ stage('Last Changes'){ echo 'In last changes' step([$class: 'LastChangesPublisher', format: 'LINE', matchWordsThreshold: '0.25', matching: 'NONE', matchingMaxComparisons: '1000', showFiles: true, synchronisedScroll: true, endRevision: '']) } } echo 'In finally block' } }{noformat} |
New:
This issues was reported by an user at [github here|https://github.com/jenkinsci/last-changes-plugin/issues/4]. The issue is that the plugin is failing to getSCM in a pipeline run only on the first time, [here is the code|https://github.com/jenkinsci/last-changes-plugin/blob/b6d36262b26c55f7cee94ee06f818a8e408bfaea/src/main/java/com/github/jenkins/lastchanges/LastChangesPublisher.java#L102] used by the plugin: {code:java} Collection<? extends SCM> scms = SCMTriggerItem.SCMTriggerItems.asSCMTriggerItem(projectAction.getProject()).getSCMs(); {code} _*scms*_ is _ _null_ _ when we run the pipeline script below, *only for the first time*: {noformat} node() { def STOP_ON_ERROR = ''; def mvnHome def javaHome def failed = false; try{ stage('Preparation') { // for display purposes // Get the Maven tool. // ** NOTE: This 'M3' Maven tool must be configured // ** in the global configuration. checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[url: 'https://github.com/thomas-oo/eventAppFrontend']]]) } }catch(Exception e){ failed = true echo 'Build failed' }finally{ if(!failed){ stage('Last Changes'){ echo 'In last changes' step([$class: 'LastChangesPublisher', format: 'LINE', matchWordsThreshold: '0.25', matching: 'NONE', matchingMaxComparisons: '1000', showFiles: true, synchronisedScroll: true, endRevision: '']) } } echo 'In finally block' } }{noformat} |
Description |
Original:
This issues was reported by an user at [github here|https://github.com/jenkinsci/last-changes-plugin/issues/4]. The issue is that the plugin is failing to getSCM in a pipeline run only on the first time, [here is the code|https://github.com/jenkinsci/last-changes-plugin/blob/b6d36262b26c55f7cee94ee06f818a8e408bfaea/src/main/java/com/github/jenkins/lastchanges/LastChangesPublisher.java#L102] used by the plugin: {code:java} Collection<? extends SCM> scms = SCMTriggerItem.SCMTriggerItems.asSCMTriggerItem(projectAction.getProject()).getSCMs(); {code} _*scms*_ is _ _null_ _ when we run the pipeline script below, *only for the first time*: {noformat} node() { def STOP_ON_ERROR = ''; def mvnHome def javaHome def failed = false; try{ stage('Preparation') { // for display purposes // Get the Maven tool. // ** NOTE: This 'M3' Maven tool must be configured // ** in the global configuration. checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[url: 'https://github.com/thomas-oo/eventAppFrontend']]]) } }catch(Exception e){ failed = true echo 'Build failed' }finally{ if(!failed){ stage('Last Changes'){ echo 'In last changes' step([$class: 'LastChangesPublisher', format: 'LINE', matchWordsThreshold: '0.25', matching: 'NONE', matchingMaxComparisons: '1000', showFiles: true, synchronisedScroll: true, endRevision: '']) } } echo 'In finally block' } }{noformat} |
New:
This issue was reported by an user at [github here|https://github.com/jenkinsci/last-changes-plugin/issues/4]. The issue is that the plugin is failing to getSCM in a pipeline run only on the first time, [here is the code|https://github.com/jenkinsci/last-changes-plugin/blob/b6d36262b26c55f7cee94ee06f818a8e408bfaea/src/main/java/com/github/jenkins/lastchanges/LastChangesPublisher.java#L102] used by the plugin: {code:java} Collection<? extends SCM> scms = SCMTriggerItem.SCMTriggerItems.asSCMTriggerItem(projectAction.getProject()).getSCMs(); {code} _*scms*_ is _ _null_ _ when we run the pipeline script below, *only for the first time*: {noformat} node() { def STOP_ON_ERROR = ''; def mvnHome def javaHome def failed = false; try{ stage('Preparation') { // for display purposes // Get the Maven tool. // ** NOTE: This 'M3' Maven tool must be configured // ** in the global configuration. checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[url: 'https://github.com/thomas-oo/eventAppFrontend']]]) } }catch(Exception e){ failed = true echo 'Build failed' }finally{ if(!failed){ stage('Last Changes'){ echo 'In last changes' step([$class: 'LastChangesPublisher', format: 'LINE', matchWordsThreshold: '0.25', matching: 'NONE', matchingMaxComparisons: '1000', showFiles: true, synchronisedScroll: true, endRevision: '']) } } echo 'In finally block' } }{noformat} |
Description |
Original:
This issue was reported by an user at [github here|https://github.com/jenkinsci/last-changes-plugin/issues/4]. The issue is that the plugin is failing to getSCM in a pipeline run only on the first time, [here is the code|https://github.com/jenkinsci/last-changes-plugin/blob/b6d36262b26c55f7cee94ee06f818a8e408bfaea/src/main/java/com/github/jenkins/lastchanges/LastChangesPublisher.java#L102] used by the plugin: {code:java} Collection<? extends SCM> scms = SCMTriggerItem.SCMTriggerItems.asSCMTriggerItem(projectAction.getProject()).getSCMs(); {code} _*scms*_ is _ _null_ _ when we run the pipeline script below, *only for the first time*: {noformat} node() { def STOP_ON_ERROR = ''; def mvnHome def javaHome def failed = false; try{ stage('Preparation') { // for display purposes // Get the Maven tool. // ** NOTE: This 'M3' Maven tool must be configured // ** in the global configuration. checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[url: 'https://github.com/thomas-oo/eventAppFrontend']]]) } }catch(Exception e){ failed = true echo 'Build failed' }finally{ if(!failed){ stage('Last Changes'){ echo 'In last changes' step([$class: 'LastChangesPublisher', format: 'LINE', matchWordsThreshold: '0.25', matching: 'NONE', matchingMaxComparisons: '1000', showFiles: true, synchronisedScroll: true, endRevision: '']) } } echo 'In finally block' } }{noformat} |
New:
This issue was reported by an user at [github here|https://github.com/jenkinsci/last-changes-plugin/issues/4]. The issue is that the plugin is failing to getSCM in a pipeline run only on the first time, [here is the code|https://github.com/jenkinsci/last-changes-plugin/blob/d809e2044c6d97b7036ed566e47c1420bb84d85c/src/main/java/com/github/jenkins/lastchanges/LastChangesPublisher.java#L109] used by the plugin: {code:java} Collection<? extends SCM> scms = SCMTriggerItem.SCMTriggerItems.asSCMTriggerItem(projectAction.getProject()).getSCMs(); {code} _*scms*_ is _ _null_ _ when we run the pipeline script below, *only for the first time*: {noformat} node() { def STOP_ON_ERROR = ''; def mvnHome def javaHome def failed = false; try{ stage('Preparation') { // for display purposes // Get the Maven tool. // ** NOTE: This 'M3' Maven tool must be configured // ** in the global configuration. checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[url: 'https://github.com/thomas-oo/eventAppFrontend']]]) } }catch(Exception e){ failed = true echo 'Build failed' }finally{ if(!failed){ stage('Last Changes'){ echo 'In last changes' step([$class: 'LastChangesPublisher', format: 'LINE', matchWordsThreshold: '0.25', matching: 'NONE', matchingMaxComparisons: '1000', showFiles: true, synchronisedScroll: true, endRevision: '']) } } echo 'In finally block' } }{noformat} |
Component/s | New: workflow-job-plugin [ 21716 ] |