-
Notifications
You must be signed in to change notification settings - Fork 831
Home
Welcome to the jenkins-job-dsl wiki!
- The formal documentation and full syntax reference is detailed in Job DSL Commands.
- There are also tips on more advanced usage and workflows.
- The forum has lots of information, some of which is making its way to the FAQ.
- If you want to get more involved, here's how to contribute...
Highly recommended starting point is the tutorial.
Once you know how to create a "seed" job from the tutorial, start looking at the real world examples for examples to steal from. After you get familiar with some of the commands, try them out at the Job DSL Playground.
If you want to get fancy you'll want to read up on configure block, which gives you direct access to the config.xml
.
Have a look at the Jenkins Job DSL Gradle example to see how to organize a SCM repository for Job DSL scripts.
- 1.35 (July 01 2015)
- Added support for the Build Flow Test Aggregator Plugin (JENKINS-28851)
- Added support for the Join Plugin (JENKINS-28985)
- Added support for the Fail The Build Plugin
- Added closure method for logRotator
- Allow to extend the trigger context (JENKINS-28562)
- Enhanced DSL support for the Job DSL plugin
- Fixed problem when deleting views from already deleted folder (JENKINS-28458)
- Fixed Parameterized Trigger Plugin build step (JENKINS-28353)
- Fixed problem with implementing the extension point (JENKINS-28408)
- Provide better error message when trying to move a job into a non-existing folder (JENKINS-29100)
- Fixed problem that caused a changing order of elements not to trigger a job update (JENKINS-29107)
- Fixed support for multi-job phases in conditional build steps
- Introduced nested steps context for conditional build steps and deprecated direct use of build steps in conditional build steps, see Migration
- Enhanced support for the HTML Publisher Plugin (JENKINS-28564)
- Enhanced support for the Config File Provider Plugin
- Enhanced support for the GitHub Pull Request Builder Plugin
- Enhanced support for the Git Plugin (JENKINS-28405)
- Enhanced support for Matrix Authorization Strategy Plugin (JENKINS-27320)
- Removed unnecessary update of Jenkins project dependency graph
- Enhanced support for Maven Project Plugin (JENKINS-29070, JENKINS-29110)
- Added support for the latest version of the S3 Plugin (JENKINS-26561)
- Added documentation for IDE Support
- Added documentation about logging
- Write output files for
FileJobManagment
to the same directory as the input files - Fixed
FileJobManagement
to create missing folders (JENKINS-27124) - Support for the older versions of the Matrix Authorization Strategy Plugin is deprecated, see Migration
- Support for the older versions of the S3 Plugin is deprecated, see Migration
- Support for the older versions of the GitHub Pull Request Builder Plugin is deprecated, see Migration
- Support for the older versions of the Maven Project Plugin is deprecated, see Migration
- Removed anything that has been deprecated in 1.27, see Migration (JENKINS-27492)
- Removed anything that has been deprecated in 1.28, see Migration
- 1.34 (May 08 2015)
- Enhanced support for the Publish Over SSH Plugin (JENKINS-26636)
- Fixed XML encoding issue when using a single conditional build step (JENKINS-28308)
- Fixed issue with multiple (script) parameters for Groovy build steps (JENKINS-28310)
- Deprecated an undocumented variant of the
runner
method inconditionalSteps
context, see Migration - 1.33 (May 07 2015)
- Enhanced support for the Git Plugin (JENKINS-27891, JENKINS-28264)
- Added support for the Build Publisher Plugin
- Added support for the Naginator Plugin
- Added support for the Sidebar-Link Plugin
- Added support for the Custom Job Icon Plugin
- Added support for "Build after other projects are built" trigger
- Added more options for
archiveArtifacts
- The
latestOnly
option ofarchiveArtifacts
is deprecated, see Migration - Enhanced support for the Robot Framework Plugin
- Enhanced support for RunDeck Plugin
- Enhanced support for the Mercurial Plugin
- Support for the older versions of the Mercurial Plugin is deprecated, see Migration
- Enhanced support for the Flexible Publish Plugin
- Support for the older versions of the Flexible Publish Plugin is deprecated, see Migration
- Enhanced support for the Copy Artifact Plugin (JENKINS-27838, JENKINS-27894)
- Enhanced support for the GitHub Pull Request Builder Plugin (JENKINS-27932)
- Support for the older versions of the Copy Artifact Plugin is deprecated, see Migration
- Enhanced support for the Robot Framework Plugin
- Support for the older versions of the Robot Framework Plugin is deprecated, see Migration
- Variants of
copyArtifacts
with more than two parameters have been replaced and are deprecated, see Migration - Added a Jenkins extension point for adding DSL methods
- Added support for HipChat Plugin
- Added support for uploading user conent
- Increased the minimum supported Jenkins version to 1.565 (JENKINS-28167)
- 1.32 (April 07 2015)
- Added support for PowerShell Plugin (JENKINS-27820)
- Fixed problem with publishers in Maven jobs (JENKINS-27767)
- 1.31 (April 04 2015)
- Added support for Categorized Jobs View
- Added support for Build Node Column Plugin
- Added support for Pre-SCM Build Step Plugin
- Added support for Sonar Plugin
- Added support for Debian Package Builder Plugin
- Added support for Plot Plugin
- Added support for Git Parameter Plugin
- Added
recurse
option for list views - Added
ignorePostCommitHooks
option for SCM trigger - Added
commentFilePath
option for GitHub Pull Request Builder Plugin - Added "Configure Project" column for Extra Columns Plugin
- Added support for PostBuildScript Plugin
- Added support for Xvfb Plugin
- Enhanced support for the Credentials Binding Plugin
- Enhanced support for the Multijob Plugin
- Enhanced support for the NodeJS Plugin
- Enhanced support for the Maven Project Plugin
- Enhanced support for the Description Setter Plugin
- Enhanced support for (Cloudbees Folders Plugin)
- Support all available permissions (JENKINS-16365)
- Deprecated the Permissions enum, see Migration
- The
tagFilterRegex
argument oflistTagsParam
can be null or empty - The enum argument of
localRepository
for the Maven job and context has changed, see Migration - Support for the older versions of the Multijob Plugin is deprecated, see Migration
- The views closure of the nested view type has been changed, see Migration
- Removed anything that has been deprecated in 1.26, see Migration
- 1.30 (March 08 2015)
- Added support for Custom Tools Plugin
- Added support for Flaky Test Handler Plugin
- Added configure block to the Multijob job context
- Added strategy option for the Git Plugin
- Added strategy build chooser for the Gerrit Trigger
- Enhanced support for the Subversion Plugin
- Added
abortBuild
action for the Build Timeout - Deprecated the
failBuild
action with a boolean parameter for the Build Timeout, see Migration - Deprecated the
javaposse.jobdsl.dsl.helpers.wrapper.WrapperContext.Timeout
enum, see Migration - Added support for label parameters from the NodeLabel Parameter Plugin
- Added populateToolInstallations and overrideBuildVariables options for the EnvInject Plugin
- Added groovy option in the wrappers context for the EnvInject Plugin
- Fixed the
notifySuspects
option for the Jabber Plugin - Fixed
extendedEmail
configure block resolve strategy (JENKINS-27063) - Deprecated some overloaded DSL methods for the Jabber Plugin, see Migration
- Introduced new factory methods and deprecated the generic factory and
name
methods, see Migration - Finding credentials by description is deprecated, see Migration
- 1.29 (February 05 2015)
- Show seed job and template job info in the generated jobs
- Added CoreMirror support for the DSL script input field
- Added support for renaming existing Jobs based on a regular expression
- Added support for the Repository Connector Plugin
- Added support for the Workflow Plugin
- Added support for the View Job Filters Plugin
- Enhanced support for the Parameterized Remote Trigger Plugin
- Enhanced support for the Claim Plugin
- Enhanced DSL support for the Job DSL plugin
- Fixed support for JARs in the "Additional classpath" option of the "Process Job DSLs" build step
- Allow Ant-style patterns in the "Additional classpath" option of the "Process Job DSLs" build step
- Support for the
@Grab
and@Grapes
annotations is deprecated, see Migration - Deprecated
perModuleEmail
option for Maven jobs (JENKINS-26284) - Removed deprecated build timeout methods, see Migration
- 1.28 (January 01 2015)
- Added support for the Credentials Binding Plugin
- Added support for the HTTP Request Plugin
- Added support for the Build Monitor Plugin
- Added support for the Publish Over SSH Plugin
- Added support for the Team Concert Plugin
- Enhanced support for the Config File Provider Plugin
- Added allow missing option for the HTML Publisher Plugin
- Added clone timeout option for the Git Plugin
- Support more trigger for Email-ext Plugin
- Fixed documentation for the Release Plugin (JENKINS-25945)
- Fixed
copyArtifacts
build step for matrix jobs, minimum supported version of Copy Artifact Plugin raised to 1.26 - Allow the Job DSL build step to be used as conditional build step (JENKINS-25961)
- Allow views to be deleted (JENKINS-26152)
- The non-closure variants of the
report
methods in thepublishHtml
context are deprecated, see Migration - Set return type for most DSL methods to void, see Migration
- Moved
Context
andContextHelper
to packagejavaposse.jobdsl.dsl
, see Migration - 1.27 (December 05 2014)
- Added support for the Rbenv Plugin
- Added support for the NodeJS Plugin
- Added support for the Golang Plugin
- Added more support for the Gradle Plugin
- Added
forcePush
option for Git Publisher - Improved build step console output
- added
entries
method inpublishScp
closure to add multiple entries - The context helper classes have been removed
- Top-level
permission
methods are deprecated, see Migration -
pattern
method inarchiveArtifacts
closure can be called multiple times to collect patterns - Added a no parameter variant of
colorizeOutput
to match documentation. - The
name
method with a closure parameter in thejob
closure is deprecated, see Migration - Fixed time condition for Run Condition Plugin
- 1.26 (October 04 2014)
- Support for "Pipeline starts with parameters" for Build Pipeline Plugin
- Support for Build User Vars Plugin
- Support for Test Stability Plugin
- Support for Mask Passwords Plugin
- Support for Analysis Collector Plugin
- Support for Delivery Pipeline Plugin
- Support for Notification Plugin
- Allow to merge more than one branch with Git SCM
- Support for S3 Plugin
- Removed unnecessary undocumented methods in Gerrit trigger (JENKINS-24787)
- Short names in the Gerrit trigger event closure have been replaced by DSL methods, see Migration
- The
archiveJunit
method with boolean arguments has been deprecated, see Migration - The
xvnc
method with boolean arguments has been deprecated, see Migration - Support to specify the xAuthority file option of the Xvnc Plugin
-
javaposse.jobdsl.dsl.helpers.step.AbstractStepContext
has been removed, see Migration - Fixed endless recursion when calling
properties
in configure blocks (JENKINS-22708) - Support for Flexible Publish Plugin
- Support for Any Build Step Plugin
- Support to specify the Stash browser URL for the Git Plugin
- Partial support for NodeLabel Parameter Plugin
- Increased minimum supported Jenkins core version to 1.509.3
- 1.25 (September 01 2014)
- Dropped support for Java 5, Java 6 or later is required at runtime
- Support for Rake Plugin
- Support for Lockable Resources Plugin
- Support for vSphere Cloud Plugin
- Support for Sectioned View Plugin
- Support for M2 Release Plugin
- Support for Nested View Plugin
- Support for Config File Provider Plugin
- Support more options of the Multijob Plugin
- Added option to add classpath entries for Job DSL runs
- Added localBranch option for Git SCM
- Added method to read a file from any job's workspace
- Fixed workspace cleanup external delete command (JENKINS-24231)
- Fixed Build Timeout Plugin no activity timeout (JENKINS-24258)
- Fixed alwaysRun and neverRun conditions (JENKINS-24510)
- 1.24 (July 05 2014)
- Support for Build Name Setter Plugin
- Support for RunDeck Plugin
- Support for ClearCase Plugin
- Support for Keychains and Provisioning Profiles Plugin
- Support for xUnit Plugin
- Support for Batch Task Plugin
- Support for Matrix Projects
- Extend support for Build Timeout
- Added option for treating job names relative to the seed job
- Added pruneBranches option for Git SCM
- Fixed ClassCastException when removing folder (JENKINS-23289)
- Fixed GerritContext not honoring default settings (JENKINS-23318)
- Moved PerforcePasswordEncryptor to javaposse.jobdsl.dsl.helpers.scm package
- Support for Exclusion Plugin
- 1.23 (May 23 2014)
- Added support for injecting globally defined passwords (EnvInject Plugin)
- Added file name to exception message when reading missing workspace files (JENKINS-23006)
- Fixed behavior when creating Jabber targets that are not group chats (JENKINS-23090)
- Create and update folders (Cloudbees Folders Plugin)
- Allow to create or update views within folders
- Removed multiscm limit
- Fixed support for the Description Setter Plugin
- new parameter for CopyArtifact's StatusBuildSelector to consider only stable builds
- Limited Extra Columns Plugin support
- Flowdock Plugin
- More conditions for the Conditional BuildStep Plugin supported
- Initial support for the Stash Notifier Plugin
- Support for LogFileSizeChecker Plugin
- Support for Maven Deployment Linker Plugin
- Added support for parameterized manual jobs for the Build Pipeline Plugin
- Support for Workspace Cleanup Plugin
- 1.22 (Apr 05 2014)
- Fixed support for the Conditional BuildStep Plugin
- Github Pull Request Builder Plugin
- Workspace Cleanup Plugin
- Parameterized Remote Trigger Plugin
- Git Publisher
- Support for the
changeBuildStatus
element for Jacoco Code Coverage publisher - Jenkins Release Plugin
- Support for buildnumbers as strings in Copy Artifacts
- 1.21 (Mar 06 2014)
- Build Flow job type
- Execute concurrent builds job option
- Github Commit Notifier publisher
- Build Pipeline Plugin
- Views
- Publish Robot Framework reports
- Templates within folders can be used
- Tool Environment Plugin
- 1.20 (Jan 27 2014)
- Allow to set the Maven installation
- Maven step supports more options
- Maven pre/post build steps supported
- Conditional BuildStep Plugin
- Added allowEmpty option to archiveArtifacts
- Throttle Concurrent Builds Plugin
- Some implementation classes have been moved to avoid problems with Groovy closures (BREAKING CHANGE, see Migration)
- Parameterized Trigger Plugin for build steps
- Associated Files Plugin
- JSHint Checkstyle Plugin
- Emma Plugin
- Added support for advanced Git SCM options
- Added ItemDiscover, ItemCancel, and ScmTag permissions to the Permissions enum
- 1.19 (Dec 19 2013)
- Javadoc Plugin
- Added support to allow seed jobs in folders. #109
- Groovy Postbuild Plugin
- XVNC Plugin
- Prerequisite Build Step
- Aggregate Downstream Test Results
- Post Build Task
- AnsiColor Plugin
- new wrappers block, containing all build wrapper methods (BREAKING CHANGE, see Migration)
- Timestamper
- JENKINS-20284
- Text Finder
- 1.17
- Static Analysis Plugins (PMD, Checkstyle, Findbugs, DRY, Tasks, CCM, Lint, OWASP Dependency Check, Compiler warnings,
- Description Setter Plugin
- Keep Dependencies and Fingerprinting
- Mailer
- SSH Agent
- General Improvements (Filter for Run Build Parameter, support Folders)
- Isolated Local Maven Repositories
- Node Stalker Plugin
- JaCoCo Plugin
- Claim plugin
- 1.16
- Clone Workspace SCM
- Block on upstream/downstream jobs
- Job DSL Plugin (to create DSL build steps in a job)
- Build Timeout Plugin
- Cobertura Plugin
- Port Allocator Plugin
- RVM Plugin
- URL Trigger
- Better Gerrit support
- SBT Plugin
- Update blockOn call
- Help method to read files from the workspace
- Queue jobs after execution of the DSL
- MultiJob Support
- 1.15
- @Grab Support
- Build Parameters
- GitHub SCM Context
- IRC Publisher
- Environment Variables From Groovy Script
- Priority Sorter Plugin
- 1.14
- Environment Variables
- Groovy Build Steps
- System Groovy Build Steps
- Maven Project Support
- 1.13
- Make it possible to forget generated jobs
- JENKINS-16931, JENKINS-16998
- 1.12
- Copy Artifacts Plugin
- Batch File Build Step
- Violations Publisher Plugin
- 1.11
- Able to specify description
- Build Blocker Plugin
- Downstream Extended - Extended version of downstream that can also pass in complex parameters
- Downstream - Specify a downstream job
- SCP Publisher
- Jabber Publisher - Publish builds to Jabber
- Archive Junit - Archiving the results from JUnit
- Ant - Apache Ant Build Step
- logRotator - How long to keep builds
- publishHtml - Publish HTML Files
- archiveArtifacts - Archive artifacts into the build
- 1.10
- Encrypt P4 Passwords
- Start building onejar
- 1.9
- Fix label() to force canRoam to false
- 1.8
- Bug fixes
- 1.7
- Move to GroovyEngine, to look at Workspace for other Groovy scripts that can be used for re-usable helper classes
- 1.6
- Refactored DSL from Plugin, so that they're in different modules
- 1.5
- Fix for #39
- label() - Assign which labels this job can run on
- timeout(Integer timeoutInMinutes, boolean shouldFailBuild) - Build Timeout Plugin
- chucknorris() - Chuck Norris Plugin
- 1.4
- Parameters and Environment variables are binded to the script and can be used directly
- svn(svnUrl, closure)
- p4(viewspec, user, password, closure)
- 1.3
- Support for Node as argument to div(), meaning that more complex structures can be used in div statements.
- multiscm(closure) - Supoprt multi-scm plugin, alternative to scm tag to allow multiple SCMs
- 1.2
- permissionAll(String userName) - Add all available permissions for a user
- 1.1
- extendedEmail(recipients, subject, content, closure) - Configure email-ext plugin
- gerrit(closure) - Configure Gerrit Trigger plugin
- 1.0
- Initial release
Stack Overflow | Mailing List | API Reference | Issue Tracker | Playground | Plugin | Wiki | GitHub
Home
Release Notes
Migration
Talks and Blog Posts
Documentation
Tutorial
Dynamic DSL
Configure Blocks
Job DSL Commands
Script Security
Handling Credentials
Configuration as Code
FAQ
Real World Examples
User Power Moves
IDE Support
Testing DSL Scripts
For Developers
Extending the DSL
Job DSL Architecture