You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by lu...@apache.org on 2019/01/30 19:40:03 UTC

[struts] branch master updated: Allows use Jenkinsfile syntax in IDEA

This is an automated email from the ASF dual-hosted git repository.

lukaszlenart pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/struts.git


The following commit(s) were added to refs/heads/master by this push:
     new 66a3f82  Allows use Jenkinsfile syntax in IDEA
66a3f82 is described below

commit 66a3f82d7bd38e100b48f14ab95423468cf36aaa
Author: Lukasz Lenart <lu...@apache.org>
AuthorDate: Wed Jan 30 20:39:53 2019 +0100

    Allows use Jenkinsfile syntax in IDEA
---
 Jenkinsfile                      |   3 +-
 src/main/groovy/Jenkinsfile.gdsl | 159 +++++++++++++++++++++++++++++++++++++++
 2 files changed, 161 insertions(+), 1 deletion(-)

diff --git a/Jenkinsfile b/Jenkinsfile
index e0cad04..f0c8a1e 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -1,3 +1,4 @@
+#!groovy
 pipeline {
   agent {
     label 'ubuntu'
@@ -22,7 +23,7 @@ pipeline {
       steps {
         sh 'mvn --version'
         sh 'mvn clean source:jar javadoc:jar install deploy -DskipWiki -Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2'
-       }
+      }
     }
   }
 }
