Artefact library¶
Status to Bitbucket¶
Available since 1.0
Keep track of a step status in the CVS
Signature¶
utils.build_notify(currentBuild, String key, String title, Closure process, Closure error_eval = null)
Parameter
currentBuildis the meta object pointing to the current buildkeyis used to uniquely identify a task within a build, It should not contain blankspace and non alphanumerical chars.titleis the friendly title to be displayed to the userprocessis the wrapped steps to be taken for this step to complete. it is possible to return a string to override the step annotation, i.e:Completed in 12 secondserror_evalis the wrapped steps to be taken to evaluate an error annotation and return it as a string , i.e:The Jira ticket was not approved(Optional)
Examples¶
Simple usage:
utils.build_notify(currentBuild, 'my-tak-key', "My Task"){
sh "echo proceed"
}
Step annotation usage:
utils.build_notify(currentBuild, 'my-tak-key', "My Task"){
if (my_var == "yes"){
sh "echo proceed"
return "Process was approved"
} else {
throw Exception("This wasn't approved")
}
} {
return "${my_other_var} was approved to proceed."
}
Artifact generation¶
Available since 1.1
Create a new artifact that can be reused by a CD pipeline
Signature¶
artifacts.create_artifact(String path)
Parameter
pathis the path to the folder from which the artifact needs to be created
Examples¶
Simple usage using utils.build_notify:
utils.build_notify(currentBuild, 'my-packaging-step', "Deliver artifact"){
sh 'mkdir -p build && echo generated > build/output.txt'
artifacts.create_artifact('build')
}
Publish Docker Image¶
Available since 1.X
Create a image in a previously provisonned ECR repository
Signature¶
artifacts.publish_image(Image docker_image)
Parameter
docker_imageis a Docker image built using the Docker library in Jenkins, i.e:docker.build('myimage:itsversion')
Examples¶
Simple usage using utils.build_notify:
utils.build_notify(currentBuild, 'my-packaging-step', "Deliver image"){
def myimage = docker.build("myimage:myimmutabletag")
artifacts.publish_image(myimage)
}
Get current M2A version¶
Available in 1.0 with library artifacts
Get the current version for which the active pipeline is running
Signature¶
artifacts.get_version(currentBuild)
Parameter
currentBuildis the meta object pointing to the current buildReturn value is a string containing the version, i.e:
20.11~beta~352
Examples¶
Simple usage using utils.build_notify and artifacts.create_artifact:
utils.build_notify(currentBuild, 'my-packaging-step', "Deliver artifact"){
sh "mkdir -p build && echo 'Current build is ${artifacts.get_version(currentBuild)}' > build/output.txt"
artifacts.create_artifact('build')
}
Get current semantic version¶
Available in 1.0 with library artifacts
Get the current version for which the active pipeline is running
Signature¶
get_semantic_version()
Parameter
envis the global env object that can be accessed during the buildcurrentBuildis the meta object pointing to the current buildReturn value is a string containing the semantic version, i.e:
1.2.3
Examples¶
Simple usage using utils.build_notify:
utils.build_notify(currentBuild, 'my-packaging-step', "Deliver artifact"){
sh "mkdir -p build && echo 'Current build is ${get_semantic_version(env, currentBuild)}' > build/output.txt"
artifacts.create_artifact('build')
}
