Support the Post Build Script plugin

Lets one execute a shell/groovy script or any builder AFTER the build
has complete.

https://wiki.jenkins-ci.org/display/JENKINS/PostBuildScript+Plugin

All existing builders should be supported since this patch call the
usual dispatcher.

Change-Id: Ide059ec9fd0e556f0c50ec992a6021eb5afb261c
SCM module: Add support for multiple Git remotes.

Configuring multiple Git remotes is necessary to allow Jenkins to
merge commits from a remote branch into a local branch. Note that
this is not the same as specifying multiple SCMs which are cloned
into separate directories.

Change-Id: Ifef2da85fa22a979570d4ea2b6f30d4bd37da116
Allow custom settings configs for maven projects

Allow custom settings & global-settings config files to be configured
for maven projects.

In addition, the previously defined empty nodes for these configurations
were misnamed and this corrects that as well.

This change also switches to using an included test as an example.

Change-Id: I9f832f498e358268b3896ead3a78462e408bdd9d
Signed-off-by: Andrew Grimberg <grimbeaj@gmail.com>
Enhance coverage for builder trigger-builds

Some options to the trigger-builds builder were not present in the test
fixture.  As a side effect that enhance our documentation.

Change-Id: Ic2755f76f02f7eba3842dc9a41f7db8907acda75
Sort ant builders settings for consistency

The list of settings yielded to the ant builder might be yielded in
different order which produces noisy diff when comparing changes.

Change-Id: Ibaef54bcf11a653934b473722632e07463682328
Added config options to not overwrite jobs desc

When you do not specify any description for a job, right now it creates a
new one overwriting whatever you had put there manually. Now when
setting the configuration option 'keep_descriptions' to True, it will
only overwrite the description if you specified one explicitly in the
yaml.
That way you can avoid specifying any description and it will not
overwrite the ones you put there manually through the jenkins ui.

Added a couple of tests for it also, and extended the tests to allow custom
configuration by adding a *.conf file for it

Change-Id: I408f5ee06a6939a8cb8f4f2e6c6e0d060462259c
Signed-off-by: David Caro <dcaroest@redhat.com>
Make logger available during tests

If any tests exercise code paths that emit logs, a warning is
displayed:

  No handlers could be found for logger "jenkins_jobs.modules.NAME"

Set up a logger with default configuration in the base test
class.  Now any logs will be displayed on the console.

Change-Id: Ib36afd5d96ff8e7fed110b6bedb6e281aac584f8
Create the output_dir for the test subcommand.

This change creates the output directory for the test subcommand if it
does not yet exist. If it exists, use it. Any other exceptions are
re-raised.

Change-Id: I487c69e70f9b6c475691ca4fef4669a0c318ab55
Support Fitnesse results publisher

Change-Id: Ide61f53df1ff8b9bd4d4c67abcad7b485387f44e
Add hacking to requirements

Solely for the transitive dependencies.  Ignore errors from hacking
as do the other openstack-infra python projects.

Change-Id: Ib5953c31a5380f9f57c7f79e1ce0699aef5eb629
Zuul parameter ZUUL_URL

Zuul 2.0 passes to jobs an additional parameter ZUUL_URL which instructs
workers from where to clone repositories.

This is NOT the same as the zuul-url defined by Jenkins Job Builder
which is the notification endpoint set on the jobs and is unrelated.

Change-Id: I4924a5b7ae99571efd70eeb188ddd3d821a4c61b
Allow to specify multiple branches per project in Gerrit trigger

Allow to specify multiple branch patterns in a 'branches' block
within the 'project' block.

If no 'branches' block is present, fall back to using the single
branch specified directly in the 'project' section.

If a branch is specified both at the project level, and in the
'branches' section, ignore the one at project level.

Closes-Bug: #1302502
Change-Id: I1fb2ce0bb3776d365f2c0e98a703c6dfba5fac7f
Add support for the Jenkins Doxygen publisher plugin.

Change-Id: I0e8f9ee13b7e6fb22e1a5e4bb613b44ae6927e86
Merge "Add hacking to requirements"
Merge "Add support for the Jenkins Doxygen publisher plugin."
Merge "Make logger available during tests"
Merge "Allow to specify multiple branches per project in Gerrit trigger"
Merge "Support Fitnesse results publisher"
`test` command read/write stdin/stdout by default

E.g.:

    jenkins-jobs test < config/jenkins.yml

This is convenient for demoing or implementing functional tests.

Change-Id: I4e3030e261d3b90f75e4a033ea074d18764d97bf
README.rst: Add links

Change-Id: Ia784781c9142f7a9deaeef812c6c95a936342f3a