Re: Build on all agents

2021-04-14 Thread pe...@pjksolutions.com
HI Mark your code now runs as expected, now that I have a collection of 
nodes how can I use them to build a specific job ?

On Monday, 12 April 2021 at 17:54:54 UTC+1 Mark Waite wrote:

> The Jenkins Pipeline DSL is extensible.  It is extended by Jenkins plugins 
> that you may choose to install.  The nodesByLabel step 
> 
>  
> is provided by the Pipeline utility steps 
>  plugin.  You'll need 
> to install  the Pipeline utility steps 
>  plugin in order to 
> use that step.
>
> On Mon, Apr 12, 2021 at 9:41 AM pe...@pjksolutions.com <
> pe...@pjksolutions.com> wrote:
>
>> The complete error dump
>> java.lang.NoSuchMethodError: No such DSL method 'nodesByLabel' 
>> found among steps [archive, bat, build, catchError, checkout, deleteDir, 
>> dir, echo, emailext, emailextrecipients,
>>  envVarsForTool, error, fileExists, findBuildScans, getContext, git, 
>> input, isUnix, junit, library, libraryResource,
>>  load, lock, mail, milestone, node, parallel, powershell, properties, 
>> publishChecks, pwd, pwsh, readFile, readTrusted,
>>  resolveScm, retry, script, sh, sleep, stage, stash, step, timeout, 
>> timestamps, tm, tool, unarchive, unstable, unstash,
>>  validateDeclarativePipeline, waitUntil, warnError, withChecks, 
>> withContext, withCredentials, withEnv, withGradle, wrap,
>>  writeFile, ws] or symbols [all, allBranchesSame, allOf, always, ant, 
>> antFromApache, antOutcome, antTarget, any, anyOf,
>>  apiToken, architecture, archiveArtifacts, artifactManager, 
>> authorizationMatrix, batchFile, booleanParam, branch, brokenBuildSuspects,
>>  brokenTestsSuspects, buildButton, buildDiscarder, buildDiscarders, 
>> buildRetention, buildUser, buildingTag, caseInsensitive, 
>>  caseSensitive, certificate, changeRequest, changelog, changeset, 
>> checkoutToSubdirectory, choice, choiceParam, cleanWs, clock,
>>  command, credentials, cron, crumb, culprits, defaultFolderConfiguration, 
>> defaultView, demand, developers, disableConcurrentBuilds,
>>  disableResume, downstream, dumb, durabilityHint, email-ext, envVars, 
>> envVarsFilter, environment, equals, expression, extendedEmailPublisher,
>>  file, fileParam, filePath, fingerprint, fingerprints, frameOptions, 
>> freeStyle, freeStyleJob, fromScm, fromSource, git, gitBranchDiscovery,
>>  gitHubBranchDiscovery, gitHubBranchHeadAuthority, 
>> gitHubExcludeArchivedRepositories, gitHubExcludePublicRepositories, 
>> gitHubForkDiscovery, 
>>  gitHubPullRequestDiscovery, gitHubSshCheckout, gitHubTagDiscovery, 
>> gitHubTopicsFilter, gitHubTrustContributors, gitHubTrustEveryone, 
>> gitHubTrustNobody, 
>>  gitHubTrustPermissions, gitTagDiscovery, github, githubPush, gradle, 
>> headRegexFilter, headWildcardFilter, hyperlink, hyperlinkToModels, 
>> inheriting,
>>  inheritingGlobal, installSource, isRestartedRun, jdk, jdkInstaller, 
>> jgit, jgitapache, jnlp, jobBuildDiscarder, jobName, junitTestResultStorage,
>>  label, lastDuration, lastFailure, lastGrantedAuthorities, lastStable, 
>> lastSuccess, legacy, legacySCM, list, local, location, logRotator, 
>>  loggedInUsersCanDoAnything, mailer, masterBuild, maven, maven3Mojos, 
>> mavenErrors, mavenGlobalConfig, mavenMojos, mavenWarnings, modernSCM, 
>>  myView, namedBranchesDifferent, node, nodeProperties, nonInheriting, 
>> none, not, overrideIndexTriggers, paneStatus, parallelsAlwaysFailFast,
>>  parameters, password, pattern, permanent, pipelineTriggers, plainText, 
>> plugin, pollSCM, preserveStashes, projectNamingStrategy, proxy, pruneTags,
>>  queueItemAuthenticator, quietPeriod, rateLimit, rateLimitBuilds, 
>> recipients, requestor, resourceRoot, retainOnlyVariables, run, runParam, 
>>  sSHLauncher, schedule, scmRetryCount, scriptApproval, 
>> scriptApprovalLink, search, security, shell, simpleBuildDiscarder, 
>> skipDefaultCheckout,
>>  skipStagesAfterUnstable, slave, sourceRegexFilter, sourceWildcardFilter, 
>> ssh, sshPublicKey, sshUserPrivateKey, standard, status, string, stringParam,
>>  suppressAutomaticTriggering, swapSpace, tag, teamSlugFilter, text, 
>> textParam, timestamper, timestamperConfig, timezone, tmpSpace, toolLocation,
>>  triggeredBy, unsecured, untrusted, upstream, upstreamDevelopers, 
>> userSeed, usernameColonPassword, usernamePassword, viewsTabBar, weather, 
>> withAnt, 
>>  zip] or globals [currentBuild, env, params, pipeline, scm]
>>
>> On Monday, 12 April 2021 at 16:36:38 UTC+1 pe...@pjksolutions.com wrote:
>>
>>> Hi Mark I tried to run it and got  java.lang.NoSuchMethodError: No such 
>>> DSL method 'nodesByLabel' and a lot more errors  
>>>
>>> On Saturday, 10 April 2021 at 21:58:43 UTC+1 Mark Waite wrote:
>>>
 The sample that I provided would be placed in a file named 
 'Jenkinsfile' at the root of a git repository, then a Pipeline job shoul

