Skip to content

Commit d21759b

Browse files
committed
JENKINS-2795 Add recurse parameter to listView
Adds the recurse parameter, which is necessary when using the folders plugin to get things to actually show up.
1 parent 2257bcb commit d21759b

File tree

3 files changed

+21
-0
lines changed

3 files changed

+21
-0
lines changed

docs/View-Reference.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ listView(String name) { // since 1.30
4242
claim() // since 1.29, requires the Claim Plugin
4343
lastBuildNode() // since 1.31, requires the Build Node Column Plugin
4444
}
45+
recurse() // Recurse down folders, requires Cloudbees Folder Plugin
4546
}
4647
view(type: ListView, Closure viewClosure) // since 1.21, deprecated since 1.30
4748
```

job-dsl-core/src/main/groovy/javaposse/jobdsl/dsl/views/ListView.groovy

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,16 @@ class ListView extends View {
6868
}
6969
}
7070

71+
/**
72+
* Should we look through folders
73+
*/
74+
void recurse(boolean shouldRecurse = true) {
75+
76+
execute {
77+
it / 'recurse' << shouldRecurse
78+
}
79+
}
80+
7181
static enum StatusFilter {
7282
ALL, ENABLED, DISABLED
7383
}

job-dsl-core/src/test/groovy/javaposse/jobdsl/dsl/views/ListViewSpec.groovy

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -366,6 +366,16 @@ class ListViewSpec extends Specification {
366366
RegexMatchValue.NAME | '.*'
367367
}
368368

369+
def 'recurse folders'() {
370+
when:
371+
view.recurse(true)
372+
373+
then:
374+
Node root = view.node
375+
root.recurse[0].text() == 'true'
376+
377+
}
378+
369379
protected String getDefaultXml() {
370380
'''<?xml version='1.0' encoding='UTF-8'?>
371381
<hudson.model.ListView>

0 commit comments

Comments
 (0)