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
This commit is contained in:
Luca Milanesio 2020-01-01 22:19:01 +00:00 committed by David Ostrovsky
parent 99e9b234bc
commit 9797703801
3 changed files with 28 additions and 0 deletions

View File

@ -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

View File

@ -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">

View File

@ -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