EC2 provision: A problem occurred while processing the request

2021-04-14 Thread Amedee Van Gasse
When provisioning a configured EC2 cloud (in the nodes page in Jenkins when 
you hit the provision via  button), I get this error:

 Oops!
A problem occurred while processing the request.

Logging ID=8ead3651-3809-4a47-984c-e0e494c705bb

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-users/237cee44-b3c5-4556-be5d-bd04cd8de247n%40googlegroups.com.


Automatically installed tools get updated on every use

2021-04-14 Thread Bjoern Hinrichs

Hi all,

since upgrading to Jenkins 2.263.4 we're experiencing the following issue:

We use Jenkins's feature to automatically install several build tools. 
In this case, in Global Tool Configuration we have a Maven installation 
"apache-maven-3.5.4" that uses "Extract *.zip/*.tar.gz" to install a zip 
file located on a samba share. When a job (we use "conventional" jobs 
here, not pipeline jobs) using this Maven installation runs, the zip 
file gets copied to the agent and unzipped inside the correct 
sub-directory  apache-maven-3.5.4.


Unfortunately, since our upgrade to 2.263.4, this happens every time, 
even if the installer has already been run on the same agent. Inside the 
sub-directory apache-maven-3.5.4 we can find a file .timestamp with the 
same timestamp as the zip file on our samba share.


Most of our agents use more than one executor. When two jobs run in 
parallel, we've seen it happen that one job "updates" the Maven 
installation while another job is actively using it. The job that's past 
the installation step then fails.


We didn't encounter this issue with Jenkins 2.107.3.

I couldn't find any hints on this issue in the changelog files for newer 
versions of Jenkins, nor was I able to find any hints on this on 
issues.jenkins.io.
Before I file a report myself: Has anyone else seen this behavior? Any 
workarounds?


Best regards
Björn Hinrichs

--
You received this message because you are subscribed to the Google Groups "Jenkins 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-users/6ef1d14d-2837-7ae5-fc05-f21a273846d8%40btc-es.de.


Re: how to access all classes and methods of a plugin in jenkins pipeline?

2021-04-14 Thread Ullrich Hafner
I publish one, but never looked at the results. Does that work for other 
plugins?

> Am 13.04.2021 um 13:32 schrieb jesus fernandez :
> 
> is there a javadoc for warnings-ng plugin? or just the github? I get a 404 
> when accesing the warnings-ng javadoc
> 
> El lunes, 12 de abril de 2021 a las 14:28:33 UTC+2, ullrich...@gmail.com 
> escribió:
> In the source code in GitHub?
> 
> You can also look for methods annotated with ExportedBean.
> 
> 
>> Am 12.04.2021 um 10:16 schrieb jesus fernandez > >:
>> 
> 
>> 
>> where can I see that? in the javadoc I do not see any method with that 
>> annotation, thoug I could use the getResults() with no problems
>> El domingo, 11 de abril de 2021 a las 21:43:06 UTC+2, ullrich...@gmail.com 
>>  escribió:
>> Due to security considerations only methods marked with @Whitelisted are 
>> accessible in Groovy scripts. Does your getter have such an annotation?
>> 
>> 
>>> Am 11.04.2021 um 19:02 schrieb jesus fernandez >:
>>> 
>> 
>>> I am a junior dev trying to lear about Jenkins, I have been learning on my 
>>> own for a couple of months. Currently I have a pipeline (just for learning 
>>> purposes) which runs static analysis on a folder, and then publish it, I 
>>> have been able to send a report through email using jelly templates, from 
>>> there I realized it is posbile to instantiate the classes of a plugin to 
>>> use its methods so I went to the cppcheck javadoc here 
>>> https://javadoc.jenkins.io/plugin/cppcheck/ 
>>>  and did some trial and error 
>>> so I can get some values of my report and then do something else with them 
>>> something, so I had something like this in my pipeline:
>>> ```
>>> pipeline {
>>> agent any
>>> 
>>> stages {
>>>   stage('analysis') {
>>> steps {
>>>   script{
>>> bat'cppcheck "E:/My_project/Source/" --xml --xml-version=2 . 2> 
>>> cppcheck.xml'
>>>   }
>>>}
>>> }
>>> stage('Test'){
>>>   steps {
>>> script {
>>>   publishCppcheck pattern:'cppcheck.xml'
>>>   for (action in currentBuild.rawBuild.getActions()) {
>>> def name = action.getClass().getName()
>>> if (name == 'org.jenkinsci.plugins.cppcheck.CppcheckBuildAction') {
>>>def cppcheckaction = action
>>>def totalErrors = cppcheckaction.getResult().report.getNumberTotal()
>>>println totalErrors
>>>def warnings = 
>>> cppcheckaction.getResult().statistics.getNumberWarningSeverity()
>>>println warnings
>>>   }
>>> }
>>>   }
>>> }
>>> }
>>> }
>>> 
>>> }
>>> ```
>>> which output is:
>>> ```
>>> [Pipeline] echo
>>> 102
>>> [Pipeline] echo
>>> 4
>>> ```
>>> 
>>> My logic (wrongly) tells me that if I can access to the report and 
>>> statistics classes like that and uses their methods getNumberTotal() and 
>>> getNumberWarningSeverity() respectively, therefore I should be able to also 
>>> access the ```DiffState``` class in the same way and use the 
>>> ```valueOf()``` method to get an enum of the new errors. But adding this to 
>>> my pipeline:
>>> ```
>>> def nueva = cppcheckaction.getResult().diffState.valueOf(NEW)
>>> println nueva
>>> ```
>>> Gives me an error:
>>> ```
>>> org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: No 
>>> such field found: field org.jenkinsci.plugins.cppcheck.CppcheckBuildAction 
>>> diffState
>>> at 
>>> org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.unclassifiedField(SandboxInterceptor.java:425
>>>  )
>>> at 
>>> org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onGetProperty(SandboxInterceptor.java:409
>>>  )
>>> ...
>>> ```
>>> 
>> 
>>> -- 
>>> You received this message because you are subscribed to the Google Groups 
>>> "Jenkins Users" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an 
>>> email to jenkinsci-use...@googlegroups.com <>.
>>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/jenkinsci-users/ca24b1f9-b0a8-4e81-8101-0b25f8267602n%40googlegroups.com
>>>  
>>> .
>> 
>> 
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "Jenkins Users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to jenkinsci-use...@googlegroups.com 
>> .
> 
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/jenkinsci-users/9c65acbc-f199-4d99-8d96-0b37a44a4f2an%40googlegroups.com
>>  
>> .
> 
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Jenkins Users" group.
> To unsubscribe fr

