Commit Graph

223 Commits

Author SHA1 Message Date
Thanh Ha 7e860919a8
fix: Drop testing for Python 3.6
Change I42660519c1cbe94a4322767b1940e113b0e5a276 missed dropping support
for Python 3.6 which is also EOL.

This is not noted as a breaking change as the release email that went out
for JJB 4.0.0 already addresses that we will be dropping support for
Python 3.6 and older so this simply removes the CI testing associated with
that statement.

Change-Id: Ia146401460c8978d1b53213413bf92d5aef9a3cf
Signed-off-by: Thanh Ha <zxiiro@gmail.com>
2022-04-12 12:28:03 -04:00
Eric Ball ca4ffdbb35
Fix!: Remove support for EOL python versions
Signed-off-by: Eric Ball <eball@linuxfoundation.org>
Change-Id: I42660519c1cbe94a4322767b1940e113b0e5a276
2022-04-11 10:00:41 -07:00
Eric Ball a833d1fde6
Feat: Add GitHub Organization job type
This adds a job type "githuborg", which creates multibranch pipelines
for all repos in the org that contain the specified Jenkinsfile.

Signed-off-by: Eric Ball <eball@linuxfoundation.org>
Change-Id: I148e2300f3b1ee148b51d25a2a805ed0b5a97862
2021-07-09 16:46:11 -07:00
Adam Romanek dbd8c24a1b Enable official support for Python 3.7 / 3.8
Change-Id: I9f38fd8afc082dd675edb94d6dbd5c18cc19f2a2
2021-01-07 00:43:58 +01:00
Jiri Tyr 0f9dd4e805 Adding view for the Delivery Pipeline Plugin
Change-Id: I8a9a71267562734b078b7260c79d299db7fb4e2b
Signed-off-by: Jiri Tyr <jiri.tyr@gmail.com>
2020-02-07 17:35:13 +00:00
Andreas Jaeger 55d54f69bc Update homepage
Since change I5cbf7b5cfea349a0bd72d2abee40710175cf5b2f, this repo
publishes to https://jenkins-job-builder.readthedocs.io/en/latest/ ,
let's update the links for this.

Change-Id: I08f8dd992ee1b6360f3d226cb668cda7f4242b8a
2019-12-22 17:44:46 +01:00
Jan Zerebecki 35d4da29d3 Support sectioned views
Change-Id: Iaf352e8cc62644fb05afaae21630b9bec2cd30c0
2019-10-28 23:37:27 +01:00
Jan Zerebecki 587740ec75 Support nested views
Change-Id: I13532a16efc6e970ab5a7c021ec4d77be98d3de8
2019-10-24 14:27:34 +02:00
Thanh Ha 4d90c187a9 Auto-generated output from python-black
Please review the following patch containing the code changes in
the repo. This patch is a transition patch and is the auto-generated
output of the python-black tool.

Change-Id: I2d2de71da8a105fb62b561899ae78441ddab4032
Signed-off-by: Thanh Ha <zxiiro@gmail.com>
2019-09-09 19:23:24 +01:00
qingszhao 32802fdd04 Update mailinglist address
Change-Id: Id13bcbfed1cb1b6416f28849384c8f6d1edbd26d
2018-12-17 20:43:46 +00:00
Thanh Ha 8c99e569b5
Add support for All view-type
Change-Id: I49774d6d177382f30f117dab3836619a40d0e895
Signed-off-by: Thanh Ha <zxiiro@linux.com>
2018-11-12 16:55:39 +08:00
Sorin Sbarnea 539d13e816 Fix flake8 failures and make its execution more consistent
- upgrade flake8 to 3.6.0
- remove use of hacking since pre-commit replaced it
- mentioned minimal flake8 version on pre-commit config
- fixed newer linting errors
- disable W504 as it seems not possible to fix (conflict with W403)
- replaced buggy tox deps installation with native pip install, which
  address the issue of missing to install new deps when the reqs files
  are updated, developer being forced to to recreate the virtualenv.
- prepare for migration from tox-pep8 to tox-linters, now these being
  just aliases.

Change-Id: I310578dce215aaf00a5b2d54716f90da9a1ecb4d
Depends-On: https://review.openstack.org/#/c/613726/
2018-10-28 11:44:43 +00:00
Sorin Sbarnea 4953756c27
adopt pre-commit hooks
Change-Id: I98bc0b5717c3921b35e74f53c55f896427880a84
Signed-off-by: Sorin Sbarnea <ssbarnea@redhat.com>
2018-07-12 13:40:38 +01:00
Joost van der Griendt efc5fbe0fd Add multibranch project-type
This work was based on original work done by
Joshua Harlow on top of older code from:
https://github.com/abnamrocoesd/jenkins-job-builder/

Credit is due to `Joost van der Griendt` for doing this
work. This builds on his work in that repo, and adjusts it
so that it can get merged into upstream and released
as a fully supported job type.

SCM implementation is different than than normal SCM module,
supporting: BitBucket, git, and GitHub in this initial
patch.

Change-Id: If50a54d282dd7d901c16edb9fe04874bdd83c9ef
Co-Authored-By: Joshua Harlow <jxharlow@godaddy.com>
Co-Authored-By: Sorin Sbarnea <ssbarnea@redhat.com>
Co-Authored-By: Thanh Ha <zxiiro@linux.com>
Signed-off-by: Sorin Sbarnea <ssbarnea@redhat.com>
Signed-off-by: Thanh Ha <zxiiro@linux.com>
Signed-off-by: Sorin Sbarnea <ssbarnea@redhat.com>
2018-03-15 16:51:32 +00:00
Marc Abramowitz 8d4671e3a7
Add a "list" subcommand
Add a list subcommand that allows listing of all the jobs defined in
yaml configuration, or on the Jenkins master, with the option of taking
glob parameters to allow matching some job names.

Also supports the recursive and exclude path control options.

  jenkins-jobs list 'wikimedia-fundraising*'

  jenkins-jobs list -r -p configs/ 'wikimedia-fundraising*'

Co-Authored-By: Darragh Bailey <dbailey@hpe.com>
Co-Authored-By: Sorin Sbarnea <ssbarnea@redhat.com>
Change-Id: I897b9ed35561e455dc6b89c3bacec74b54777903
Signed-off-by: Sorin Sbarnea <ssbarnea@redhat.com>
2018-03-09 10:58:21 -05:00
Sorin Sbarnea d8ace6802d docs: sphinx upgrade and warnings as erros
Change-Id: I455ac0d79cca3883d3a758a2709c8c0255f4cc7d
2018-01-26 23:57:53 +00:00
Jeremy Stanley 0b5ed0345a Generate universal wheels
JJB supports both Python 2 and 3 without any need to convert the
source, so we can safely publish universal wheels.

Change-Id: I59fdc6271ac662bf04fb84ba32b6bca6fe5e8624
2018-01-05 20:05:51 +00:00
Thanh Ha eddb40babd Revert "Move macro expansion into YamlParser."
This reverts commit e645ac2acf.

