diff options
author | Luca Milanesio <luca.milanesio@gmail.com> | 2020-01-01 22:19:01 +0000 |
---|---|---|
committer | David Ostrovsky <david@ostrovsky.org> | 2020-01-08 21:58:12 +0100 |
commit | 979770380151f99ec7b48d7d6fbd8d8d254c752c (patch) | |
tree | c9975841cf1b77d47c551e7a0a14d3a91731488b | |
parent | 99e9b234bc39f099000e4c819c560567176dc492 (diff) | |
download | python-jenkins-job-builder-979770380151f99ec7b48d7d6fbd8d8d254c752c.tar.gz python-jenkins-job-builder-979770380151f99ec7b48d7d6fbd8d8d254c752c.tar.xz python-jenkins-job-builder-979770380151f99ec7b48d7d6fbd8d8d254c752c.zip |
Experimental support for filterChecks trait
The gerrit-code-review-plugin v0.4.0 introduces the
integration with Gerrit Checks plugin. Introduce the option
to query for pending checks.
Change-Id: Idb3f290121aa6fbcdc25a0821c9bdc3dd03e21af
-rw-r--r-- | jenkins_jobs/modules/project_multibranch.py | 21 | ||||
-rw-r--r-- | tests/multibranch/fixtures/scm_gerrit_full.xml | 4 | ||||
-rw-r--r-- | tests/multibranch/fixtures/scm_gerrit_full.yaml | 3 |
3 files changed, 28 insertions, 0 deletions
diff --git a/jenkins_jobs/modules/project_multibranch.py b/jenkins_jobs/modules/project_multibranch.py index 2a7a3870..93c5bc38 100644 --- a/jenkins_jobs/modules/project_multibranch.py +++ b/jenkins_jobs/modules/project_multibranch.py @@ -569,6 +569,13 @@ def gerrit_scm(xml_parent, data): (like to disable SCM triggering or to override the pipeline durability) (optional) Refer to :func:`~property_strategies <property_strategies>`. + :arg dict filter-checks: Enable the filtering by pending checks, allowing to + discover the changes that need validation only. This feature is using + the gerrit checks plugin. + (optional) + query-operator: Name of the query operator, supported values are: + 'SCHEME' or 'ID'. + query-string: Value of the query operator. Minimal Example: @@ -635,6 +642,20 @@ def gerrit_scm(xml_parent, data): if data.get("build-strategies", None): build_strategies(xml_parent, data) + # FilterChecks Trait + checks = data.get("filter-checks", None) + if checks: + checks_trait = XML.SubElement( + traits, "jenkins.plugins.gerrit.traits.FilterChecksTrait" + ) + checks_source_mapping = [ + ("query-operator", "queryOperator", None), + ("query-string", "queryString", None), + ] + helpers.convert_mapping_to_xml( + checks_trait, checks, checks_source_mapping, fail_required=True + ) + def git_scm(xml_parent, data): r"""Configure Git SCM diff --git a/tests/multibranch/fixtures/scm_gerrit_full.xml b/tests/multibranch/fixtures/scm_gerrit_full.xml index 55cc9c88..02513673 100644 --- a/tests/multibranch/fixtures/scm_gerrit_full.xml +++ b/tests/multibranch/fixtures/scm_gerrit_full.xml @@ -47,6 +47,10 @@ </jenkins.plugins.git.traits.RefSpecsSCMSourceTrait_-RefSpecTemplate> </templates> </jenkins.plugins.git.traits.RefSpecsSCMSourceTrait> + <jenkins.plugins.gerrit.traits.FilterChecksTrait> + <queryOperator>SCHEME</queryOperator> + <queryString>jenkins</queryString> + </jenkins.plugins.gerrit.traits.FilterChecksTrait> </traits> </source> <strategy class="jenkins.branch.DefaultBranchPropertyStrategy"> diff --git a/tests/multibranch/fixtures/scm_gerrit_full.yaml b/tests/multibranch/fixtures/scm_gerrit_full.yaml index 29fb7c86..1f325b6d 100644 --- a/tests/multibranch/fixtures/scm_gerrit_full.yaml +++ b/tests/multibranch/fixtures/scm_gerrit_full.yaml @@ -11,6 +11,9 @@ scm: all-branches: - suppress-scm-triggering: true - pipeline-branch-durability-override: max-survivability + filter-checks: + query-operator: 'SCHEME' + query-string: 'jenkins' build-strategies: - tags: ignore-tags-newer-than: 1 |