Re: how to access all classes and methods of a plugin in jenkins pipeline?

2021-04-14 Thread jesus fernandez
yes all the other plugins I have checked so far have a woeking javadoc

El mié., 14 abr. 2021 18:20, Ullrich Hafner 
escribió:

> I publish one, but never looked at the results. Does that work for other
> plugins?
>
> Am 13.04.2021 um 13:32 schrieb jesus fernandez <
> jesusfernandez0...@gmail.com>:
>
> is there a javadoc for warnings-ng plugin? or just the github? I get a 404
> when accesing the warnings-ng javadoc
>
> El lunes, 12 de abril de 2021 a las 14:28:33 UTC+2, ullrich...@gmail.com
> escribió:
>
>> In the source code in GitHub?
>>
>> You can also look for methods annotated with ExportedBean.
>>
>> Am 12.04.2021 um 10:16 schrieb jesus fernandez :
>>
>>
>> where can I see that? in the javadoc I do not see any method with that
>> annotation, thoug I could use the getResults() with no problems
>> El domingo, 11 de abril de 2021 a las 21:43:06 UTC+2, ullrich...@
>> gmail.com escribió:
>>
>>> Due to security considerations only methods marked with @Whitelisted are
>>> accessible in Groovy scripts. Does your getter have such an annotation?
>>>
>>> Am 11.04.2021 um 19:02 schrieb jesus fernandez :
>>>
>>> I am a junior dev trying to lear about Jenkins, I have been learning on
>>> my own for a couple of months. Currently I have a pipeline (just for
>>> learning purposes) which runs static analysis on a folder, and then publish
>>> it, I have been able to send a report through email using jelly templates,
>>> from there I realized it is posbile to instantiate the classes of a plugin
>>> to use its methods so I went to the cppcheck javadoc here
>>> https://javadoc.jenkins.io/plugin/cppcheck/ and did some trial and
>>> error so I can get some values of my report and then do something else with
>>> them something, so I had something like this in my pipeline:
>>> ```
>>> pipeline {
>>> agent any
>>>
>>> stages {
>>>   stage('analysis') {
>>> steps {
>>>   script{
>>> bat'cppcheck "E:/My_project/Source/" --xml --xml-version=2 . 2>
>>> cppcheck.xml'
>>>   }
>>>}
>>> }
>>> stage('Test'){
>>>   steps {
>>> script {
>>>   publishCppcheck pattern:'cppcheck.xml'
>>>   for (action in currentBuild.rawBuild.getActions()) {
>>> def name = action.getClass().getName()
>>> if (name ==
>>> 'org.jenkinsci.plugins.cppcheck.CppcheckBuildAction') {
>>>def cppcheckaction = action
>>>def totalErrors =
>>> cppcheckaction.getResult().report.getNumberTotal()
>>>println totalErrors
>>>def warnings =
>>> cppcheckaction.getResult().statistics.getNumberWarningSeverity()
>>>println warnings
>>>   }
>>> }
>>>   }
>>> }
>>> }
>>> }
>>>
>>> }
>>> ```
>>> which output is:
>>> ```
>>> [Pipeline] echo
>>> 102
>>> [Pipeline] echo
>>> 4
>>> ```
>>>
>>> My logic (wrongly) tells me that if I can access to the report and
>>> statistics classes like that and uses their methods getNumberTotal() and
>>> getNumberWarningSeverity() respectively, therefore I should be able to also
>>> access the ```DiffState``` class in the same way and use the
>>> ```valueOf()``` method to get an enum of the new errors. But adding this to
>>> my pipeline:
>>> ```
>>> def nueva = cppcheckaction.getResult().diffState.valueOf(NEW)
>>> println nueva
>>> ```
>>> Gives me an error:
>>> ```
>>> org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: No
>>> such field found: field org.jenkinsci.plugins.cppcheck.CppcheckBuildAction
>>> diffState
>>> at
>>> org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.unclassifiedField(
>>> SandboxInterceptor.java:425 )
>>> at
>>> org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onGetProperty(
>>> SandboxInterceptor.java:409 )
>>> ...
>>> ```
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Jenkins Users" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to jenkinsci-use...@googlegroups.com.
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/jenkinsci-users/ca24b1f9-b0a8-4e81-8101-0b25f8267602n%40googlegroups.com
>>> 
>>> .
>>>
>>>
>>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Jenkins Users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to jenkinsci-use...@googlegroups.com.
>>
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/jenkinsci-users/9c65acbc-f199-4d99-8d96-0b37a44a4f2an%40googlegroups.com
>> 
>> .
>>
>>
>>
> --
> You received this message because you are subscribed to the Google Groups

Jenkins CLI and Okta

2021-04-14 Thread octo...@gmail.com
Trying to do a basic cli command below
I am unable to do this since my Jenkins uses OKTA
Any advice or docs on how to do this?  hours of googling has not been 
successful


   java -jar /home/jenkins/jenkins/jenkins-cli.jar -s 
   http:/// -auth 
   @/home/jenkins/jenkins/jenkins_credentials list-jobs

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-users/0f420dbd-d55f-4ae3-8cf6-44de63be0040n%40googlegroups.com.


