Created
February 18, 2016 15:20
-
-
Save kevinearls/7b483db746430badc19d to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//The global script scope | |
def ctx = context(scope: scriptScope()) | |
contributor(ctx) { | |
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: 'error', type: 'Object', params: [message:'java.lang.String'], doc: 'Error signal') | |
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'), ], doc: 'Wait for interactive input') | |
method(name: 'isUnix', type: 'Object', params: [:], doc: 'Checks if running on a Unix-like node') | |
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', type: 'java.lang.String'), ], doc: 'Mail') | |
method(name: 'node', type: 'Object', params: [label:java.lang.String, body:'Closure'], doc: 'Allocate node') | |
method(name: 'properties', type: 'Object', params: [properties:'Map'], doc: 'Set job properties') | |
method(name: 'retry', type: 'Object', params: [count:int, body:'Closure'], doc: 'Retry the body up to N times') | |
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: '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: 'stage', type: 'Object', params: [name:'java.lang.String'], doc: 'Stage') | |
method(name: 'stage', type: 'Object', namedParams: [parameter(name: 'name', type: 'java.lang.String'), parameter(name: 'concurrency', type: 'java.lang.Integer'), ], doc: 'Stage') | |
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: 'unit', type: 'java.util.concurrent.TimeUnit'), ], doc: 'Enforce time limit') | |
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: 'waitUntil', type: 'Object', params: [body:'Closure'], doc: 'Wait for condition') | |
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') | |
property(name: 'env', type: 'org.jenkinsci.plugins.workflow.cps.EnvActionImpl.Binder') | |
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: 'archive', type: 'Object', params: [includes:'java.lang.String'], doc: '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: 'bat', type: 'Object', params: [script:'java.lang.String'], doc: 'Windows Batch Script') | |
method(name: 'checkout', type: 'Object', params: [scm:'Map'], doc: 'General SCM') | |
method(name: 'checkout', type: 'Object', namedParams: [parameter(name: 'scm', type: 'Map'), parameter(name: 'changelog', type: 'boolean'), parameter(name: 'poll', type: 'boolean'), ], doc: 'General SCM') | |
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: 'load', type: 'Object', params: [path:'java.lang.String'], doc: 'Evaluate a Groovy source file into the workflow 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: '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: '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: '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: 'readProperties', type: 'Object', params: [:], doc: 'Read properties from files in the workspace or text.') | |
method(name: 'readProperties', type: 'Object', namedParams: [parameter(name: 'defaults', type: 'Map'), parameter(name: 'file', type: 'java.lang.String'), parameter(name: 'text', type: 'java.lang.String'), ], doc: 'Read properties from files in the workspace or text.') | |
method(name: 'sh', type: 'Object', params: [script:'java.lang.String'], doc: 'Shell Script') | |
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: '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: '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: 'dir', type: 'java.lang.String'), parameter(name: 'glob', type: 'java.lang.String'), parameter(name: 'read', type: 'boolean'), parameter(name: 'test', type: 'boolean'), ], doc: 'Extract Zip file') | |
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: '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: '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: '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') | |
} | |
} | |
// 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 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment