Fix ant-name usage for tests

Incorrect formatting meant that the ant-name was not being set in the
resulting XML correctly.

Change-Id: I2ce86a85a489398bac6c329f0047ba3a7a5ff61b
Cleaning up index.rst file

Removed notes about the generation of the file.

Change-Id: I7330ee5f97a6751164d7ec978c64a4dfb92ead15
Create one parameters wrapper tag for all release params

Ensure only one parameterDefinitions XML tag is created for the entire
set of parameters instead of one per parameter.

Add a test case to show the correct behaviour with more than one
parameter defined and update the docstring to use the yaml test case as
an exmaple. While updating the docstring add missing default values for
arguments.

Change-Id: Ife8f2535117d355d845d5d72dd9e6e6669a6b9df
Enable hipchat section into sample file

Current sample file lacks section about hipchat. Add section
with dummy token to show hipchat usage.

Added that into default config file for cmd.py, that is the
one used for testing. This will allow to properly test
jobs with hipchat module enabled.

Closes-Bug: #1366063

Change-Id: If511486a69113a4b4300cdb3602154ef261bc18a
Rename doc environment to docs

As per the governance resolution https://review.openstack.org/119875,
projects should have a docs environment in their tox.ini testing
interface. Rename the doc environment to docs.

Change-Id: I1ad04bd2c3a0404a2ee6d809154c72bc896d0c36
Adding support for the Powershell plugin.

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

Change-Id: I337ea896e358fe456e556a95e22e724fe20cd722
Retain user specified order of post build scripts

Avoid imposing hardcoded order of the scripts within the module and
instead favour the order of the input data. Combined with use of ordered
dicts for yaml, this ensures that users may control the order of the
various steps to use with the post build scripts from yaml.

Change-Id: Icf540a53cb6f1b13f80f09d9103610aee10d3861
Add PMD publisher

Change-Id: I40320337fec0d1564bb1f4b88b4f7a1aa4f2dfc5
ModuleRegistry now cache entry points group

Cache the group entry point instead of each entry individually.

When I originally introduced entry point caching (4deef9ff) I used to
lookup the name and cache it.  Thus, for we ended up doing a new lookup
for each entry point in an entry point group.

Instead, on first lookup, cache the whole group so further entry point
lookup are cache hits.

Change-Id: Ie93ec793bb18a2dadebe736db4c4d33171ceda27
Flatten attribute for publish plugins

plus move examples to tests

Change-Id: Ia785afe40da81c77abe643f3c788e5d4faefbf5d
Merge "Add PMD publisher"
Merge "Adding support for the Powershell plugin."
Merge "Flatten attribute for publish plugins"
Merge "ModuleRegistry now cache entry points group"
Adds credentials-binding plugin support to wrappers

Add support for configuring the credentials binding plugin.
The credentials binding plugin can be found at
https://wiki.jenkins-ci.org/display/JENKINS/Credentials+Binding+Plugin

Change-Id: I94fef65f3960f3b357d1a1a4f3f25dfecb739164
Error on duplicate job names being found

When parsing yaml files, any duplicate macros, job-templates, job-groups
or jobs should be considered an error by default, but provide a config
option for this to be ignored.

Need to check for seen jobs twice, when processing job groups listed
under projects and again the jobs have been generated from templates.
Use a set and store each job name generated and check on the next
iteration.

Finally walk the list of generated jobs and check if any duplicates are
encountered.

Also ensure that if the user wishes for duplicates to be ignored that
the last defined job replaces the earlier one.

Change-Id: Id31ef33ae1b2469f7c3eeabe77420377978fa35e
Switch to new project-config repo

Change the comparison script to use the new project-config repo created
due to a reorganization of the puppet modules and JJB config used for
openstack infrastructure.

Change-Id: Icbe8ddc7fcc6af9cc11d664e01ab6fd52ef8d288
Adds support for the Config File Provider Plugin

See https://wiki.jenkins-ci.org/display/JENKINS/Config+File+Provider+Plugin

Change-Id: Ie61bc6c4f934baf7e96bf943efcd66b138ef8edd
Make JJB python 3 compatible

Convert to use idioms that work for both python 3 and python 2.6+ and
ensure that a suitable version of dependencies is included for python 3
compatibility.

Update python-jenkins to 0.3.4 as the earliest version that supports
python 3 without any known regressions. Add an extra parser check for
missing 'command' due to changes in how argparse works under python 3.

To access the first element of a dict in both python 2 and 3,
'next(iter(dict.items()))' is used as the standard idiom to replace
'dict.items()[0]' as 'items()' returns an iterator in python 3 which
cannot be indexed. Using 'next(iter(..))' allows for both lists and
iterators to be passed in without unnecessary conversion of iterators to
lists which would be true of 'list(dict.items())[0]'.

Original change which was reverted due to breaking use of job-groups is
If4b35e2ceee8239379700e22eb79a3eaa04d6f0f. This replaces the previous
conversion of 'dict.items()[0]' to 'dict.popitem()', which would result
in removing a job-group when first called, thus defeating the benefit of
being able to reference the group mulitple times. This usage has been
replaced with 'next(iter(dict.items()))' as a non-modifying alternative
that still avoids creating unnecessary copies of data while working for
all supported versions of python.

Change-Id: I37e3b67c043dadddb54e16ee584bde3f79e6a770
Merge "Adds credentials-binding plugin support to wrappers"