-
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
-