diff --git a/src/main/groovy/Jenkinsfile.gdsl b/src/main/groovy/Jenkinsfile.gdsl
new file mode 100644
index 0000000..005f7b1
--- /dev/null
+++ b/src/main/groovy/Jenkinsfile.gdsl
@@ -0,0 +1,159 @@
+
+//The global script scope
+def ctx = context(scope: scriptScope())
+contributor(ctx) {
+method(name: 'ansiColor', type: 'Object', params: [colorMapName:java.lang.String, body:'Closure'], doc: 'Color ANSI Console Output')
+method(name: 'build', type: 'Object', params: [job:'java.lang.String'], doc: 'Build a job')
+method(name: 'build', type: 'Object', namedParams: [parameter(name: 'job', type: 'java.lang.String'), parameter(name: 'parameters', type: 'Map'), parameter(name: 'propagate', type: 'boolean'), parameter(name: 'quietPeriod', type: 'java.lang.Integer'), parameter(name: 'wait', type: 'boolean'), ], doc: 'Build a job')
+method(name: 'echo', type: 'Object', params: [message:'java.lang.String'], doc: 'Print Message')
+method(name: 'emailext', type: 'Object', namedParams: [parameter(name: 'subject', type: 'java.lang.String'), parameter(name: 'body', type: 'java.lang.String'), parameter(name: 'attachLog', type: 'boolean'), parameter(name: 'attachmentsPattern', type: 'java.lang.String'), parameter(name: 'compressLog', type: 'boolean'), parameter(name: 'from', type: 'java.lang.String'), parameter(name: 'mimeType', type: 'java.lang.String'), parameter(name: 'postsendScript', type: 'java.lang.String'), para [...]
+method(name: 'emailextrecipients', type: 'Object', params: [recipientProviders:'Map'], doc: 'Extended Email Recipients')
+method(name: 'error', type: 'Object', params: [message:'java.lang.String'], doc: 'Error signal')
+method(name: 'hipchatSend', type: 'Object', params: [message:'java.lang.String'], doc: 'Send HipChat Message')
+method(name: 'hipchatSend', type: 'Object', namedParams: [parameter(name: 'message', type: 'java.lang.String'), parameter(name: 'color', type: 'Map'), parameter(name: 'credentialId', type: 'java.lang.String'), parameter(name: 'failOnError', type: 'boolean'), parameter(name: 'icon', type: 'java.lang.String'), parameter(name: 'notify', type: 'boolean'), parameter(name: 'room', type: 'java.lang.String'), parameter(name: 'sendAs', type: 'java.lang.String'), parameter(name: 'server', type: 'j [...]
+method(name: 'input', type: 'Object', params: [message:'java.lang.String'], doc: 'Wait for interactive input')
+method(name: 'input', type: 'Object', namedParams: [parameter(name: 'message', type: 'java.lang.String'), parameter(name: 'id', type: 'java.lang.String'), parameter(name: 'ok', type: 'java.lang.String'), parameter(name: 'parameters', type: 'Map'), parameter(name: 'submitter', type: 'java.lang.String'), parameter(name: 'submitterParameter', type: 'java.lang.String'), ], doc: 'Wait for interactive input')
+method(name: 'isUnix', type: 'Object', params: [:], doc: 'Checks if running on a Unix-like node')
+method(name: 'jiraComment', type: 'Object', namedParams: [parameter(name: 'issueKey', type: 'java.lang.String'), parameter(name: 'body', type: 'java.lang.String'), ], doc: 'JIRA: Add a comment to issue(s)')
+method(name: 'jiraIssueSelector', type: 'Object', params: [:], doc: 'JIRA: Issue selector')
+method(name: 'jiraIssueSelector', type: 'Object', namedParams: [parameter(name: 'issueSelector', type: 'Map'), ], doc: 'JIRA: Issue selector')
+method(name: 'jiraSearch', type: 'Object', params: [jql:'java.lang.String'], doc: 'JIRA: Search issues')
+method(name: 'library', type: 'Object', params: [identifier:'java.lang.String'], doc: 'Load a shared library on the fly')
+method(name: 'library', type: 'Object', namedParams: [parameter(name: 'identifier', type: 'java.lang.String'), parameter(name: 'changelog', type: 'java.lang.Boolean'), parameter(name: 'retriever', type: 'Map'), ], doc: 'Load a shared library on the fly')
+method(name: 'libraryResource', type: 'Object', params: [resource:'java.lang.String'], doc: 'Load a resource file from a shared library')
+method(name: 'libraryResource', type: 'Object', namedParams: [parameter(name: 'resource', type: 'java.lang.String'), parameter(name: 'encoding', type: 'java.lang.String'), ], doc: 'Load a resource file from a shared library')
+method(name: 'lock', type: 'Object', params: [resource:java.lang.String, body:'Closure'], doc: 'Lock shared resource')
+method(name: 'lock', type: 'Object', params: [body:Closure], namedParams: [parameter(name: 'resource', type: 'java.lang.String'), parameter(name: 'extra', type: 'Map'), parameter(name: 'inversePrecedence', type: 'boolean'), parameter(name: 'label', type: 'java.lang.String'), parameter(name: 'quantity', type: 'int'), parameter(name: 'variable', type: 'java.lang.String'), ], doc: 'Lock shared resource')
+method(name: 'mail', type: 'Object', namedParams: [parameter(name: 'subject', type: 'java.lang.String'), parameter(name: 'body', type: 'java.lang.String'), parameter(name: 'bcc', type: 'java.lang.String'), parameter(name: 'cc', type: 'java.lang.String'), parameter(name: 'charset', type: 'java.lang.String'), parameter(name: 'from', type: 'java.lang.String'), parameter(name: 'mimeType', type: 'java.lang.String'), parameter(name: 'replyTo', type: 'java.lang.String'), parameter(name: 'to', t [...]
+method(name: 'milestone', type: 'Object', params: [ordinal:'java.lang.Integer'], doc: 'The milestone step forces all builds to go through in order')
+method(name: 'milestone', type: 'Object', namedParams: [parameter(name: 'ordinal', type: 'java.lang.Integer'), parameter(name: 'label', type: 'java.lang.String'), ], doc: 'The milestone step forces all builds to go through in order')
+method(name: 'node', type: 'Object', params: [label:java.lang.String, body:'Closure'], doc: 'Allocate node')
+method(name: 'nodesByLabel', type: 'Object', params: [label:'java.lang.String'], doc: 'List of nodes by Label, by default excludes offline nodes.')
+method(name: 'nodesByLabel', type: 'Object', namedParams: [parameter(name: 'label', type: 'java.lang.String'), parameter(name: 'offline', type: 'boolean'), ], doc: 'List of nodes by Label, by default excludes offline nodes.')
+method(name: 'properties', type: 'Object', params: [properties:'Map'], doc: 'Set job properties')
+method(name: 'publishIssues', type: 'Object', params: [issues:'Map'], doc: 'Publish issues created by a static analysis scan')
+method(name: 'publishIssues', type: 'Object', namedParams: [parameter(name: 'issues', type: 'Map'), parameter(name: 'failedNewAll', type: 'int'), parameter(name: 'failedNewHigh', type: 'int'), parameter(name: 'failedNewLow', type: 'int'), parameter(name: 'failedNewNormal', type: 'int'), parameter(name: 'failedTotalAll', type: 'int'), parameter(name: 'failedTotalHigh', type: 'int'), parameter(name: 'failedTotalLow', type: 'int'), parameter(name: 'failedTotalNormal', type: 'int'), paramete [...]
+method(name: 'readJSON', type: 'Object', params: [:], doc: 'Read JSON from files in the workspace.')
+method(name: 'readJSON', type: 'Object', namedParams: [parameter(name: 'file', type: 'java.lang.String'), parameter(name: 'text', type: 'java.lang.String'), ], doc: 'Read JSON from files in the workspace.')
+method(name: 'readManifest', type: 'Object', params: [:], doc: 'Read a Jar Manifest')
+method(name: 'readManifest', type: 'Object', namedParams: [parameter(name: 'file', type: 'java.lang.String'), parameter(name: 'text', type: 'java.lang.String'), ], doc: 'Read a Jar Manifest')
+method(name: 'readProperties', type: 'Object', params: [:], doc: 'Read properties from files in the workspace or text.')
+method(name: 'readProperties', type: 'Object', namedParams: [parameter(name: 'defaults', type: 'java.util.Map'), parameter(name: 'file', type: 'java.lang.String'), parameter(name: 'interpolate', type: 'java.lang.Boolean'), parameter(name: 'text', type: 'java.lang.String'), ], doc: 'Read properties from files in the workspace or text.')
+method(name: 'readTrusted', type: 'Object', params: [path:'java.lang.String'], doc: 'Read trusted file from SCM')
+method(name: 'readYaml', type: 'Object', params: [:], doc: 'Read yaml from files in the workspace or text.')
+method(name: 'readYaml', type: 'Object', namedParams: [parameter(name: 'file', type: 'java.lang.String'), parameter(name: 'text', type: 'java.lang.String'), ], doc: 'Read yaml from files in the workspace or text.')
+method(name: 'resolveScm', type: 'Object', namedParams: [parameter(name: 'source', type: 'Map'), parameter(name: 'targets', type: 'Map'), parameter(name: 'ignoreErrors', type: 'boolean'), ], doc: 'Resolves an SCM from an SCM Source and a list of candidate target branch names')
+method(name: 'retry', type: 'Object', params: [count:int, body:'Closure'], doc: 'Retry the body up to N times')
+method(name: 'script', type: 'Object', params: [body:'Closure'], doc: 'Run arbitrary Pipeline script')
+method(name: 'slackSend', type: 'Object', params: [:], doc: 'Send Slack Message')
+method(name: 'slackSend', type: 'Object', namedParams: [parameter(name: 'attachments', type: 'java.lang.String'), parameter(name: 'baseUrl', type: 'java.lang.String'), parameter(name: 'botUser', type: 'boolean'), parameter(name: 'channel', type: 'java.lang.String'), parameter(name: 'color', type: 'java.lang.String'), parameter(name: 'failOnError', type: 'boolean'), parameter(name: 'message', type: 'java.lang.String'), parameter(name: 'teamDomain', type: 'java.lang.String'), parameter(nam [...]
+method(name: 'sleep', type: 'Object', params: [time:'int'], doc: 'Sleep')
+method(name: 'sleep', type: 'Object', namedParams: [parameter(name: 'time', type: 'int'), parameter(name: 'unit', type: 'java.util.concurrent.TimeUnit'), ], doc: 'Sleep')
+method(name: 'stage', type: 'Object', params: [name:java.lang.String, body:'Closure'], doc: 'Stage')
+method(name: 'stage', type: 'Object', params: [body:Closure], namedParams: [parameter(name: 'name', type: 'java.lang.String'), parameter(name: 'concurrency', type: 'java.lang.Integer'), ], doc: 'Stage')
+method(name: 'throttle', type: 'Object', params: [categories:Map, body:'Closure'], doc: 'Throttle execution of node blocks within this body')
+method(name: 'timeout', type: 'Object', params: [time:int, body:'Closure'], doc: 'Enforce time limit')
+method(name: 'timeout', type: 'Object', params: [body:Closure], namedParams: [parameter(name: 'time', type: 'int'), parameter(name: 'activity', type: 'boolean'), parameter(name: 'unit', type: 'java.util.concurrent.TimeUnit'), ], doc: 'Enforce time limit')
+method(name: 'timestamps', type: 'Object', params: [body:'Closure'], doc: 'Timestamps')
+method(name: 'tool', type: 'Object', params: [name:'java.lang.String'], doc: 'Use a tool from a predefined Tool Installation')
+method(name: 'tool', type: 'Object', namedParams: [parameter(name: 'name', type: 'java.lang.String'), parameter(name: 'type', type: 'java.lang.String'), ], doc: 'Use a tool from a predefined Tool Installation')
+method(name: 'triggerRemoteJob', type: 'Object', params: [remotePathUrl:'java.lang.String'], doc: 'Trigger a build on a remote/local job')
+method(name: 'triggerRemoteJob', type: 'Object', namedParams: [parameter(name: 'remotePathUrl', type: 'java.lang.String'), parameter(name: 'mode', type: 'Map'), parameter(name: 'parameterFactories', type: 'Map'), parameter(name: 'remotePathMissing', type: 'Map'), ], doc: 'Trigger a build on a remote/local job')
+method(name: 'waitForQualityGate', type: 'Object', params: [abortPipeline:'boolean'], doc: 'Wait for SonarQube analysis to be completed and return quality gate status')
+method(name: 'waitUntil', type: 'Object', params: [body:'Closure'], doc: 'Wait for condition')
+method(name: 'withCredentials', type: 'Object', params: [bindings:Map, body:'Closure'], doc: 'Bind credentials to variables')
+method(name: 'withEnv', type: 'Object', params: [overrides:Map, body:'Closure'], doc: 'Set environment variables')
+method(name: 'ws', type: 'Object', params: [dir:java.lang.String, body:'Closure'], doc: 'Allocate workspace')
+method(name: 'catchError', type: 'Object', params: [body:'Closure'], doc: 'Advanced/Deprecated Catch error and set build result')
+method(name: 'dockerFingerprintRun', type: 'Object', params: [containerId:'java.lang.String'], doc: 'Advanced/Deprecated Record trace of a Docker image run in a container')
+method(name: 'dockerFingerprintRun', type: 'Object', namedParams: [parameter(name: 'containerId', type: 'java.lang.String'), parameter(name: 'toolName', type: 'java.lang.String'), ], doc: 'Record trace of a Docker image run in a container')
+method(name: 'envVarsForTool', type: 'Object', namedParams: [parameter(name: 'toolId', type: 'java.lang.String'), parameter(name: 'toolVersion', type: 'java.lang.String'), ], doc: 'Fetches the environment variables for a given tool in a list of \'FOO=bar\' strings suitable for the withEnv step.')
+method(name: 'getContext', type: 'Object', params: [type:'Map'], doc: 'Advanced/Deprecated Get contextual object from internal APIs')
+method(name: 'withContext', type: 'Object', params: [context:java.lang.Object, body:'Closure'], doc: 'Advanced/Deprecated Use contextual object from internal APIs within a block')
+property(name: 'docker', type: 'org.jenkinsci.plugins.docker.workflow.DockerDSL')
+property(name: 'pipeline', type: 'org.jenkinsci.plugins.pipeline.modeldefinition.ModelStepLoader')
+property(name: 'env', type: 'org.jenkinsci.plugins.workflow.cps.EnvActionImpl.Binder')
+property(name: 'params', type: 'org.jenkinsci.plugins.workflow.cps.ParamsVariable')
+property(name: 'currentBuild', type: 'org.jenkinsci.plugins.workflow.cps.RunWrapperBinder')
+property(name: 'scm', type: 'org.jenkinsci.plugins.workflow.multibranch.SCMVar')
+}
+//Steps that require a node context
+def nodeCtx = context(scope: closureScope())
+contributor(nodeCtx) {
+    def call = enclosingCall('node')
+    if (call) {
+method(name: 'bat', type: 'Object', params: [script:'java.lang.String'], doc: 'Windows Batch Script')
+method(name: 'bat', type: 'Object', namedParams: [parameter(name: 'script', type: 'java.lang.String'), parameter(name: 'encoding', type: 'java.lang.String'), parameter(name: 'returnStatus', type: 'boolean'), parameter(name: 'returnStdout', type: 'boolean'), ], doc: 'Windows Batch Script')
+method(name: 'checkout', type: 'Object', params: [scm:'Map'], doc: 'Check out from version control')
+method(name: 'checkout', type: 'Object', namedParams: [parameter(name: 'scm', type: 'Map'), parameter(name: 'changelog', type: 'boolean'), parameter(name: 'poll', type: 'boolean'), ], doc: 'Check out from version control')
+method(name: 'copyRemoteArtifacts', type: 'Object', params: [from:'java.lang.String'], doc: 'Copy archived artifacts from a remote/local job into the workspace')
+method(name: 'copyRemoteArtifacts', type: 'Object', namedParams: [parameter(name: 'from', type: 'java.lang.String'), parameter(name: 'fingerprint', type: 'boolean'), parameter(name: 'includes', type: 'java.lang.String'), parameter(name: 'mapper', type: 'Map'), parameter(name: 'selector', type: 'Map'), parameter(name: 'timeout', type: 'java.lang.String'), ], doc: 'Copy archived artifacts from a remote/local job into the workspace')
+method(name: 'deleteDir', type: 'Object', params: [:], doc: 'Recursively delete the current directory from the workspace')
+method(name: 'dir', type: 'Object', params: [path:java.lang.String, body:'Closure'], doc: 'Change current directory')
+method(name: 'fileExists', type: 'Object', params: [file:'java.lang.String'], doc: 'Verify if file exists in workspace')
+method(name: 'findFiles', type: 'Object', params: [:], doc: 'Find files in the workspace')
+method(name: 'findFiles', type: 'Object', namedParams: [parameter(name: 'glob', type: 'java.lang.String'), ], doc: 'Find files in the workspace')
+method(name: 'git', type: 'Object', params: [url:'java.lang.String'], doc: 'Git')
+method(name: 'git', type: 'Object', namedParams: [parameter(name: 'url', type: 'java.lang.String'), parameter(name: 'branch', type: 'java.lang.String'), parameter(name: 'changelog', type: 'boolean'), parameter(name: 'credentialsId', type: 'java.lang.String'), parameter(name: 'poll', type: 'boolean'), ], doc: 'Git')
+method(name: 'junit', type: 'Object', params: [testResults:'java.lang.String'], doc: 'Archive JUnit-formatted test results')
+method(name: 'junit', type: 'Object', namedParams: [parameter(name: 'testResults', type: 'java.lang.String'), parameter(name: 'allowEmptyResults', type: 'boolean'), parameter(name: 'healthScaleFactor', type: 'double'), parameter(name: 'keepLongStdio', type: 'boolean'), parameter(name: 'testDataPublishers', type: 'Map'), ], doc: 'Archive JUnit-formatted test results')
+method(name: 'load', type: 'Object', params: [path:'java.lang.String'], doc: 'Evaluate a Groovy source file into the Pipeline script')
+method(name: 'maven_invoker', type: 'Object', namedParams: [parameter(name: 'reportsFilenamePattern', type: 'java.lang.String'), parameter(name: 'invokerBuildDir', type: 'java.lang.String'), ], doc: 'Archive Maven Invoker test results')
+method(name: 'powershell', type: 'Object', params: [script:'java.lang.String'], doc: 'PowerShell Script')
+method(name: 'powershell', type: 'Object', namedParams: [parameter(name: 'script', type: 'java.lang.String'), parameter(name: 'encoding', type: 'java.lang.String'), parameter(name: 'returnStatus', type: 'boolean'), parameter(name: 'returnStdout', type: 'boolean'), ], doc: 'PowerShell Script')
+method(name: 'publishHTML', type: 'Object', params: [target:'Map'], doc: 'Publish HTML reports')
+method(name: 'pwd', type: 'Object', params: [:], doc: 'Determine current directory')
+method(name: 'pwd', type: 'Object', namedParams: [parameter(name: 'tmp', type: 'boolean'), ], doc: 'Determine current directory')
+method(name: 'readFile', type: 'Object', params: [file:'java.lang.String'], doc: 'Read file from workspace')
+method(name: 'readFile', type: 'Object', namedParams: [parameter(name: 'file', type: 'java.lang.String'), parameter(name: 'encoding', type: 'java.lang.String'), ], doc: 'Read file from workspace')
+method(name: 'readMavenPom', type: 'Object', params: [:], doc: 'Read a maven project file.')
+method(name: 'readMavenPom', type: 'Object', namedParams: [parameter(name: 'file', type: 'java.lang.String'), ], doc: 'Read a maven project file.')
+method(name: 'scanForIssues', type: 'Object', params: [:], doc: 'Scan files or the console log for warnings or issues')
+method(name: 'scanForIssues', type: 'Object', namedParams: [parameter(name: 'blameDisabled', type: 'boolean'), parameter(name: 'filters', type: 'Map'), parameter(name: 'sourceCodeEncoding', type: 'java.lang.String'), parameter(name: 'tool', type: 'Map'), ], doc: 'Scan files or the console log for warnings or issues')
+method(name: 'sh', type: 'Object', params: [script:'java.lang.String'], doc: 'Shell Script')
+method(name: 'sh', type: 'Object', namedParams: [parameter(name: 'script', type: 'java.lang.String'), parameter(name: 'encoding', type: 'java.lang.String'), parameter(name: 'returnStatus', type: 'boolean'), parameter(name: 'returnStdout', type: 'boolean'), ], doc: 'Shell Script')
+method(name: 'sha1', type: 'Object', params: [file:'java.lang.String'], doc: 'Compute the SHA1 of a given file')
+method(name: 'sloccountPublish', type: 'Object', params: [:], doc: 'Publish Sloccount reports')
+method(name: 'sloccountPublish', type: 'Object', namedParams: [parameter(name: 'pattern', type: 'java.lang.String'), parameter(name: 'encoding', type: 'java.lang.String'), parameter(name: 'commentIsCode', type: 'boolean'), parameter(name: 'numBuildsInGraph', type: 'int'), parameter(name: 'ignoreBuildFailure', type: 'boolean'), ], doc: 'Publish Sloccount reports')
+method(name: 'sshagent', type: 'Object', params: [credentials:Map, body:'Closure'], doc: 'SSH Agent')
+method(name: 'sshagent', type: 'Object', params: [body:Closure], namedParams: [parameter(name: 'credentials', type: 'Map'), parameter(name: 'ignoreMissing', type: 'boolean'), ], doc: 'SSH Agent')
+method(name: 'stash', type: 'Object', params: [name:'java.lang.String'], doc: 'Stash some files to be used later in the build')
+method(name: 'stash', type: 'Object', namedParams: [parameter(name: 'name', type: 'java.lang.String'), parameter(name: 'allowEmpty', type: 'boolean'), parameter(name: 'excludes', type: 'java.lang.String'), parameter(name: 'includes', type: 'java.lang.String'), parameter(name: 'useDefaultExcludes', type: 'boolean'), ], doc: 'Stash some files to be used later in the build')
+method(name: 'step', type: 'Object', params: [delegate:'Map'], doc: 'General Build Step')
+method(name: 'svn', type: 'Object', params: [url:'java.lang.String'], doc: 'Subversion')
+method(name: 'svn', type: 'Object', namedParams: [parameter(name: 'url', type: 'java.lang.String'), parameter(name: 'changelog', type: 'boolean'), parameter(name: 'poll', type: 'boolean'), ], doc: 'Subversion')
+method(name: 'tee', type: 'Object', params: [file:java.lang.String, body:'Closure'], doc: 'Tee output to file')
+method(name: 'tm', type: 'Object', params: [stringWithMacro:'java.lang.String'], doc: 'Expand a string containing macros')
+method(name: 'touch', type: 'Object', params: [file:'java.lang.String'], doc: 'Create a file (if not already exist) in the workspace, and set the timestamp')
+method(name: 'touch', type: 'Object', namedParams: [parameter(name: 'file', type: 'java.lang.String'), parameter(name: 'timestamp', type: 'java.lang.Long'), ], doc: 'Create a file (if not already exist) in the workspace, and set the timestamp')
+method(name: 'unstash', type: 'Object', params: [name:'java.lang.String'], doc: 'Restore files previously stashed')
+method(name: 'unzip', type: 'Object', params: [zipFile:'java.lang.String'], doc: 'Extract Zip file')
+method(name: 'unzip', type: 'Object', namedParams: [parameter(name: 'zipFile', type: 'java.lang.String'), parameter(name: 'charset', type: 'java.lang.String'), parameter(name: 'dir', type: 'java.lang.String'), parameter(name: 'glob', type: 'java.lang.String'), parameter(name: 'quiet', type: 'boolean'), parameter(name: 'read', type: 'boolean'), parameter(name: 'test', type: 'boolean'), ], doc: 'Extract Zip file')
+method(name: 'validateDeclarativePipeline', type: 'Object', params: [path:'java.lang.String'], doc: 'Validate a file containing a Declarative Pipeline')
+method(name: 'withMaven', type: 'Object', params: [body:'Closure'], doc: 'Provide Maven environment')
+method(name: 'withMaven', type: 'Object', params: [body:Closure], namedParams: [parameter(name: 'globalMavenSettingsConfig', type: 'java.lang.String'), parameter(name: 'globalMavenSettingsFilePath', type: 'java.lang.String'), parameter(name: 'jdk', type: 'java.lang.String'), parameter(name: 'maven', type: 'java.lang.String'), parameter(name: 'mavenLocalRepo', type: 'java.lang.String'), parameter(name: 'mavenOpts', type: 'java.lang.String'), parameter(name: 'mavenSettingsConfig', type: 'j [...]
+method(name: 'wrap', type: 'Object', params: [delegate:Map, body:'Closure'], doc: 'General Build Wrapper')
+method(name: 'writeFile', type: 'Object', namedParams: [parameter(name: 'file', type: 'java.lang.String'), parameter(name: 'text', type: 'java.lang.String'), parameter(name: 'encoding', type: 'java.lang.String'), ], doc: 'Write file to workspace')
+method(name: 'writeJSON', type: 'Object', namedParams: [parameter(name: 'file', type: 'java.lang.String'), parameter(name: 'json', type: 'Map'), parameter(name: 'pretty', type: 'int'), ], doc: 'Write JSON to a file in the workspace.')
+method(name: 'writeMavenPom', type: 'Object', params: [model:'Map'], doc: 'Write a maven project file.')
+method(name: 'writeMavenPom', type: 'Object', namedParams: [parameter(name: 'model', type: 'Map'), parameter(name: 'file', type: 'java.lang.String'), ], doc: 'Write a maven project file.')
+method(name: 'writeYaml', type: 'Object', namedParams: [parameter(name: 'file', type: 'java.lang.String'), parameter(name: 'data', type: 'java.lang.Object'), parameter(name: 'charset', type: 'java.lang.String'), ], doc: 'Write a yaml from an object.')
+method(name: 'xunit', type: 'Object', params: [tools:'Map'], doc: 'Publish xUnit test result report')
+method(name: 'xunit', type: 'Object', namedParams: [parameter(name: 'tools', type: 'Map'), parameter(name: 'testDataPublishers', type: 'Map'), parameter(name: 'testTimeMargin', type: 'java.lang.String'), parameter(name: 'thresholdMode', type: 'int'), parameter(name: 'thresholds', type: 'Map'), ], doc: 'Publish xUnit test result report')
+method(name: 'zip', type: 'Object', params: [zipFile:'java.lang.String'], doc: 'Create Zip file')
+method(name: 'zip', type: 'Object', namedParams: [parameter(name: 'zipFile', type: 'java.lang.String'), parameter(name: 'archive', type: 'boolean'), parameter(name: 'dir', type: 'java.lang.String'), parameter(name: 'glob', type: 'java.lang.String'), ], doc: 'Create Zip file')
+method(name: 'archive', type: 'Object', params: [includes:'java.lang.String'], doc: 'Advanced/Deprecated Archive artifacts')
+method(name: 'archive', type: 'Object', namedParams: [parameter(name: 'includes', type: 'java.lang.String'), parameter(name: 'excludes', type: 'java.lang.String'), ], doc: 'Archive artifacts')
+method(name: 'dockerFingerprintFrom', type: 'Object', namedParams: [parameter(name: 'dockerfile', type: 'java.lang.String'), parameter(name: 'image', type: 'java.lang.String'), parameter(name: 'buildArgs', type: 'Map'), parameter(name: 'toolName', type: 'java.lang.String'), ], doc: 'Record trace of a Docker image used in FROM')
+method(name: 'unarchive', type: 'Object', params: [:], doc: 'Advanced/Deprecated Copy archived artifacts into the workspace')
+method(name: 'unarchive', type: 'Object', namedParams: [parameter(name: 'mapping', type: 'Map'), ], doc: 'Copy archived artifacts into the workspace')
+method(name: 'withDockerContainer', type: 'Object', params: [image:java.lang.String, body:'Closure'], doc: 'Advanced/Deprecated Run build steps inside a Docker container')
+method(name: 'withDockerContainer', type: 'Object', params: [body:Closure], namedParams: [parameter(name: 'image', type: 'java.lang.String'), parameter(name: 'args', type: 'java.lang.String'), parameter(name: 'toolName', type: 'java.lang.String'), ], doc: 'Run build steps inside a Docker container')
+method(name: 'withDockerRegistry', type: 'Object', params: [registry:Map, body:'Closure'], doc: 'Advanced/Deprecated Sets up Docker registry endpoint')
+method(name: 'withDockerRegistry', type: 'Object', params: [body:Closure], namedParams: [parameter(name: 'registry', type: 'Map'), parameter(name: 'toolName', type: 'java.lang.String'), ], doc: 'Sets up Docker registry endpoint')
+method(name: 'withDockerServer', type: 'Object', params: [server:Map, body:'Closure'], doc: 'Advanced/Deprecated Sets up Docker server endpoint')
+    }
+}
+
+// Errors on:
+// class org.jenkinsci.plugins.workflow.cps.steps.ParallelStep: There's no @DataBoundConstructor on any constructor of class org.jenkinsci.plugins.workflow.cps.steps.ParallelStep