Re: Git Plugin Checkout From Branch With Tag

2021-04-14 Thread eric.fetzer
Thamks Mark!  So how would I go about checking out a branch based on a point in 
time (a label in most systems)?  Is there a way to snap a label and then check 
out based on that label or are we resigned to only deal in tip revisions?Sent 
from my T-Mobile 4G LTE Device
 Original message From: Mark Waite  
Date: 4/14/21  1:44 PM  (GMT-05:00) To: Jenkins Users 
 Subject: Re: Git Plugin Checkout From Branch 
With Tag On Wed, Apr 14, 2021 at 10:22 AM Eric Fetzer  
wrote:Well if I don't tell it what branch to get, how will it get the right 
branch?  Sorry, Github is a paradigm shift for me.  I've been using StarTeam 
for 20 years and github for just a few weeks now...No problem.  Been through 
that paradigm shift.  Took a long time before the key git concepts finally 
registered.A git tag represents a specific commit.  A checkout of a tag does 
not need a branch.  In your case, you're asking for a branch and a tag.  The 
git plugin decided to give you the branch instead of the tag.  If you only ask 
for a tag, it will checkout the commit at that tag.Mark Waite On Wed, Apr 14, 
2021 at 10:13 AM Mark Waite  wrote:Don't use a 
branch parameter.  Place the tag name in the "Branches to build" field.  
Compare my screen shots and your screen shots.  You have more things in your 
job definition than I have in mine.  Those extra things are causing the 
behavior you're seeingOn Wed, Apr 14, 2021 at 8:32 AM Eric Fetzer 
 wrote:So I've tried to incorporate what you've said, 
Mark, but it still just clones the tip revision (9.9.9.10 in this case).  Here 
are my tags:git show-ref --tags -d4efbdb878c77557d050abbd228fc377adb9419b0 
refs/tags/1.0.0.1799eda70c5f052a6f8e757b044b3b60f704a705a 
refs/tags/1.0.0.1^{}c516e3681d2675d4e407b3c26ddfc7da0404c898 
refs/tags/1.0.0.240bf9dd858780d79facfb789921f53d673c08dc9 
refs/tags/1.0.0.2^{}9083515085949bfad75f028194226f5a9b1e5ecf 
refs/tags/9.9.9.1049b0f2cfbf93f36acf6b2124d589a64940eecf18 
refs/tags/9.9.9.10^{}019b3f3c634b9071c43f570a62c1191be05c0f4e 
refs/tags/9.9.9.9b2f49473794ad74af0e5943f9292e57e05938fbe 
refs/tags/9.9.9.9^{}I'm trying to get 9.9.9.9.  Here is my setup:It is honoring 
the branch specifier for branch, but not for tag.  I've tried it with just 
${tag_name} as well as with tags/${tag_name} as well as refs/tags/${tag_name}.  
What am i doing wrong?  Thanks!!!On Wed, Apr 14, 2021 at 8:06 AM Eric Fetzer 
 wrote:Thanks for the detailed description Mark!  Only 
one thing confuses me, I don't see you specifying the branch to build anywhere 
in there.  Can you explain that to me because I have to specify the branch as 
well as the tag?On Tue, Apr 13, 2021 at 7:42 PM Mark Waite 
 wrote:On Tue, Apr 13, 2021 at 5:57 PM eric.fetzer 
 wrote:I am SO sorry Mark, I confused this Jenkins 
thread with a totally unrelated support ticket.  I'm not using pipeline, just 
the git plug in in conjuction with git parameters.  What exactly do you mean by 
fetching the tags?I defined a Jenkins Freestyle job that fetches a specific tag 
and verifies within the job that the specific tag was fetched.  You can read 
the job definition if that helps.Crucial portions of the job definition 
included:Define the parameter for the tag to checkoutUse the parameter in the 
checkout as the local branch nameI believe the default behavior is to fetch 
tags, but I included it in the job definition as part of "Advanced clone 
behaviors" to be certain.I enabled "Honor refspec on initial clone" because 
that test repository is very large and I only wanted a specific branch in the 
clone.  You  probably won't need that option, though it does no harm to enable 
it.Mark Waite Sent from my T-Mobile 4G LTE Device Original message 
From: Mark Waite  Date: 4/13/21  7:29 PM  
(GMT-05:00) To: Jenkins Users  Subject: Re: 
Git Plugin Checkout From Branch With Tag As far as I can tell, you didn't 
provide the context of the old conversation.  The steps you've attempted and 
the context where you're trying those steps are not clear to me.  The comments 
that follow are my guesses of things that might help you.If you're using 
Jenkins Pipeline and want to checkout a tag in your parameterized job, you must 
use the 'checkout scm' step rather than the 'git' step.  The Pipeline snippet 
generator will help you generate the correct syntax for your desired checkout.  
There is a brief video included in the git plugin documentation that shows how 
to use the Pipeline snippet generator.  The git step documentation warns that 
'checkout' is the preferred step and that tag checkout is not supported with 
the git step.If you're using a Freestyle job, then you may need to check that 
you're fetching the tags and that the tag parameter you're providing is being 
placed in the "Branch to build" as a variable to be expanded.Mark WaiteOn 
Tuesday, April 13, 2021 at 1:21:39 PM UTC-6 eric@gmail.com wrote:Tried a 
bunch more stuff using Git 
Parameters:https://plugins.jenkins.io/git-parameter/Again, I can chec

Re: Git Plugin Checkout From Branch With Tag

2021-04-14 Thread Mark Waite
On Wed, Apr 14, 2021 at 12:16 PM eric.fetzer  wrote:

