job filtering was not working properly

When passing job names as arguments to 'update', the command is supposed
to only retain this jobs.  Due to the job being a dict, the filter would
never match and the none of the job would be updated.

This has apparently always been broken since the feature got introduced
in 85cf7a41.  Using job.['name'] fix it up.

Change-Id: Icf4d5b0bb68777f7faff91ade04451d4c8501c6a
Reviewed-on: https://review.openstack.org/34197
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Approved: James E. Blair <corvus@inaugust.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
add Environment File Plugin

This commit adds the Environment File Plugin to JJB.
https://wiki.jenkins-ci.org/display/JENKINS/Envfile+Plugin

Change-Id: Id35a4d6ab25b0440303da02bb91007b459979243
Reviewed-on: https://review.openstack.org/35170
Reviewed-by: Arnaud Fabre <fabre.arnaud@gmail.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Approved: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Tested-by: Jenkins
Add TAP test result handling ability

Add support for using org.tap4j.plugin.TapPublisher as a publisher "tap"

See https://wiki.jenkins-ci.org/display/JENKINS/TAP+Plugin for the
plugin in question

Change-Id: Iddbd96715830ecc761384963fecfe3cd5ec3c115
Reviewed-on: https://review.openstack.org/34974
Reviewed-by: Khai Do <zaro0508@gmail.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Approved: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Tested-by: Jenkins
Metadata plugin module - largely based on Parameters module.

I implemented this plugin as I use Jenkins Metadata plugin heavily in all my
projects instead of the default Parameters plugin and think that everyone else
would benefit from this addition to JJB as well.
Current implementation handles dates in epoch format only and does not handle
'node' element - so no metatree creation is possible.

Change-Id: I1e67224df9339f1319a371d049585c8343301f2e
Reviewed-on: https://review.openstack.org/33773
Reviewed-by: James E. Blair <corvus@inaugust.com>
Approved: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Tested-by: Jenkins
trigger_parameterized_builds: Add support restrict-matrix-project.

When triggering a downstream matrix job, it can be useful to
restrict runs to a subset of all combinations. This is done
by a groovy filter, configured with the restrict-matrix-project
key.

Change-Id: I6ac252657e35c110f1caa48b59e970ed390935e5
Reviewed-on: https://review.openstack.org/35063
Reviewed-by: James E. Blair <corvus@inaugust.com>
Reviewed-by: Khai Do <zaro0508@gmail.com>
Approved: Jeremy Stanley <fungi@yuggoth.org>
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Tested-by: Jenkins
Add support for job priority sorter plugin.

This plugin provides a way to configure priority of jobs in
build queue. Each job has a inherent, configurable, priority.
Builds of higher priority are scheduled first.

Change-Id: Ie7f374369a141bec094bf9a6a7438082bf298fb5
Reviewed-on: https://review.openstack.org/35064
Reviewed-by: James E. Blair <corvus@inaugust.com>
Reviewed-by: Khai Do <zaro0508@gmail.com>
Approved: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Tested-by: Jenkins