From 979770380151f99ec7b48d7d6fbd8d8d254c752c Mon Sep 17 00:00:00 2001 From: Luca Milanesio Date: Wed, 1 Jan 2020 22:19:01 +0000 Subject: 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 --- jenkins_jobs/modules/project_multibranch.py | 21 +++++++++++++++++++++ tests/multibranch/fixtures/scm_gerrit_full.xml | 4 ++++ tests/multibranch/fixtures/scm_gerrit_full.yaml | 3 +++ 3 files changed, 28 insertions(+) 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 `. + :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 @@ + + SCHEME + jenkins + 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 -- cgit