-
Improvement
-
Resolution: Duplicate
-
Minor
-
None
-
2.176.1
Its currently possible to use the following dsl below when checking out code in a declarative pipeline:
checkout( git( branches: [[name: '*/master']], extensions: [[ $class: 'RelativeTargetDirectory', relativeTargetDir: 'some-dir' ]] ) )
It would be nice if it could support a richer dsl rather than the current $class syntax for extensions. e.g. something like:
checkout( git( branches: [[name: '*/master']], extensions: [[ relativeTargetDir('some-dir') ]] ) )
This could be something i could help contribute if its acceptable?!
Implementation Process
- List existing symbol definitions from configuration as code matched with $Class samples for that symbol (create a checklist of symbols to create)
- Select a symbol and add a test for the symbol as a $Class form
- Add the symbol
- Add a test that uses the symbol instead of the $Class form
- Confirm symbol appears in Pipeline syntax generator
- Confirm symbol appears in Configuration as Code
- Confirm configuration as code can still read previous configuration files
- Write help for the symbol, assure it is clear, correct, complete, and visible in the online Pipeline syntax
- Write documentation for the symbol in the plugin README so that it is available outside of Jenkins
Existing Symbol Definitions
JCasC Parent | JCasC Symbol | Class Sample | Symbol Sample |
---|---|---|---|
Col A0 | Col A1 | Col A2 | |
git | branches | branches | |
branches | name | branches: [[name: 'origin/master']] | branches: [[name: 'origin/master']] |
extensions | localBranch | [$class:'LocalBranch', localBranch: '**'] | localBranch('**') |
traits | localBranch | N/A (not in a Jenkinsfile) | localBranchTrait |
See the Karl Shultz pull request for progress.
- duplicates
-
JENKINS-62130 Add @Symbol annotations in git plugin Pipeline steps
- Closed
- is related to
-
JENKINS-62130 Add @Symbol annotations in git plugin Pipeline steps
- Closed
- relates to
-
JENKINS-37227 Metastep support for checkout step
- Open