Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add support for SCM type column in list views #978

Merged
merged 2 commits into from
Jan 5, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions docs/Home.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@ Browse the Jenkins issue tracker to see any [open issues](https://issues.jenkins

## Release Notes
* 1.56 (unreleased)
* Enhanced support for the [Extra Columns Plugin](https://wiki.jenkins-ci.org/display/JENKINS/Extra+Columns+Plugin)
([#978](https://github.com/jenkinsci/job-dsl-plugin/pull/978))
* 1.55 (January 03 2016)
* Updated optional
[Config File Provider Plugin](https://wiki.jenkins-ci.org/display/JENKINS/Config+File+Provider+Plugin) dependency to
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -277,4 +277,14 @@ class ColumnsContext extends AbstractExtensibleContext {
triggerClass('hudson.triggers.SCMTrigger')
}
}

/**
* Adds a column showing the type of source code management that is used in the project.
*
* @since 1.56
*/
@RequiresPlugin(id = 'extra-columns', minimumVersion = '1.4')
void scmType() {
columnNodes << new Node(null, 'jenkins.plugins.extracolumns.SCMTypeColumn')
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import javaposse.jobdsl.dsl.views.jobfilter.BuildStatusType
import javaposse.jobdsl.dsl.views.jobfilter.RegexMatchValue
import javaposse.jobdsl.dsl.views.jobfilter.Status
import spock.lang.Specification
import spock.lang.Unroll

import static javaposse.jobdsl.dsl.views.ListView.StatusFilter.ALL
import static javaposse.jobdsl.dsl.views.ListView.StatusFilter.DISABLED
Expand Down Expand Up @@ -266,20 +267,6 @@ class ListViewSpec<T extends ListView> extends Specification {
1 * jobManagement.requirePlugin('extra-columns')
}

def 'last build node column'() {
when:
view.columns {
lastBuildNode()
}

then:
Node root = view.node
root.columns.size() == 1
root.columns[0].value().size() == 1
root.columns[0].value()[0].name() == 'jenkins.plugins.extracolumns.LastBuildNodeColumn'
1 * jobManagement.requireMinimumPluginVersion('extra-columns', '1.16')
}

def 'robotResults column'() {
when:
view.columns {
Expand Down Expand Up @@ -630,46 +617,28 @@ class ListViewSpec<T extends ListView> extends Specification {
1 * jobManagement.requireMinimumPluginVersion('jacoco', '1.0.10')
}

def 'slave or label column'() {
@Unroll
def '#type column'() {
when:
view.columns {
slaveOrLabel()
}

then:
Node root = view.node
root.columns.size() == 1
root.columns[0].value().size() == 1
root.columns[0].value()[0].name() == 'jenkins.plugins.extracolumns.SlaveOrLabelColumn'
1 * jobManagement.requireMinimumPluginVersion('extra-columns', '1.14')
}

def 'user name column'() {
when:
view.columns {
userName()
}
view.columns {
"$type"()
}

then:
Node root = view.node
root.columns.size() == 1
root.columns[0].value().size() == 1
root.columns[0].value()[0].name() == 'jenkins.plugins.extracolumns.UserNameColumn'
1 * jobManagement.requireMinimumPluginVersion('extra-columns', '1.16')
}

def 'last configuration modification column'() {
when:
view.columns {
lastConfigurationModification()
}
Node root = view.node
root.columns.size() == 1
root.columns[0].value().size() == 1
root.columns[0].value()[0].name() == "jenkins.plugins.extracolumns.$xmlType"
1 * jobManagement.requireMinimumPluginVersion('extra-columns', minimumPluginVersion)

then:
Node root = view.node
root.columns.size() == 1
root.columns[0].value().size() == 1
root.columns[0].value()[0].name() == 'jenkins.plugins.extracolumns.LastJobConfigurationModificationColumn'
1 * jobManagement.requireMinimumPluginVersion('extra-columns', '1.14')
where:
type | xmlType | minimumPluginVersion
'lastBuildNode' | 'LastBuildNodeColumn' | '1.16'
'slaveOrLabel' | 'SlaveOrLabelColumn' | '1.14'
'userName' | 'UserNameColumn' | '1.16'
'lastConfigurationModification' | 'LastJobConfigurationModificationColumn' | '1.14'
'workspace' | 'WorkspaceColumn' | '1.15'
'scmType' | 'SCMTypeColumn' | '1.4'
}

def 'build parameters column'() {
Expand Down Expand Up @@ -712,20 +681,6 @@ class ListViewSpec<T extends ListView> extends Specification {
1 * jobManagement.requireMinimumPluginVersion('extra-columns', '1.13')
}

def 'workspace column'() {
when:
view.columns {
workspace()
}

then:
Node root = view.node
root.columns.size() == 1
root.columns[0].value().size() == 1
root.columns[0].value()[0].name() == 'jenkins.plugins.extracolumns.WorkspaceColumn'
1 * jobManagement.requireMinimumPluginVersion('extra-columns', '1.15')
}

def 'disable project column with button'() {
when:
view.columns {
Expand Down