> Thamks Mark!  So how would I go about checking out a branch based on a
> point in time (a label in most systems)?  Is there a way to snap a label
> and then check out based on that label or are we resigned to only deal in
> tip revisions?
>
>
You can checkout a point in time by checking out a specific SHA-1 hash
that is the most recent commit before that point in time.  See
https://stackoverflow.com/questions/6990484/how-to-checkout-in-git-by-date .


>
>
> Sent from my T-Mobile 4G LTE Device
>
>
>  Original message 
> From: Mark Waite 
> Date: 4/14/21 1:44 PM (GMT-05:00)
> To: Jenkins Users 
> Subject: Re: Git Plugin Checkout From Branch With Tag
>
>
>
> On Wed, Apr 14, 2021 at 10:22 AM Eric Fetzer 
> wrote:
>
>> Well if I don't tell it what branch to get, how will it get the right
>> branch?  Sorry, Github is a paradigm shift for me.  I've been using
>> StarTeam for 20 years and github for just a few weeks now...
>>
>>
> No problem.  Been through that paradigm shift.  Took a long time before
> the key git concepts finally registered.
>
> A git tag represents a specific commit.  A checkout of a tag does not need
> a branch.  In your case, you're asking for a branch and a tag.  The git
> plugin decided to give you the branch instead of the tag.  If you only ask
> for a tag, it will checkout the commit at that tag.
>
> Mark Waite
>
>
>> On Wed, Apr 14, 2021 at 10:13 AM Mark Waite 
>> wrote:
>>
>>> Don't use a branch parameter.  Place the tag name in the "Branches to
>>> build" field.  Compare my screen shots and your screen shots.  You have
>>> more things in your job definition than I have in mine.  Those extra things
>>> are causing the behavior you're seeing
>>>
>>> On Wed, Apr 14, 2021 at 8:32 AM Eric Fetzer 
>>> wrote:
>>>
 So I've tried to incorporate what you've said, Mark, but it still just
 clones the tip revision (9.9.9.10 in this case).  Here are my tags:

 git show-ref --tags -d
 4efbdb878c77557d050abbd228fc377adb9419b0 refs/tags/1.0.0.1
 799eda70c5f052a6f8e757b044b3b60f704a705a refs/tags/1.0.0.1^{}
 c516e3681d2675d4e407b3c26ddfc7da0404c898 refs/tags/1.0.0.2
 40bf9dd858780d79facfb789921f53d673c08dc9 refs/tags/1.0.0.2^{}
 9083515085949bfad75f028194226f5a9b1e5ecf refs/tags/9.9.9.10
 49b0f2cfbf93f36acf6b2124d589a64940eecf18 refs/tags/9.9.9.10^{}
 019b3f3c634b9071c43f570a62c1191be05c0f4e refs/tags/9.9.9.9
 b2f49473794ad74af0e5943f9292e57e05938fbe refs/tags/9.9.9.9^{}

 I'm trying to get 9.9.9.9.  Here is my setup:

 [image: image.png]

 [image: image.png]

 It is honoring the branch specifier for branch, but not for tag.  I've
 tried it with just ${tag_name} as well as with tags/${tag_name} as well as
 refs/tags/${tag_name}.  What am i doing wrong?  Thanks!!!

 On Wed, Apr 14, 2021 at 8:06 AM Eric Fetzer 
 wrote:

> Thanks for the detailed description Mark!  Only one thing confuses me,
> I don't see you specifying the branch to build anywhere in there.  Can you
> explain that to me because I have to specify the branch as well as the 
> tag?
>
> On Tue, Apr 13, 2021 at 7:42 PM Mark Waite 
> wrote:
>
>>
>>
>> On Tue, Apr 13, 2021 at 5:57 PM eric.fetzer 
>> wrote:
>>
>>> I am SO sorry Mark, I confused this Jenkins thread with a totally
>>> unrelated support ticket.  I'm not using pipeline, just the git plug in 
>>> in
>>> conjuction with git parameters.  What exactly do you mean by fetching 
>>> the
>>> tags?
>>>
>>>
>> I defined a Jenkins Freestyle job that fetches a specific tag and
>> verifies within the job that the specific tag was fetched.  You can read
>> the job definition
>> 
>> if that helps.
>>
>> Crucial portions of the job definition included:
>>
>> *Define the parameter for the tag to checkout*
>>
>> [image: parameterized-job-definition.png]
>>
>> *Use the parameter in the checkout as the local branch name*
>>
>> [image: repository-definition.png]
>>
>> I believe the default behavior is to fetch tags, but I included it in
>> the job definition as part of "Advanced clone behaviors" to be certain.
>>
>> I enabled "Honor refspec on initial clone" because that test
>> repository is very large and I only wanted a specific branch in the 
>> clone.
>> You  probably won't need that option, though it does no harm to enable 
>> it.
>>
>> Mark Waite
>>
>>
>>
>>>
>>>
>>> Sent from my T-Mobile 4G LTE Device
>>>
>>>
>>>  Original message 
>>> From: Mark Waite 
>>> Date: 4/13/21 7:29 PM (GMT-05:00)
>>> To: Jenkin

Re: Can I send cppcheck results through slack in a jenkins pipeline?

2021-04-14 Thread Ullrich Hafner
You must wrap it into tm: see 
https://github.com/jenkinsci/warnings-ng-plugin/blob/master/ui-tests/src/test/java/io/jenkins/plugins/analysis/warnings/SmokeTests.java#L99


