public class Transformer
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
protected org.w3c.dom.NodeList |
buildersList |
java.lang.StringBuffer |
buildSteps |
private java.util.List<java.lang.String> |
copyConfigs |
java.lang.String |
currentJobName |
protected org.w3c.dom.Document |
dest |
protected org.w3c.dom.Document |
doc |
boolean |
firstJob |
private org.w3c.dom.Element |
flowDefinition |
private java.io.InputStream |
is |
org.w3c.dom.Element |
jdk |
private static java.util.logging.Logger |
logger |
java.lang.String |
previousLabel |
java.lang.String |
previousUrl |
java.lang.StringBuffer |
publishSteps |
private java.util.Map<java.lang.String,java.lang.Object> |
requestParams |
private java.lang.String |
scmBranch |
private java.lang.String |
scmCredentialsId |
private java.lang.String |
scmType |
private java.lang.String |
scmURL |
java.lang.StringBuffer |
script |
private java.util.List<java.lang.String> |
transformConfigs |
Constructor and Description |
---|
Transformer(java.util.Map requestParams)
Constructor to initialise variables required to process transformation.
|
Modifier and Type | Method and Description |
---|---|
private void |
appendScriptToXML(boolean commitJenkinsfile,
java.lang.String commitMessage)
Add Groovy Script to XML strucuture.
|
void |
appendToScript(java.lang.String block)
General method to append script block to main script.
|
void |
appendToScript(java.lang.String stage,
java.lang.String block)
General method to append script block with a stage wrap.
|
private void |
copyConfigurations(java.util.List<java.lang.String> configurations)
Copies known configurations that are identical in pipeline jobs.
|
org.w3c.dom.Element |
getElementByTag(org.w3c.dom.Node node,
java.lang.String tag)
Gets Element object from Node based on tag name.
|
java.io.InputStream |
getStream()
Returns the input stream which consists of the entire XML structure of the new pipeline job.
|
void |
performFreeStyleTransformation()
Initialises transformation process of Freestyle project to Pipeline.
|
void |
setScmBranch(java.lang.String scmBranch)
Setter method to set SCM Branch.
|
void |
setScmCredentialsId(java.lang.String scmCredentialsId)
Setter method to set SCM Credentials Id.
|
void |
setScmType(java.lang.String scmType)
Setter method to set SCM Type.
|
void |
setScmURL(java.lang.String scmURL)
Setter method to set SCM URL.
|
private void |
transformConfigurations(java.util.List<java.lang.String> configurations)
Calls respective methods that convert configurations.
|
private void |
transformFile()
Calls 'copy' or 'transformers' methods of various configurations of a FreeStyle job.
|
private void |
transformJob(hudson.model.FreeStyleProject item,
boolean downStream)
Invokes conversion of given FreeStyle Job.
|
private void |
transformLabel()
Transforms label to node block.
|
private void |
writeConfiguration()
Write complete transformed configuration to input stream object.
|
private org.w3c.dom.Element |
writeCPSFlow()
Write CPS Flow XML structure for SCM type defined.
|
private static final java.util.logging.Logger logger
private java.io.InputStream is
private org.w3c.dom.Element flowDefinition
private java.lang.String scmURL
private java.lang.String scmCredentialsId
private java.lang.String scmType
private java.lang.String scmBranch
protected org.w3c.dom.Document doc
protected org.w3c.dom.Document dest
public org.w3c.dom.Element jdk
protected org.w3c.dom.NodeList buildersList
public boolean firstJob
public java.lang.StringBuffer script
public java.lang.StringBuffer buildSteps
public java.lang.StringBuffer publishSteps
public java.lang.String currentJobName
public java.lang.String previousUrl
public java.lang.String previousLabel
private java.util.Map<java.lang.String,java.lang.Object> requestParams
private java.util.List<java.lang.String> copyConfigs
private java.util.List<java.lang.String> transformConfigs
public Transformer(java.util.Map requestParams)
requestParams
- Map that contains request parameters.public void performFreeStyleTransformation()
private void transformJob(hudson.model.FreeStyleProject item, boolean downStream)
item
- FreeStyle job to convert.downStream
- Boolean to decide if item's downstream jobs are to be converted.public java.io.InputStream getStream()
private void transformFile()
private void transformConfigurations(java.util.List<java.lang.String> configurations)
configurations
- List of configuration to convert.private void copyConfigurations(java.util.List<java.lang.String> configurations)
configurations
- List of configurations to copy.private void transformLabel()
public void appendToScript(java.lang.String stage, java.lang.String block)
stage
- Name of stage to create.block
- Script block to add under stage.public void appendToScript(java.lang.String block)
block
- Script block to add to main script.private void appendScriptToXML(boolean commitJenkinsfile, java.lang.String commitMessage)
commitJenkinsfile
- Boolean to decide if script is to be kept inline or committed as Jenkinsfile to SCM.commitMessage
- Commit message if Jenkinsfile is to be committed to SCM.public org.w3c.dom.Element getElementByTag(org.w3c.dom.Node node, java.lang.String tag)
node
- Node object from which element is to be extracted.tag
- Name of tag to extract.private void writeConfiguration()
public void setScmBranch(java.lang.String scmBranch)
scmBranch
- SCM Branch to set for committing Jenkinsfile to SCM.public void setScmURL(java.lang.String scmURL)
scmURL
- SCM URL to set for committing Jenkinsfile to SCM.public void setScmType(java.lang.String scmType)
scmType
- SCM Type to set for committing Jenkinsfile to SCM.public void setScmCredentialsId(java.lang.String scmCredentialsId)
scmCredentialsId
- SCM Credentials Id to set for committing Jenkinsfile to SCM.private org.w3c.dom.Element writeCPSFlow()