Fixing copyartifact to work with latest version

Version 1.26 of the copy artifact plugin changed the xml from
projectName to project.  This change is making that same change.
I don't know if we, somehow, want to support the older version
of the copy artifact plugin.

Change-Id: I98b25649521d6d34380eea6597a4015d2d929ebc
Reviewed-on: https://review.openstack.org/29940
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Approved: James E. Blair <corvus@inaugust.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
Adding Build User Vars support

Adding support for the Build User Vars plugin.  This plugin
exposes new environment variables of who started a build, if it
was started manually.

Change-Id: I731419f26a9e59800ea2209d1c5a659a1b6cd483
Reviewed-on: https://review.openstack.org/30785
Reviewed-by: Khai Do <zaro0508@gmail.com>
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Approved: Monty Taylor <mordred@inaugust.com>
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Tested-by: Jenkins
add post build workspace cleanup publisher

Change-Id: Id541aaa8173202bf141f389c7258e0dd43b39472
Reviewed-on: https://review.openstack.org/31448
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 support for the Team Foundation Server Plugin.

Change-Id: If5cce48e12f432c7e57ce89596286d2e63796c70
Reviewed-on: https://review.openstack.org/31400
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Approved: Clark Boylan <clark.boylan@gmail.com>
Tested-by: Jenkins
Installation doc setup.py

The setup.py is not executable and does not contains #! sign at the
beginning.

Change-Id: I6f3aa542eb883ade0650a33f31a8b5ffaff9a615
Reviewed-on: https://review.openstack.org/32318
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Reviewed-by: Antoine Musso <hashar@free.fr>
Approved: James E. Blair <corvus@inaugust.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
Add Current build status to Conditional BuildStep

Add support for the Current build status condition.

Also fix the documentation regarding the conditional-step builder name
which requires an hypen and not an underscore as previously stated.

Change-Id: I6ede20c08c42d72d1ccf71c8fe6d3447d3acea90
Reviewed-on: https://review.openstack.org/32292
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 Excluded Users support to Git SCM

Add ability to provide a list of users to ignore revisions from
when SCM polling is enabled with Git.

Change-Id: Idb11b0afc2d8157f347e18488439d78e02f51282
Reviewed-on: https://review.openstack.org/32295
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 Deploy artifacts to Maven repository publisher

Change-Id: I758a34d82ca0f8404d98b27605ee5c693f6fdcdd
Reviewed-on: https://review.openstack.org/32302
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
change latest_only to latest-only for consistency

still accepts latest_only for backward compatiblity but emits a warning

Change-Id: I007d2fa2e02f15a9fd4a2eebcf5883091c8b865b
Reviewed-on: https://review.openstack.org/31449
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Approved: James E. Blair <corvus@inaugust.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
fix invalid yaml in archive example

Change-Id: I9b10a33bafdc7d4811807ff01a96f37d9343b3c6
Reviewed-on: https://review.openstack.org/32643
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Approved: James E. Blair <corvus@inaugust.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
Add Release plugin

Add support for a 'release' wrapper section which enables the
Release Plugin
(https://wiki.jenkins-ci.org/display/JENKINS/Release+Plugin).

Change-Id: I48e9cdd3f32c4f7e3da843b6adb58767b357b2e7
Reviewed-on: https://review.openstack.org/31650
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
Allow to override ignore upstream changes setting

When ignore-upstream-changes is set to false, it will configure
the job to build whenever a SNAPSHOT dependency is built.

This setting is only available to Maven projects.

The default value is still 'true' for backward compatibility.

Change-Id: Ibdcdeef6264a68b9002a5b5bb35b90233db67e8a
Reviewed-on: https://review.openstack.org/32298
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 excluded-regions and included-regions for GIT

There is now code to take a list of excluded and a list of
included locations.  excludedRegions was removed from the mapping
as it was determined not to do anything.

Change-Id: I0e3003540ea1bc1aa19ef9e478be650e8c85ceaa
Reviewed-on: https://review.openstack.org/32414
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
maven: support for MAVEN_OPTS

The maven build phase offers us a way to pass additional parameters to
the JVM.  The option is shown as MAVEN_OPTS and accept a string which is
then expanded as mavenOpts.

Change-Id: I0a2437e8bda1e828c09e87343f7ca5025b77182c
Reviewed-on: https://review.openstack.org/32965
Reviewed-by: Arnaud Fabre <fabre.arnaud@gmail.com>
Reviewed-by: Mathieu Gagné <mgagne@iweb.com>
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
Fix job-specific parameters for job groups.

When a job template is instantiated via a job-group,
job-specific parameters provided by the project are not
respected.

The correction is just a matter of updating correctly the
dictionary containing all parameters.

The configuration below exhibits the issue:

- project:
    name: project-with-specific-parameters
    jobs:
        - my-job-group:
            recipients: "foo@example.com"

- job-group:
    name: my-job-group
    jobs:
        - job-sending-notification-mails

- job-template:
    name: job-sending-notification-mails
    publishers:
      - email-ext:
          # {recipients} should be available.
          recipients: "{recipients}"
          subject: Subject for Build ${{BUILD_NUMBER}}


Change-Id: I107d8d648c8965cd125db52f3558f28337c25a63
Reviewed-on: https://review.openstack.org/33190
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
Maven: expose configuration of automatic archiving.

By default, Maven projects are configured to automatically
archive maven artifacts.

This commit exposes an option to configure that behavior in
a backward compatible way. By default, automatic archiving
is active, which means writing false in the XML configuration,
since the element name is "archivingDisabled".

Change-Id: I35e8a035a53356d7c171735aa5a52c6c429d1608
Reviewed-on: https://review.openstack.org/33367
Reviewed-by: Antoine Musso <hashar@free.fr>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Approved: James E. Blair <corvus@inaugust.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
setup.py: Basic support for windows.

During setup, some commands (git describe mainly) are launched,
and fail under Windows since /bin/sh is not available.

By switching to cmd to execute commands when python says that
the os is 'nt', setup.py works under both Linux and Windows.

I have used that patch for some time now, and haven't found other
issues yet.

Change-Id: Ib4c0ec53765ae80fc6b63c34a926644427a9ebce
Reviewed-on: https://review.openstack.org/33368
Reviewed-by: Antoine Musso <hashar@free.fr>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Approved: Clark Boylan <clark.boylan@gmail.com>
Tested-by: Jenkins
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