> Am 13.04.2021 um 16:17 schrieb jesus fernandez :
> 
> How can I access those token macros? (sorry if this is a silly question) I 
> have never used them before, I tried to print the value with ```println 
> ${ANALYSIS_ISSUES_COUNT, tool="cppcheck", type="NEW"}``` but I get an 
> unexpected token error
> 
> El viernes, 9 de abril de 2021 a las 14:03:39 UTC+2, ullrich...@gmail.com 
> escribió:
> https://github.com/jenkinsci/warnings-ng-plugin/blob/master/doc/Documentation.md#token-macro-support
>  
> 
> 
> 
>> Am 09.04.2021 um 13:59 schrieb jesus fernandez > >:
>> 
> 
>> Thanks for replying, any documentation or link to guide me in the right 
>> direction on how to do it? I am quite Junior and have been learning Jenkins 
>> on my own
>> 
>> El viernes, 9 de abril de 2021 a las 13:46:48 UTC+2, ullrich...@gmail.com 
>>  escribió:
>> Exporting results from one plugin into another plugin is definitely 
>> possible. You typically have two steps:
>> 1) Export the data from a producer plugin
>> a) using Tokens
>> b) using API methods of the plugin
>> 2) Import the data (or reformat and aggregate it) into a consumer plugin
>> 
>> For step 1 I can say this works for the warnings plugin, it can export the 
>> results of CppCheck either into tokens or into objects (that you can process 
>> using your pipeline). 
>> 
>> I have no idea if the slack plugin is capable of doing step 2 though, but I 
>> would assume that it works in that way...
>> 
>> 
>>> Am 09.04.2021 um 08:39 schrieb jesus fernandez >:
>>> 
>> 
>>> I just started using cppcheck, and I was wondering if there is any way to 
>>> access to the report values (for instance number of total errors) and send 
>>> it to slack. I have been searching in the documentation and here in SO but 
>>> I have found nothing, as I just have been using Jenkins for a couple of 
>>> months ( I am a junior dev) I was wondering if somebody know if this is 
>>> possible and could drive me in the right direction.
>>> 
>> 
>>> -- 
>>> You received this message because you are subscribed to the Google Groups 
>>> "Jenkins Users" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an 
>>> email to jenkinsci-use...@googlegroups.com <>.
>>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/jenkinsci-users/d3aee90e-5331-480f-84d7-4df7c3ebcf6fn%40googlegroups.com
>>>  
>>> .
>> 
>> 
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "Jenkins Users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to jenkinsci-use...@googlegroups.com 
>> .
> 
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/jenkinsci-users/abdfdbec-e2cf-4f69-a089-1cb93dcef30en%40googlegroups.com
>>  
>> .
> 
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Jenkins Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to jenkinsci-users+unsubscr...@googlegroups.com 
> .
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/jenkinsci-users/c5ba204c-fa9f-4f6c-800f-69dba9680f87n%40googlegroups.com
>  
> .

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-users/27FB6AD8-66DF-4BC2-A076-8CD00535F39A%40gmail.com.


Re: how to access all classes and methods of a plugin in jenkins pipeline?

2021-04-14 Thread Ullrich Hafner
Can you please file a bug report for the warnings plugin, it seems something 
broken in my build...

> Am 14.04.2021 um 18:55 schrieb jesus fernandez :
> 
> yes all the other plugins I have checked so far have a woeking javadoc
> 
> El mié., 14 abr. 2021 18:20, Ullrich Hafner  > escribió:
> I publish one, but never looked at the results. Does that work for other 
> plugins?
> 
>> Am 13.04.2021 um 13:32 schrieb jesus fernandez > >:
>> 
>> is there a javadoc for warnings-ng plugin? or just the github? I get a 404 
>> when accesing the warnings-ng javadoc
>> 
>> El lunes, 12 de abril de 2021 a las 14:28:33 UTC+2, ullrich...@gmail.com 
>>  escribió:
>> In the source code in GitHub?
>> 
>> You can also look for methods annotated with ExportedBean.
>> 
>> 
>>> Am 12.04.2021 um 10:16 schrieb jesus fernandez >:
>>> 
>> 
>>> 
>>> where can I see that? in the javadoc I do not see any method with that 
>>> annotation, thoug I could use the getResults() with no problems
>>> El domingo, 11 de abril de 2021 a las 21:43:06 UTC+2, ullrich...@gmail.com 
>>>  escribió:
>>> Due to security considerations only methods marked with @Whitelisted are 
>>> accessible in Groovy scripts. Does your getter have such an annotation?
>>> 
>>> 
 Am 11.04.2021 um 19:02 schrieb jesus fernandez >:
 
>>> 
 I am a junior dev trying to lear about Jenkins, I have been learning on my 
 own for a couple of months. Currently I have a pipeline (just for learning 
 purposes) which runs static analysis on a folder, and then publish it, I 
 have been able to send a report through email using jelly templates, from 
 there I realized it is posbile to instantiate the classes of a plugin to 
 use its methods so I went to the cppcheck javadoc here 
 https://javadoc.jenkins.io/plugin/cppcheck/ 
  and did some trial and error 
 so I can get some values of my report and then do something else with them 
 something, so I had something like this in my pipeline:
 ```
 pipeline {
 agent any
 
 stages {
   stage('analysis') {
 steps {
   script{
 bat'cppcheck "E:/My_project/Source/" --xml --xml-version=2 . 2> 
 cppcheck.xml'
   }
}
 }
 stage('Test'){
   steps {
 script {
   publishCppcheck pattern:'cppcheck.xml'
   for (action in currentBuild.rawBuild.getActions()) {
 def name = action.getClass().getName()
 if (name == 'org.jenkinsci.plugins.cppcheck.CppcheckBuildAction') {
def cppcheckaction = action
def totalErrors = cppcheckaction.getResult().report.getNumberTotal()
println totalErrors
def warnings = 
 cppcheckaction.getResult().statistics.getNumberWarningSeverity()
println warnings
   }
 }
   }
 }
 }
 }
 
 }
 ```
 which output is:
 ```
 [Pipeline] echo
 102
 [Pipeline] echo
 4
 ```
 
 My logic (wrongly) tells me that if I can access to the report and 
 statistics classes like that and uses their methods getNumberTotal() and 
 getNumberWarningSeverity() respectively, therefore I should be able to 
 also access the ```DiffState``` class in the same way and use the 
 ```valueOf()``` method to get an enum of the new errors. But adding this 
 to my pipeline:
 ```
 def nueva = cppcheckaction.getResult().diffState.valueOf(NEW)
 println nueva
 ```
 Gives me an error:
 ```
 org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: No 
 such field found: field org.jenkinsci.plugins.cppcheck.CppcheckBuildAction 
 diffState
 at 
 org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.unclassifiedField(SandboxInterceptor.java:425
  )
 at 
 org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onGetProperty(SandboxInterceptor.java:409
  )
 ...
 ```
 
