Skip to content

Commit

Permalink
added support for newer version of the Priority Sorter plugin
Browse files Browse the repository at this point in the history
support for older versions is deprecated

[FIXES JENKINS-29678]
  • Loading branch information
daspilker committed Mar 23, 2016
1 parent 3260a70 commit 5c187c3
Show file tree
Hide file tree
Showing 7 changed files with 65 additions and 0 deletions.
5 changes: 5 additions & 0 deletions docs/Home.md
Expand Up @@ -42,6 +42,8 @@ Browse the Jenkins issue tracker to see any [open issues](https://issues.jenkins
([#782](https://github.com/jenkinsci/job-dsl-plugin/pull/782))
* Enhanced support for the [Git Plugin](https://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin)
([#790](https://github.com/jenkinsci/job-dsl-plugin/pull/790))
* Enhanced support for the [Priority Sorter Plugin](https://wiki.jenkins-ci.org/display/JENKINS/Priority+Sorter+Plugin)
([JENKINS-29678](https://issues.jenkins-ci.org/browse/JENKINS-29678))
* Enhanced support for the [CloudBees Docker Build and Publish
Plugin](https://wiki.jenkins-ci.org/display/JENKINS/CloudBees+Docker+Build+and+Publish+plugin)
([JENKINS-33439](https://issues.jenkins-ci.org/browse/JENKINS-33439))
Expand All @@ -54,6 +56,9 @@ Browse the Jenkins issue tracker to see any [open issues](https://issues.jenkins
[Migration](Migration#migrating-to-145)
* Support for [Build Node Column Plugin](https://wiki.jenkins-ci.org/display/JENKINS/Build+Node+Column+Plugin) is
deprecated, see [Migration](Migration#migrating-to-145)
* Support for the older versions of the
[Priority Sorter Plugin](https://wiki.jenkins-ci.org/display/JENKINS/Priority+Sorter+Plugin) is deprecated, see
[Migration](Migration#migrating-to-145)
* Enhanced support for the [EnvInject Plugin](https://wiki.jenkins-ci.org/display/JENKINS/EnvInject+Plugin)
([#747](https://github.com/jenkinsci/job-dsl-plugin/pull/747))
* Deprecated a method for the [EnvInject Plugin](https://wiki.jenkins-ci.org/display/JENKINS/EnvInject+Plugin), see
Expand Down
24 changes: 24 additions & 0 deletions docs/Migration.md
Expand Up @@ -37,6 +37,30 @@ job('example') {
}
```

### Priority Sorter

Support for versions older than 3.4 of the
[Priority Sorter Plugin](https://wiki.jenkins-ci.org/display/JENKINS/Priority+Sorter+Plugin) is
[[deprecated|Deprecation-Policy]] and will be removed. The top-level `priority` method is deprecated and only supports
plugin version prior to 3.0. A new `priority` method has been added to the `properties` context which will support
plugin versions starting from 3.4.

DSL prior to 1.45
```groovy
job('example') {
priority(5)
}
```

DSL since 1.45
```groovy
job('example') {
properties {
priority(5)
}
}
```

### Build Node Column

The [Build Node Column Plugin](https://wiki.jenkins-ci.org/display/JENKINS/Build+Node+Column+Plugin) is deprecated and
Expand Down
@@ -0,0 +1,5 @@
job('example') {
properties {
priority(5)
}
}
3 changes: 3 additions & 0 deletions job-dsl-core/src/main/groovy/javaposse/jobdsl/dsl/Job.groovy
Expand Up @@ -301,7 +301,10 @@ abstract class Job extends Item {
* @since 1.15
*/
@RequiresPlugin(id = 'PrioritySorter')
@Deprecated
void priority(int value) {
jobManagement.logDeprecationWarning()

configure { Node project ->
Node node = new Node(project / 'properties', 'hudson.queueSorter.PrioritySorterJobProperty')
node.appendNode('priority', value)
Expand Down
Expand Up @@ -137,4 +137,17 @@ class PropertiesContext extends AbstractExtensibleContext {
doNotScan(!scan)
}
}

/**
* Sets the priority of the job.
*
* @since 1.45
*/
@RequiresPlugin(id = 'PrioritySorter', minimumVersion = '3.4')
void priority(int value) {
propertiesNodes << new NodeBuilder().'jenkins.advancedqueue.priority.strategy.PriorityJobProperty' {
useJobPriority(true)
delegate.priority(value)
}
}
}
Expand Up @@ -748,6 +748,7 @@ class JobSpec extends Specification {
then:
job.node.properties.'hudson.queueSorter.PrioritySorterJobProperty'.priority[0].value() == 99
1 * jobManagement.requirePlugin('PrioritySorter')
1 * jobManagement.logDeprecationWarning()
}

def 'add a quiet period'() {
Expand Down
Expand Up @@ -232,4 +232,18 @@ class PropertiesContextSpec extends Specification {
where:
scan << [true, false]
}

def 'priority'() {
when:
context.priority(5)

then:
with(context.propertiesNodes[0]) {
name() == 'jenkins.advancedqueue.priority.strategy.PriorityJobProperty'
children().size() == 2
useJobPriority[0].value() == true
priority[0].value() == 5
}
1 * jobManagement.requireMinimumPluginVersion('PrioritySorter', '3.4')
}
}

0 comments on commit 5c187c3

Please sign in to comment.