Change-Id: I56e8c8282669cbc9f963056f64e9caef8104b6bb
2018-01-01 10:54:10 -06:00
Jerome Hourquebie 8bcd0d0bd2
Add cloudbees folder creation support
Add project folder module. Jenkins folder could be made with project-type: folder
This requires Cloudbees folder plugin and python-jenkins folder update
(see: https://review.openstack.org/#/c/180185/)

Change-Id: I7e1c28c26a69ae6ca736cec88fcb957a716d8fad
2017-10-23 13:34:56 -04:00
Thanh Ha 2974f1e636
Allow update to provide plugin_info via yaml
Getting plugin info requires Administrator permissions. It seems the
test command allows providing the plugin_info details via a yaml
configuration file. This patch allows the same command to be passed to
the update command to allow us to configure the plugin versions manually
and not require administrator permissions.

Additionally this patch adds a new command called get-plugins-info
which can create the plugins_info.yaml file to pass to the
plugin_info_path.

See:
http://lists.openstack.org/pipermail/openstack-infra/2016-June/004388.html

Change-Id: I5a34979407d863a84f34afbf8f565081ec52190a
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
2017-09-19 18:17:15 -04:00
Wayne Warren e645ac2acf
Move macro expansion into YamlParser.
Introduce the registry.MacroRegistry class to handle:
 * registration of macro types via setuptools' entrypoints
 * registration of individual macros for lookup by component list type
 * expansion of macros references during YAML "parsing"

As a consequence there is a reduction in performance due to moving the
expansion of macros from inline with XML generation, to requiring
multiple passes over macro component lists.

This decrease in efficiency results in approx ~30-50% increase in unit
test time. Since this will allow for jobs to be expanded from
templates/macros in parallel with future changes, it is a reasonable
short term trade-off as the most computationally expensive task is
updating the definitions on the remote master

Change-Id: I292c6b1f8472370282205426cd8ceb847eb969bd
2017-08-24 10:14:26 -04:00
Ken Dreyer 009ac77586 setup.cfg: use project homepage
Rather than linking to the page about OpenStack's specific JJB
implementation.

This matches the link in the README.

Change-Id: I54e1ea1ec4db534535c9ee1a10bf672a8d2b4c62
2017-05-10 15:07:53 -06:00
Jenkins c226f33fcd Merge "Add Pipeline job type and deprecate Workflow" 2017-02-08 21:05:45 +00:00
Yann Voté 2fc361949c Add Pipeline job type and deprecate Workflow
Since introduction of the Jenkins Pipeline plugin
(https://wiki.jenkins-ci.org/display/JENKINS/Pipeline+Plugin), one can
configure a Pipeline job using a Groovy file lying with the source code
(see: https://jenkins.io/solutions/pipeline/).

We add support here for this kind of jobs, introducing a new component:
pipeline-scm. This component contains information about the repository to
clone and the name of the file where the job configuration can be found.

Since Workflow plugin is just an old name for the Pipeline plugin,
Workflow job type can be deprecated in favor of Pipeline job type to
avoid confusion and keep JJB in line with the terms used in Jenkins.

Change-Id: I098b9673c44b1281fa0954193d8fadf273685386
Story: 2000573
Task: 2974
2017-01-24 18:39:16 +03:00
Cao Xuan Hoang 03f3b11641 Remove support for py33
Python 3.3 is not supported from Mitaka, as per Infra.
This patch removes the support and update to py34
for the same.

Change-Id: I601e4c239178d8066122166b4aa07da26d3134bc
2017-01-23 15:51:05 +07:00
Thanh Ha 1deb3aff4c
Add view management functionality
- Adds the ability for JJB to work with views
- Views can be created, updated, and deleted.
- New modules for List view and Build Pipeline view are added
- New tests for testing the deletion of views

Example View configuration:

    - view:
        name: MyView
        view-type: list

Change-Id: Idb29a4407bcc14593e10a4d951036cb04e8e6c27
Co-Authored-By: Brandon Leonard <brandon.leonard@rackspace.com>
Co-Authored-By: Joao Vale <jpvale@gmail.com>
Co-Authored-By: Lucas Dutra Nunes <ldnunes@ossystems.com.br>
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
2016-10-14 09:14:21 -04:00
Darragh Bailey 2bf92c3ed7 Fix entry point name for delete-all subcommand
Change-Id: Ie298d0a7651b18720fe73a0ec45aa51eef354b40
2016-07-19 18:57:34 +01:00
Wayne fc73cedb45 Introduce modular implementation of subcommands.
This commit intentionally introduces a number of important API
breakages. Specifically, the jenkins_jobs.cmd module has been pared
down to some of its most difficult-to-refactor elements.

* Create jenkins_jobs.cli.entry.JenkinsJobs class to organize command
  line parsing and execution.
* Remove references to ConfigParser object in test code, hidden as an
  implementation detail of JenkinsJobs command line parsing. This will
  be necessary in the next stage of JJB 2.0 code which will be to
  create a JJBConfig object that handles logic and presentation of
  configuration from various sources--defaults, command line
  arguments, configuration file, and maybe environment variables in
  the future.
* Remove references to Namespace object produced by argparse module.
  Required rewrite of multipath & recursive path tests with a new
  MatchesDir testtools Matcher class that validates the expected
  output for a run of JJB against a given set of yamldirs with the
  specified command line arguments.
* Use stevedore to dynamically load subcommand parsers.
* Move configuration loading/testing to its own test file. Also fix
  the global vs home directory JJB config file test.

Change-Id: If62280418ba7319c313033ab387af4284237747e
2016-07-08 09:55:44 -07:00
Darragh Bailey 7f5e3ef7f8 Remove linkcheck from sphinx builders list in config
With the inclusion of a separate job to execute the sphinx linkcheck
module, there is no need to run it as part of the docs job every time.

Change-Id: I80b31a2f5c7bb11a19985c726724b351a7f9e727
Depends-On: I7526b737523249b07defc03f19998c8f615bdddb
2016-01-11 13:28:47 +00:00
Darragh Bailey 449bb24f8f Infer and build entry points from component modules
Use the component type entry points to infer modules to scan
corresponding modules and automatically construct entry points for any
functions associated with yaml entries in JJB definitions.

This removes the need for new JJB modules added directly to the project
to also need to be listed in the setup.cfg to be reachable. Simply
adding the needed functionality to the correct file ensures that it is
available.

Change-Id: I2a0fd8f6720ddfd8582b58e47556a87ed1ad553d
2015-12-12 19:07:26 +00:00
Dong Ma c3c51845ad Add support for cucumber reports plugin
This plugin creates pretty cucumber-jvm html reports on jenkins

Change-Id: Ia9673a8d290bd37bd38a7c3ab3545c751128f4c2
story: 2000226
2015-12-11 23:20:57 +08:00
Jenkins c62b0a10d0 Merge "Correct the entry points of cucumber-testresult" 2015-12-09 16:13:11 +00:00
Jenkins 9830b00a48 Merge "Revert "Add support for "tox" builder"" 2015-12-04 09:29:24 +00:00
Andreas Jaeger 69fd9e4d6c Revert "Add support for "tox" builder"
This change breaks our run-tox usage, see the compare-xml output.

This reverts commit 2de4ba8a81.

Change-Id: I5ee2afd4f15d22d43eb78fe3086109fabb550e36
2015-12-04 09:13:59 +00:00
Dong Ma db030d2563 Correct the entry points of cucumber-testresult
The entry point cucumber_testresult is incorrect given the style
adopted for all the other entry points, it should be:

cucumber-testresult=jenkins_jobs.modules.publishers:cucumber_testresult

Change-Id: I60fcecb667cb5aa626e9ca7b9dcaa3dba3122cfa
2015-12-04 09:16:40 +08:00
Jenkins 4b0f03017a Merge "Add support for "tox" builder" 2015-12-03 18:38:37 +00:00
Jenkins cb8484cf20 Merge "Add support for the RunDeck plugin" 2015-12-03 18:37:13 +00:00
Jenkins 91a2fd0117 Merge "add support for NodeJS Plugin" 2015-12-03 05:03:45 +00:00
Jenkins 93fc5869e1 Merge "Add support for runscope plugin" 2015-12-03 05:03:02 +00:00
Jenkins 23ea7df7d2 Merge "Adding support for monitoring files using FSTrigger Plugin" 2015-12-02 23:08:19 +00:00
Denis Laxalde 2de4ba8a81 Add support for "tox" builder
This builder uses the ShiningPanda plugin. It is implemented as a "tox"
builder independent of the "shining-panda" one since the latter defines
"common" arguments (such as `nature` or `command`) that do not apply to this
tox builder.

Change-Id: I99c1fdad392d41deb9c8fdd5c3617bb10860ac39
2015-12-02 08:42:26 +01:00
Devon Peters 7ee3cc1ceb Add support for the RunDeck plugin
Change-Id: Ic324af03e3c4a110f34041c71ce0cecb7b474560
2015-11-26 00:21:10 +08:00
David Caro 9477275592 Added support for the workflow job type
There's a relatively new workflow plugin, based on the old build flow
one

Change-Id: I5541443e15335839754afee59f1b74ed29ce6676
Signed-off-by: David Caro <dcaroest@redhat.com>
2015-11-24 21:18:45 +01:00
Tomas Bezdek 383d4250f0 add support for NodeJS Plugin
Change-Id: I583b6e8cac8b7bfe086e7f16e2989db3d50a6054
2015-11-10 21:46:00 +00:00
Tomas Bezdek 86374bab15 Add support for Rebuild Plugin
Change-Id: I3b23dbf66d211797af8735f211df9509eac95a3d
2015-11-10 21:42:52 +00:00
Kevin Daniels 0e471a3a0f Add support for runscope plugin
This plugin allows you to add a Runscope API test as a build step into
your Jenkins build pipeline.

Change-Id: I836f158b798ea65871ab2214f2093bebf790be65
2015-11-04 11:28:28 -06:00
Somay Jain 7c06b1062e Adding support for monitoring files using FSTrigger Plugin
Change-Id: Id3ec42ec7632433b9719c5ae11fb389a54e8530e
2015-10-17 16:41:16 -04:00
Jenkins 556deebe25 Merge "Implements: additions for OS3 plugin entry points in builders and scm" 2015-10-08 16:53:35 +00:00
Ari LiVigni 73c255d649 Implements: additions for OS3 plugin entry points in builders and scm
Add entry points for all builder and scm entry points for the
openshift3 plugin. Adds openshift-builder, openshift-build-verify,
openshift-deployer, openshift-dep-verify, openshift-img-tagger,
openshift-scaler, openshift-svc-verify, openshift-img-streams

Change-Id: I5d08ddd7eb09241869cf56a5ffdfcce6a0671a4c
2015-10-08 16:17:12 +01:00
Ken Dreyer b575850e31 setup.cfg: py26 is no longer supported
Remove the Python 2.6 reference from the setup metadata.

Change-Id: I19ba80bd54f35d404e1b98fae7ee1973b3d90ce4
2015-10-05 14:36:14 -06:00