>>> 
 -- 
 You received this message because you are subscribed to the Google Groups 
 "Jenkins Users" group.
 To unsubscribe from this group and stop receiving emails from it, send an 
 email to jenkinsci-use...@googlegroups.com <>.
 To view this discussion on the web visit 
 https://groups.google.com/d/msgid/jenkinsci-users/ca24b1f9-b0a8-4e81-8101-0b25f8267602n%40googlegroups.com
  
 .
>>> 
>>> 
>>> -- 
>>> You received this message because you are subscribed to the Google Groups 
>>> "Jenkins Users" group.
>>> To unsubscribe from this group and stop receiving emails from it

overwrite an environment variable

2021-04-14 Thread webde...@gmail.com
hey, all!

Here's what I would like to do:

1. in the pipeline itself, create an environment variable.
2. pass that environment variable to a job
3. that job will overwrite the environment variable's value at the top level
4. a later job will use this new value within its execution.

something like:

pipeline {
agent {
label 'Computer'
}

environment {
1.pipelineVariable = "15"3. (after the changeVariableValue job, 
variable value is now 7)
}

stages {
stage('change variable value') {
steps {
script {
2build job: changeVariableValue
parameter: [[$class: 'StringParameterValue', name: 
'PipelineVariable', """${pipelineVariable}"""]]
   }
}
}
stage('new variable value') {
steps {
script {
4build job: newVariableValue

  parameter: [[$class: 'StringParameterValue', name: 
'PipelineVariable', """${pipelineVariable}"""]]
   }
}
}
}
}

The jobs are written in Powershell.

Is there a way to do this?
 

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-users/13fe1896-18d5-4566-99b6-5b1044b7934cn%40googlegroups.com.


Global Tool Configuration: Groovy installer uses wrong URL

2021-04-14 Thread Amedee Van Gasse
I wanted to share a Slack message that a colleague sent me today.

--
@here as an FYI, in the *Global Tool Configuration* on *Jenkins*, I have 
renamed the *2.5.6* Groovy installer to *2.5.6-old* and added a new *2.5.6* 
Groovy 
installer with the download link hard-coded (
https://groovy.jfrog.io/artifactory/dist-release-local/groovy-zips/apache-groovy-binary-2.5.6.zip
)
For some reason the old 2.5.6 installer (and other installers as well as I 
experienced the same issue with *2.5.0*) try to download from 
https://groovy.jfrog.io/artifactory/dist-release-local/groovy-zips/pache-groovy-binary-2.5.0.zip
https://jenkins.***/job/***/7671/console:
ERROR: Failed to download 
https://groovy.jfrog.io/artifactory/dist-release-local/groovy-zips/pache-groovy-binary-2.5.0.zip
 
from agent; will retry from master
--

Maybe someone may want to look into this?
We use Jenkins 2.277.2 and Groovy plugin 2.3.

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-users/590a3321-0a5f-4b64-b9a4-42ba98c4258an%40googlegroups.com.


Re: sparse checkout multiple repositories

2021-04-14 Thread Manoj Chander
Thanks mark

On Thu, 18 Mar 2021, 17:42 Mark Waite,  wrote:

> Yes, it is possible.  You'll need to use the "checkout" step rather than
> the "git" step.
>
> The documentation for the "git" step (in the online help of your Jenkins
> installation and on jenkins.io
> ) says:
>
> NOTE: The checkout step is the preferred SCM checkout method. It provides
> significantly more functionality than the git step.
>
> The checkout step can be used in many cases where the git step cannot be
> used. Refer to the git plugin documentation
>  for detailed descriptions of
> options available to the checkout step. For example, the git step does not
>  support:
>
>- SHA-1 checkout
>- Tag checkout
>- Submodule checkout
>- Sparse checkout
>
>
> On Thu, Mar 18, 2021 at 3:41 AM Manoj Chander 
> wrote:
>
>>
>>
>> Hi Is it possible to sparse checkout multiple repositories from git .
>>
>> i want to check out specific folder alone from each project ?
>>
>> node('ATLAS && Linux')
>>
>> { dir('CalibrationResults')
>>   { git url: '
>> https://github.com/AtlasBID/CalibrationResults.git' }
>>
>>   dir('Combination')
>>{ git url: '
>> https://github.com/AtlasBID/Combination.git' } dir('CombinationBuilder')
>> { git url: '
>> https://github.com/AtlasBID/CombinationBuilder.git' } sh('ls') sh('.
>> CombinationBuilder/build.sh') }
>>
>>
>> Regards ,
>> Manoj
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Jenkins Users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to jenkinsci-users+unsubscr...@googlegroups.com.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/jenkinsci-users/f5d19580-ef4b-45a2-87aa-3d1101f84ce1n%40googlegroups.com
>> 
>> .
>>
> --
> You received this message because you are subscribed to the Google Groups
> "Jenkins Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to jenkinsci-users+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/jenkinsci-users/CAO49JtFG-07iiTWTcqajk1Df3Rf2Th6DudkxMG5uTrpFeJrJJw%40mail.gmail.com
> 
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-users/CAGQNZuRSB9tHs44Pxd40gq4JoYrAwauM41SLwgK%3DhtmnhcD_tA%40mail.gmail.com.


Re: Build on all agents

2021-04-14 Thread Mark Waite
See the parallel step

On Wed, Apr 14, 2021 at 1:00 AM pe...@pjksolutions.com <
p...@pjksolutions.com> wrote:

> HI Mark your code now runs as expected, now that I have a collection of
> nodes how can I use them to build a specific job ?
>
> On Monday, 12 April 2021 at 17:54:54 UTC+1 Mark Waite wrote:
>
>> The Jenkins Pipeline DSL is extensible.  It is extended by Jenkins
>> plugins that you may choose to install.  The nodesByLabel step
>> 
>> is provided by the Pipeline utility steps
>>  plugin.  You'll
>> need to install  the Pipeline utility steps
>>  plugin in order to
>> use that step.
>>
>> On Mon, Apr 12, 2021 at 9:41 AM pe...@pjksolutions.com <
>> pe...@pjksolutions.com> wrote:
>>
>>> The complete error dump
>>> java.lang.NoSuchMethodError: No such DSL method 'nodesByLabel'
>>> found among steps [archive, bat, build, catchError, checkout, deleteDir,
>>> dir, echo, emailext, emailextrecipients,
>>>  envVarsForTool, error, fileExists, findBuildScans, getContext, git,
>>> input, isUnix, junit, library, libraryResource,
>>>  load, lock, mail, milestone, node, parallel, powershell, properties,
>>> publishChecks, pwd, pwsh, readFile, readTrusted,
>>>  resolveScm, retry, script, sh, sleep, stage, stash, step, timeout,
>>> timestamps, tm, tool, unarchive, unstable, unstash,
>>>  validateDeclarativePipeline, waitUntil, warnError, withChecks,
>>> withContext, withCredentials, withEnv, withGradle, wrap,
>>>  writeFile, ws] or symbols [all, allBranchesSame, allOf, always, ant,
>>> antFromApache, antOutcome, antTarget, any, anyOf,
>>>  apiToken, architecture, archiveArtifacts, artifactManager,
>>> authorizationMatrix, batchFile, booleanParam, branch, brokenBuildSuspects,
>>>  brokenTestsSuspects, buildButton, buildDiscarder, buildDiscarders,
>>> buildRetention, buildUser, buildingTag, caseInsensitive,
>>>  caseSensitive, certificate, changeRequest, changelog, changeset,
>>> checkoutToSubdirectory, choice, choiceParam, cleanWs, clock,
>>>  command, credentials, cron, crumb, culprits,
>>> defaultFolderConfiguration, defaultView, demand, developers,
>>> disableConcurrentBuilds,
>>>  disableResume, downstream, dumb, durabilityHint, email-ext, envVars,
>>> envVarsFilter, environment, equals, expression, extendedEmailPublisher,
>>>  file, fileParam, filePath, fingerprint, fingerprints, frameOptions,
>>> freeStyle, freeStyleJob, fromScm, fromSource, git, gitBranchDiscovery,
>>>  gitHubBranchDiscovery, gitHubBranchHeadAuthority,
>>> gitHubExcludeArchivedRepositories, gitHubExcludePublicRepositories,
>>> gitHubForkDiscovery,
>>>  gitHubPullRequestDiscovery, gitHubSshCheckout, gitHubTagDiscovery,
>>> gitHubTopicsFilter, gitHubTrustContributors, gitHubTrustEveryone,
>>> gitHubTrustNobody,
>>>  gitHubTrustPermissions, gitTagDiscovery, github, githubPush, gradle,
>>> headRegexFilter, headWildcardFilter, hyperlink, hyperlinkToModels,
>>> inheriting,
>>>  inheritingGlobal, installSource, isRestartedRun, jdk, jdkInstaller,
>>> jgit, jgitapache, jnlp, jobBuildDiscarder, jobName, junitTestResultStorage,
>>>  label, lastDuration, lastFailure, lastGrantedAuthorities, lastStable,
>>> lastSuccess, legacy, legacySCM, list, local, location, logRotator,
>>>  loggedInUsersCanDoAnything, mailer, masterBuild, maven, maven3Mojos,
>>> mavenErrors, mavenGlobalConfig, mavenMojos, mavenWarnings, modernSCM,
>>>  myView, namedBranchesDifferent, node, nodeProperties, nonInheriting,
>>> none, not, overrideIndexTriggers, paneStatus, parallelsAlwaysFailFast,
>>>  parameters, password, pattern, permanent, pipelineTriggers, plainText,
>>> plugin, pollSCM, preserveStashes, projectNamingStrategy, proxy, pruneTags,
>>>  queueItemAuthenticator, quietPeriod, rateLimit, rateLimitBuilds,
>>> recipients, requestor, resourceRoot, retainOnlyVariables, run, runParam,
>>>  sSHLauncher, schedule, scmRetryCount, scriptApproval,
>>> scriptApprovalLink, search, security, shell, simpleBuildDiscarder,
>>> skipDefaultCheckout,
>>>  skipStagesAfterUnstable, slave, sourceRegexFilter,
>>> sourceWildcardFilter, ssh, sshPublicKey, sshUserPrivateKey, standard,
>>> status, string, stringParam,
>>>  suppressAutomaticTriggering, swapSpace, tag, teamSlugFilter, text,
>>> textParam, timestamper, timestamperConfig, timezone, tmpSpace, toolLocation,
>>>  triggeredBy, unsecured, untrusted, upstream, upstreamDevelopers,
>>> userSeed, usernameColonPassword, usernamePassword, viewsTabBar, weather,
>>> withAnt,
>>>  zip] or globals [currentBuild, env, params, pipeline, scm]
>>>
>>> On Monday, 12 April 2021 at 16:36:38 UTC+1 pe...@pjksolutions.com wrote:
>>>
 Hi Mark I tried to run it and got  java.lang.NoSuchMethodError: No
 such DSL method 'nodesByLabel' and a lot more errors

 On Saturday, 10 April 2021 at 21:58:43 UTC+1 Mark Waite w