diff options
68 files changed, 1336 insertions, 102 deletions
diff --git a/jenkins_jobs/modules/helpers.py b/jenkins_jobs/modules/helpers.py index 10945c71..258b13cb 100644 --- a/jenkins_jobs/modules/helpers.py +++ b/jenkins_jobs/modules/helpers.py @@ -19,6 +19,7 @@ import xml.etree.ElementTree as XML from jenkins_jobs.errors import InvalidAttributeError from jenkins_jobs.errors import JenkinsJobsException from jenkins_jobs.errors import MissingAttributeError +from jenkins_jobs.modules import hudson_model def build_trends_publisher(plugin_name, xml_element, data): @@ -613,6 +614,26 @@ def trigger_project(tconfigs, project_def, param_order=None): ) +def trigger_threshold( + parent_element, element_name, threshold_name, supported_thresholds=None +): + """Generate a resultThreshold XML element for build/join triggers""" + element = XML.SubElement(parent_element, element_name) + + try: + threshold = hudson_model.THRESHOLDS[threshold_name.upper()] + except KeyError: + if not supported_thresholds: + supported_thresholds = hudson_model.THRESHOLDS.keys() + raise JenkinsJobsException( + "threshold must be one of %s" % ", ".join(supported_thresholds) + ) + XML.SubElement(element, "name").text = threshold["name"] + XML.SubElement(element, "ordinal").text = threshold["ordinal"] + XML.SubElement(element, "color").text = threshold["color"] + return element + + def convert_mapping_to_xml(parent, data, mapping, fail_required=True): """Convert mapping to XML diff --git a/jenkins_jobs/modules/project_multibranch.py b/jenkins_jobs/modules/project_multibranch.py index 93b5f380..49b5f8e3 100644 --- a/jenkins_jobs/modules/project_multibranch.py +++ b/jenkins_jobs/modules/project_multibranch.py @@ -60,10 +60,18 @@ Plugins required: (default '-1, forever') * **script-path** (`str`): Path to Jenkinsfile, relative to workspace. (default 'Jenkinsfile') + * **script-id** (`str`): Script id from the global Jenkins script store + provided by the config-file provider plugin. Mutually exclusive with + **script-path** option. + * **sandbox** (`bool`): This option is strongly recommended if the + Jenkinsfile is using load to evaluate a groovy source file from an + SCM repository. Usable only with **script-id** option. (default 'false') Job examples: -.. literalinclude:: /../../tests/multibranch/fixtures/multibranch_defaults.yaml +.. literalinclude:: /../../tests/multibranch/fixtures/multibranch_defaults_id_mode.yaml + +.. literalinclude:: /../../tests/multibranch/fixtures/multibranch_defaults_path_mode.yaml .. literalinclude:: /../../tests/multibranch/fixtures/multi_scm_full.yaml @@ -85,8 +93,39 @@ logger = logging.getLogger(str(__name__)) class WorkflowMultiBranch(jenkins_jobs.modules.base.Base): sequence = 0 multibranch_path = "org.jenkinsci.plugins.workflow.multibranch" + multibranch_defaults_path = "org.jenkinsci.pipeline.workflow.multibranch" jenkins_class = "".join([multibranch_path, ".WorkflowMultiBranchProject"]) - jenkins_factory_class = "".join([multibranch_path, ".WorkflowBranchProjectFactory"]) + jenkins_factory = { + "script_path": { + "class": "".join([multibranch_path, ".WorkflowBranchProjectFactory"]) + }, + "script_id": { + "class": "".join( + [ + multibranch_defaults_path, + ".defaults.PipelineBranchDefaultsProjectFactory", + ] + ), + "plugin": "pipeline-multibranch-defaults", + }, + } + + @staticmethod + def _factory_opts_check(data): + + sandbox = data.get("sandbox", None) + script_id = data.get("script-id", None) + script_path = data.get("script-path", None) + + if script_id and script_path: + error_msg = "script-id and script-path are mutually exclusive options" + raise JenkinsJobsException(error_msg) + elif not script_id and sandbox: + error_msg = ( + "Sandbox mode is applicable only for multibranch with defaults" + "project type used with script-id option" + ) + raise JenkinsJobsException(error_msg) def root_xml(self, data): xml_parent = XML.Element(self.jenkins_class) @@ -268,28 +307,50 @@ class WorkflowMultiBranch(jenkins_jobs.modules.base.Base): # Factory # ########### - factory = XML.SubElement( - xml_parent, "factory", {"class": self.jenkins_factory_class} - ) + self._factory_opts_check(data) + + if data.get("script-id"): + mode = "script_id" + fopts_map = ( + ("script-id", "scriptId", None), + ("sandbox", "useSandbox", None), + ) + else: + mode = "script_path" + fopts_map = (("script-path", "scriptPath", "Jenkinsfile"),) + + factory = XML.SubElement(xml_parent, "factory", self.jenkins_factory[mode]) XML.SubElement( factory, "owner", {"class": self.jenkins_class, "reference": "../.."} ) - XML.SubElement(factory, "scriptPath").text = data.get( - "script-path", "Jenkinsfile" - ) + + # multibranch default + + helpers.convert_mapping_to_xml(factory, data, fopts_map, fail_required=False) return xml_parent class WorkflowMultiBranchDefaults(WorkflowMultiBranch): - jenkins_class = ( - "org.jenkinsci.plugins.pipeline.multibranch" - ".defaults.PipelineMultiBranchDefaultsProject" - ) - jenkins_factory_class = ( - "org.jenkinsci.plugins.pipeline.multibranch" - ".defaults.PipelineBranchDefaultsProjectFactory" + multibranch_path = "org.jenkinsci.plugins.workflow.multibranch" + multibranch_defaults_path = "org.jenkinsci.plugins.pipeline.multibranch" + jenkins_class = "".join( + [multibranch_defaults_path, ".defaults.PipelineMultiBranchDefaultsProject"] ) + jenkins_factory = { + "script_path": { + "class": "".join([multibranch_path, ".WorkflowBranchProjectFactory"]), + "plugin": "workflow-multibranch", + }, + "script_id": { + "class": "".join( + [ + multibranch_defaults_path, + ".defaults.PipelineBranchDefaultsProjectFactory", + ] + ) + }, + } def bitbucket_scm(xml_parent, data): @@ -804,7 +865,7 @@ def github_scm(xml_parent, data): (default 'contributors') :arg str discover-pr-origin: Discovers pull requests where the origin repository is the same as the target repository. - Valid options: merge-current, current, both. (default 'merge-current') + Valid options: merge-current, current, both, false. (default 'merge-current') :arg bool discover-tags: Discovers tags on the repository. (default false) :arg list build-strategies: Provides control over whether to build a branch @@ -946,18 +1007,19 @@ def github_scm(xml_parent, data): XML.SubElement(dprf, "trust").attrib["class"] = trust_map[trust] dpro_strategy = data.get("discover-pr-origin", "merge-current") - dpro = XML.SubElement( - traits, "".join([github_path_dscore, ".OriginPullRequestDiscoveryTrait"]) - ) - dpro_strategy_map = {"merge-current": "1", "current": "2", "both": "3"} - if dpro_strategy not in dpro_strategy_map: - raise InvalidAttributeError( - "discover-pr-origin", dpro_strategy, dpro_strategy_map.keys() + if dpro_strategy: + dpro = XML.SubElement( + traits, "".join([github_path_dscore, ".OriginPullRequestDiscoveryTrait"]) ) - dpro_mapping = [ - ("discover-pr-origin", "strategyId", "merge-current", dpro_strategy_map) - ] - helpers.convert_mapping_to_xml(dpro, data, dpro_mapping, fail_required=True) + dpro_strategy_map = {"merge-current": "1", "current": "2", "both": "3"} + if dpro_strategy not in dpro_strategy_map: + raise InvalidAttributeError( + "discover-pr-origin", dpro_strategy, dpro_strategy_map.keys() + ) + dpro_mapping = [ + ("discover-pr-origin", "strategyId", "merge-current", dpro_strategy_map) + ] + helpers.convert_mapping_to_xml(dpro, data, dpro_mapping, fail_required=True) if data.get("head-filter-regex", None): rshf = XML.SubElement(traits, "jenkins.scm.impl.trait.RegexSCMHeadFilterTrait") @@ -1193,7 +1255,27 @@ def property_strategies(xml_parent, data): max-survivability (optional) Requires the :jenkins-plugins:`Pipeline Multibranch Plugin <workflow-multibranch>` - + * **trigger-build-on-pr-comment** (str): The comment body to + trigger a new build for a PR job when it is received. This + is compiled as a case insensitive regular expression, so + use ``".*"`` to trigger a build on any comment whatsoever. + (optional) + Requires the :jenkins-plugins:`GitHub PR Comment Build Plugin + <github-pr-comment-build>` + * **trigger-build-on-pr-review** (bool): This property will + cause a job for a pull request ``(PR-*)`` to be triggered + immediately when a review is made on the PR in GitHub. + This has no effect on jobs that are not for pull requests. + (optional) + Requires the :jenkins-plugins:`GitHub PR Comment Build Plugin + <github-pr-comment-build>` + * **trigger-build-on-pr-update** (bool): This property will + cause a job for a pull request ``(PR-*)`` to be triggered + immediately when the PR title or description is edited in + GitHub. This has no effect on jobs that are not for pull + requests. (optional) + Requires the :jenkins-plugins:`GitHub PR Comment Build Plugin + <github-pr-comment-build>` * **named-branches** (dict): Named branches get different properties. Comprised of a list of defaults and a list of property strategy exceptions for use with specific branches. @@ -1210,6 +1292,27 @@ def property_strategies(xml_parent, data): max-survivability (optional) Requires the :jenkins-plugins:`Pipeline Multibranch Plugin <workflow-multibranch>` + * **trigger-build-on-pr-comment** (str): The comment body to + trigger a new build for a PR job when it is received. This + is compiled as a case insensitive regular expression, so + use ``".*"`` to trigger a build on any comment whatsoever. + (optional) + Requires the :jenkins-plugins:`GitHub PR Comment Build Plugin + <github-pr-comment-build>` + * **trigger-build-on-pr-review** (bool): This property will + cause a job for a pull request ``(PR-*)`` to be triggered + immediately when a review is made on the PR in GitHub. + This has no effect on jobs that are not for pull requests. + (optional) + Requires the :jenkins-plugins:`GitHub PR Comment Build Plugin + <github-pr-comment-build>` + * **trigger-build-on-pr-update** (bool): This property will + cause a job for a pull request ``(PR-*)`` to be triggered + immediately when the PR title or description is edited in + GitHub. This has no effect on jobs that are not for pull + requests. (optional) + Requires the :jenkins-plugins:`GitHub PR Comment Build Plugin + <github-pr-comment-build>` * **exceptions** (list): A list of branch names and the property strategies to be used on that branch, instead of any listed @@ -1375,6 +1478,7 @@ def apply_property_strategies(props_elem, props_list): basic_property_strategies = "jenkins.branch" workflow_multibranch = "org.jenkinsci.plugins.workflow.multibranch" + pr_comment_build = "com.adobe.jenkins.github__pr__comment__build" # Valid options for the pipeline branch durability override. pbdo_map = collections.OrderedDict( [ @@ -1384,6 +1488,13 @@ def apply_property_strategies(props_elem, props_list): ] ) + pcb_bool_opts = collections.OrderedDict( + [ + ("trigger-build-on-pr-review", ".TriggerPRReviewBranchProperty"), + ("trigger-build-on-pr-update", ".TriggerPRUpdateBranchProperty"), + ] + ) + for dbs_list in props_list: if dbs_list.get("suppress-scm-triggering", False): @@ -1404,3 +1515,19 @@ def apply_property_strategies(props_elem, props_list): {"plugin": "workflow-multibranch"}, ) XML.SubElement(pbdo_elem, "hint").text = pbdo_map.get(pbdo_val) + + tbopc_val = dbs_list.get("trigger-build-on-pr-comment", None) + if tbopc_val: + tbopc_elem = XML.SubElement( + props_elem, + "".join([pr_comment_build, ".TriggerPRCommentBranchProperty"]), + {"plugin": "github-pr-comment-build"}, + ) + XML.SubElement(tbopc_elem, "commentBody").text = tbopc_val + for opt in pcb_bool_opts: + if dbs_list.get(opt, False): + XML.SubElement( + props_elem, + "".join([pr_comment_build, pcb_bool_opts.get(opt)]), + {"plugin": "github-pr-comment-build"}, + ) diff --git a/jenkins_jobs/modules/publishers.py b/jenkins_jobs/modules/publishers.py index 68b93e73..48bb420c 100755 --- a/jenkins_jobs/modules/publishers.py +++ b/jenkins_jobs/modules/publishers.py @@ -608,20 +608,12 @@ def trigger(registry, xml_parent, data): tconfig = XML.SubElement(xml_parent, "hudson.tasks.BuildTrigger") childProjects = XML.SubElement(tconfig, "childProjects") childProjects.text = data["project"] - tthreshold = XML.SubElement(tconfig, "threshold") threshold = data.get("threshold", "SUCCESS") supported_thresholds = ["SUCCESS", "UNSTABLE", "FAILURE"] - if threshold not in supported_thresholds: - raise JenkinsJobsException( - "threshold must be one of %s" % ", ".join(supported_thresholds) - ) - tname = XML.SubElement(tthreshold, "name") - tname.text = hudson_model.THRESHOLDS[threshold]["name"] - tordinal = XML.SubElement(tthreshold, "ordinal") - tordinal.text = hudson_model.THRESHOLDS[threshold]["ordinal"] - tcolor = XML.SubElement(tthreshold, "color") - tcolor.text = hudson_model.THRESHOLDS[threshold]["color"] + helpers.trigger_threshold( + tconfig, "threshold", threshold, supported_thresholds=supported_thresholds + ) def clone_workspace(registry, xml_parent, data): @@ -3501,11 +3493,13 @@ def join_trigger(registry, xml_parent, data): Trigger a job after all the immediate downstream jobs have completed. Requires the Jenkins :jenkins-plugins:`Join Plugin <join>`. - :arg bool even-if-unstable: if true jobs will trigger even if some - downstream jobs are marked as unstable (default false) :arg list projects: list of projects to trigger :arg list publishers: list of triggers from publishers module that defines projects that need to be triggered + :arg str threshold: result threshold to trigger jobs (optional). + Valid values are "success", "unstable", "failure", and "aborted". + :arg bool even-if-unstable: if true jobs will trigger even if some + downstream jobs are marked as unstable (default false) (DEPRECATED) Example: @@ -3523,8 +3517,13 @@ def join_trigger(registry, xml_parent, data): for edited_node in create_publishers(registry, pub): publishers.append(edited_node) - unstable = str(data.get("even-if-unstable", "false")).lower() - XML.SubElement(jointrigger, "evenIfDownstreamUnstable").text = unstable + unstable = str(data.get("even-if-unstable", "")).lower() + if unstable: + XML.SubElement(jointrigger, "evenIfDownstreamUnstable").text = unstable + + threshold = data.get("threshold", "") + if threshold: + helpers.trigger_threshold(jointrigger, "resultThreshold", threshold) def jabber(registry, xml_parent, data): diff --git a/jenkins_jobs/modules/triggers.py b/jenkins_jobs/modules/triggers.py index 2f89b5c6..d6b2d7bb 100644 --- a/jenkins_jobs/modules/triggers.py +++ b/jenkins_jobs/modules/triggers.py @@ -154,8 +154,9 @@ def build_gerrit_triggers(xml_parent, data): "draft-published-event": "PluginDraftPublishedEvent", "patchset-uploaded-event": "PluginPatchsetCreatedEvent", "patchset-created-event": "PluginPatchsetCreatedEvent", - "ref-updated-event": "PluginRefUpdatedEvent", "private-state-changed-event": "PluginPrivateStateChangedEvent", + "ref-updated-event": "PluginRefUpdatedEvent", + "topic-changed-event": "PluginTopicChangedEvent", "wip-state-changed-event": "PluginWipStateChangedEvent", } tag_namespace = ( @@ -240,6 +241,67 @@ def build_gerrit_skip_votes(xml_parent, data): XML.SubElement(skip_vote_node, tag_name).text = str(setting).lower() +def build_gerrit_parameter_modes(xml_parent, data, plugin_ver): + if plugin_ver < pkg_resources.parse_version("2.18.0"): + for parameter_name in ( + "commit-message", + "name-and-email", + "change-subject", + "comment-text", + ): + parameter_mode = "{}-parameter-mode".format(parameter_name) + if parameter_mode in data: + logger.warning( + "Gerrit Trigger property '{}' is not supported in this " + "plugin version".format(parameter_mode) + ) + + deprecated_mappings = ( + ("no-name-and-email", "noNameAndEmailParameters", False), + ("readable-message", "readableMessage", False), + ) + helpers.convert_mapping_to_xml( + xml_parent, data, deprecated_mappings, fail_required=True + ) + else: # version >= 2.18.0 + readable_message = data.get("readable-message") + if readable_message is not None: + logger.warning("Gerrit Trigger property 'readable-message' is deprecated") + no_name_and_email = data.get("no-name-and-email") + if no_name_and_email is not None: + logger.warning("Gerrit Trigger property 'no-name-and-email' is deprecated") + allowed_parameter_modes = ["NONE", "PLAIN", "BASE64"] + new_mappings = ( + ( + "commit-message-parameter-mode", + "commitMessageParameterMode", + "BASE64" if readable_message is not True else "PLAIN", + allowed_parameter_modes, + ), + ( + "name-and-email-parameter-mode", + "nameAndEmailParameterMode", + "PLAIN" if no_name_and_email is not True else "NONE", + allowed_parameter_modes, + ), + ( + "change-subject-parameter-mode", + "changeSubjectParameterMode", + "PLAIN", + allowed_parameter_modes, + ), + ( + "comment-text-parameter-mode", + "commentTextParameterMode", + "BASE64", + allowed_parameter_modes, + ), + ) + helpers.convert_mapping_to_xml( + xml_parent, data, new_mappings, fail_required=True + ) + + def gerrit(registry, xml_parent, data): """yaml: gerrit @@ -288,6 +350,8 @@ def gerrit(registry, xml_parent, data): * **draft-published-event** -- Trigger on draft published event. * **ref-updated-event** -- Trigger on ref-updated. Gerrit Trigger Plugin version >= 2.29.0 + * **topic-changed-event** -- Trigger on topic-changed. + Gerrit Trigger Plugin version >= 2.26.0 * **private-state-changed-event** -- Trigger on private state changed event. * **wip-state-changed-event** -- Trigger on wip state changed event. Gerrit Trigger Plugin version >= 2.8.0 @@ -450,10 +514,42 @@ def gerrit(registry, xml_parent, data): parameters (default true) :arg bool no-name-and-email: Do not pass compound 'name and email' parameters (default false) + + .. deprecated:: 3.5.0 Please use `name-and-email-parameter-mode` + parameter. + :arg bool readable-message: If parameters regarding multiline text, e.g. commit message, should be as human readable or not. If false, those parameters are Base64 encoded to keep environment variables clean. (default false) + + .. deprecated:: 3.5.0 Please use `commit-message-parameter-mode` + parameter. + + :arg str name-and-email-parameter-mode: The parameter mode for the compound + "name and email" parameters (like GERRIT_PATCHSET_UPLOADER or + GERRIT_CHANGE_OWNER). This can either be 'NONE' to avoid passing the + parameter all together, 'PLAIN' to pass the parameter in human readable + form, or 'BASE64' to pass the parameter in base64 encoded form (default + 'PLAIN'). Requires Gerrit Trigger Plugin version >= 2.18.0. + :arg str commit-message-parameter-mode: The parameter mode for the + GERRIT_CHANGE_COMMIT_MESSAGE parameter. This can either be 'NONE' to + avoid passing the parameter all together, 'PLAIN' to pass the parameter + in human readable form, or 'BASE64' to pass the parameter in base64 + encoded form (default 'BASE64'). Requires Gerrit Trigger Plugin version + >= 2.18.0. + :arg str change-subject-parameter-mode: The parameter mode for the + GERRIT_CHANGE_SUBJECT parameter. This can either be 'NONE' to avoid + passing the parameter all together, 'PLAIN' to pass the parameter in + human readable form, or 'BASE64' to pass the parameter in base64 + encoded form (default 'PLAIN'). Requires Gerrit Trigger Plugin version + >= 2.18.0. + :arg str comment-text-parameter-mode: The parameter mode for the + GERRIT_EVENT_COMMENT_TEXT parameter. This can either be 'NONE' to avoid + passing the parameter all together, 'PLAIN' to pass the parameter in + human readable form, or 'BASE64' to pass the parameter in base64 + encoded form (default 'BASE64'). Requires Gerrit Trigger Plugin version + >= 2.18.0. :arg str dependency-jobs: All jobs on which this job depends. If a commit should trigger both a dependency and this job, the dependency will be built first. Use commas to separate job names. Beware of cyclic @@ -469,7 +565,14 @@ def gerrit(registry, xml_parent, data): trigger configuration will be fetched from there on a regular interval :arg bool trigger-for-unreviewed-patches: trigger patchset-created events for changes that were uploaded while connection to Gerrit was down - (default false). Requires Gerrit Trigger Plugin version >= 2.11.0 + (default false). Requires Gerrit Trigger Plugin version >= 2.11.0. + + .. deprecated:: 3.5.0 Supported for Gerrit Trigger Plugin versions + < 2.14.0. See + `Missed Events Playback Feature <https://plugins.jenkins.io/ + gerrit-trigger#missed-events-playback-feature-available-from- + v-2-14-0>`_. + :arg str custom-url: Custom URL for a message sent to Gerrit. Build details URL will be used if empty. (default '') :arg str server-name: Name of the server to trigger on, or ''__ANY__'' to @@ -503,6 +606,11 @@ def gerrit(registry, xml_parent, data): gerrit_handle_legacy_configuration(data) + plugin_info = registry.get_plugin_info("Gerrit Trigger") + plugin_ver = pkg_resources.parse_version( + plugin_info.get("version", str(sys.maxsize)) + ) + projects = data.get("projects", []) gtrig = XML.SubElement( xml_parent, @@ -607,11 +715,10 @@ def gerrit(registry, xml_parent, data): ("silent", "silentMode", False), ("silent-start", "silentStartMode", False), ("escape-quotes", "escapeQuotes", True), - ("no-name-and-email", "noNameAndEmailParameters", False), - ("readable-message", "readableMessage", False), ("dependency-jobs", "dependencyJobsNames", ""), ] helpers.convert_mapping_to_xml(gtrig, data, general_mappings, fail_required=True) + build_gerrit_parameter_modes(gtrig, data, plugin_ver) notification_levels = ["NONE", "OWNER", "OWNER_REVIEWERS", "ALL", "SERVER_DEFAULT"] notification_level = data.get("notification-level", "SERVER_DEFAULT") if notification_level not in notification_levels: @@ -624,16 +731,26 @@ def gerrit(registry, xml_parent, data): XML.SubElement(gtrig, "notificationLevel").text = notification_level XML.SubElement(gtrig, "dynamicTriggerConfiguration").text = str( data.get("dynamic-trigger-enabled", False) - ) + ).lower() XML.SubElement(gtrig, "triggerConfigURL").text = str( data.get("dynamic-trigger-url", "") ) + if data.get("dynamic-trigger-enabled", False) is False: + XML.SubElement(gtrig, "dynamicGerritProjects").set("class", "empty-list") XML.SubElement(gtrig, "triggerInformationAction").text = str( data.get("trigger-information-action", "") ) - XML.SubElement(gtrig, "allowTriggeringUnreviewedPatches").text = str( - data.get("trigger-for-unreviewed-patches", False) - ).lower() + if (plugin_ver >= pkg_resources.parse_version("2.11.0")) and ( + plugin_ver < pkg_resources.parse_version("2.14.0") + ): + XML.SubElement(gtrig, "allowTriggeringUnreviewedPatches").text = str( + data.get("trigger-for-unreviewed-patches", False) + ).lower() + elif "trigger-for-unreviewed-patches" in data: + logger.warning( + "Gerrit Trigger property 'trigger-for-unreviewed-patches' is not " + "supported in this plugin version" + ) build_gerrit_triggers(gtrig, data) override = str(data.get("override-votes", False)).lower() if override == "true": diff --git a/tests/jsonparser/fixtures/complete001.xml b/tests/jsonparser/fixtures/complete001.xml index 355fac1a..17a54f72 100644 --- a/tests/jsonparser/fixtures/complete001.xml +++ b/tests/jsonparser/fixtures/complete001.xml @@ -68,14 +68,16 @@ <silentMode>false</silentMode> <silentStartMode>false</silentStartMode> <escapeQuotes>true</escapeQuotes> - <noNameAndEmailParameters>false</noNameAndEmailParameters> - <readableMessage>false</readableMessage> <dependencyJobsNames/> + <commitMessageParameterMode>BASE64</commitMessageParameterMode> + <nameAndEmailParameterMode>PLAIN</nameAndEmailParameterMode> + <changeSubjectParameterMode>PLAIN</changeSubjectParameterMode> + <commentTextParameterMode>BASE64</commentTextParameterMode> <notificationLevel/> - <dynamicTriggerConfiguration>False</dynamicTriggerConfiguration> + <dynamicTriggerConfiguration>false</dynamicTriggerConfiguration> <triggerConfigURL/> + <dynamicGerritProjects class="empty-list"/> <triggerInformationAction/> - <allowTriggeringUnreviewedPatches>false</allowTriggeringUnreviewedPatches> <triggerOnEvents> <com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.events.PluginPatchsetCreatedEvent/> </triggerOnEvents> diff --git a/tests/multibranch/fixtures/multibranch_defaults.xml b/tests/multibranch/fixtures/multibranch_defaults_id_mode.xml index 94859b22..8136ab90 100644 --- a/tests/multibranch/fixtures/multibranch_defaults.xml +++ b/tests/multibranch/fixtures/multibranch_defaults_id_mode.xml @@ -58,6 +58,7 @@ </sources> <factory class="org.jenkinsci.plugins.pipeline.multibranch.defaults.PipelineBranchDefaultsProjectFactory"> <owner class="org.jenkinsci.plugins.pipeline.multibranch.defaults.PipelineMultiBranchDefaultsProject" reference="../.."/> - <scriptPath>Jenkinsfile</scriptPath> + <scriptId>my-pipeline</scriptId> + <useSandbox>true</useSandbox> </factory> </org.jenkinsci.plugins.pipeline.multibranch.defaults.PipelineMultiBranchDefaultsProject> diff --git a/tests/multibranch/fixtures/multibranch_defaults_id_mode.yaml b/tests/multibranch/fixtures/multibranch_defaults_id_mode.yaml new file mode 100644 index 00000000..b7b52f1a --- /dev/null +++ b/tests/multibranch/fixtures/multibranch_defaults_id_mode.yaml @@ -0,0 +1,9 @@ +name: 'demo-multibranch-defaults' +project-type: multibranch-defaults +script-id: my-pipeline +sandbox: true +scm: + - github: + repo: 'foo' + repo-owner: 'johndoe' + credentials-id: 'secret' diff --git a/tests/multibranch/fixtures/multibranch_defaults_path_mode.xml b/tests/multibranch/fixtures/multibranch_defaults_path_mode.xml new file mode 100644 index 00000000..c8a0070e --- /dev/null +++ b/tests/multibranch/fixtures/multibranch_defaults_path_mode.xml @@ -0,0 +1,63 @@ +<?xml version="1.0" encoding="utf-8"?> +<org.jenkinsci.plugins.pipeline.multibranch.defaults.PipelineMultiBranchDefaultsProject plugin="workflow-multibranch"> + <properties/> + <views> + <hudson.model.AllView> + <name>All</name> + <filterExecutors>false</filterExecutors> + <filterQueue>false</filterQueue> + <properties class="hudson.model.View$PropertyList"/> + <owner class="org.jenkinsci.plugins.pipeline.multibranch.defaults.PipelineMultiBranchDefaultsProject" reference="../../.."/> + </hudson.model.AllView> + </views> + <viewsTabBar class="hudson.views.DefaultViewsTabBar"/> + <folderViews class="jenkins.branch.MultiBranchProjectViewHolder" plugin="branch-api"> + <owner class="org.jenkinsci.plugins.pipeline.multibranch.defaults.PipelineMultiBranchDefaultsProject" reference="../.."/> + </folderViews> + <healthMetrics> + <com.cloudbees.hudson.plugins.folder.health.WorstChildHealthMetric plugin="cloudbees-folder"> + <nonRecursive>false</nonRecursive> + </com.cloudbees.hudson.plugins.folder.health.WorstChildHealthMetric> + </healthMetrics> + <icon class="jenkins.branch.MetadataActionFolderIcon" plugin="branch-api"> + <owner class="org.jenkinsci.plugins.pipeline.multibranch.defaults.PipelineMultiBranchDefaultsProject" reference="../.."/> + </icon> + <orphanedItemStrategy class="com.cloudbees.hudson.plugins.folder.computed.DefaultOrphanedItemStrategy" plugin="cloudbees-folder"> + <pruneDeadBranches>true</pruneDeadBranches> + <daysToKeep>-1</daysToKeep> + <numToKeep>-1</numToKeep> + </orphanedItemStrategy> + <triggers/> + <sources class="jenkins.branch.MultiBranchProject$BranchSourceList" plugin="branch-api"> + <data> + <jenkins.branch.BranchSource> + <source class="org.jenkinsci.plugins.github_branch_source.GitHubSCMSource" plugin="github-branch-source"> + <id>gh-johndoe-foo</id> + <repoOwner>johndoe</repoOwner> + <repository>foo</repository> + <credentialsId>secret</credentialsId> + <traits> + <org.jenkinsci.plugins.github__branch__source.BranchDiscoveryTrait> + <strategyId>1</strategyId> + </org.jenkinsci.plugins.github__branch__source.BranchDiscoveryTrait> + <org.jenkinsci.plugins.github__branch__source.ForkPullRequestDiscoveryTrait> + <strategyId>1</strategyId> + <trust class="org.jenkinsci.plugins.github_branch_source.ForkPullRequestDiscoveryTrait$TrustContributors"/> + </org.jenkinsci.plugins.github__branch__source.ForkPullRequestDiscoveryTrait> + <org.jenkinsci.plugins.github__branch__source.OriginPullRequestDiscoveryTrait> + <strategyId>1</strategyId> + </org.jenkinsci.plugins.github__branch__source.OriginPullRequestDiscoveryTrait> + <jenkins.plugins.git.traits.WipeWorkspaceTrait> + <extension class="hudson.plugins.git.extensions.impl.WipeWorkspace"/> + </jenkins.plugins.git.traits.WipeWorkspaceTrait> + </traits> + </source> + </jenkins.branch.BranchSource> + </data> + <owner class="org.jenkinsci.plugins.pipeline.multibranch.defaults.PipelineMultiBranchDefaultsProject" reference="../.."/> + </sources> + <factory class="org.jenkinsci.plugins.workflow.multibranch.WorkflowBranchProjectFactory" plugin="workflow-multibranch"> + <owner class="org.jenkinsci.plugins.pipeline.multibranch.defaults.PipelineMultiBranchDefaultsProject" reference="../.."/> + <scriptPath>Jenkinsfile</scriptPath> + </factory> +</org.jenkinsci.plugins.pipeline.multibranch.defaults.PipelineMultiBranchDefaultsProject> diff --git a/tests/multibranch/fixtures/multibranch_defaults.yaml b/tests/multibranch/fixtures/multibranch_defaults_path_mode.yaml index 51e41beb..51e41beb 100644 --- a/tests/multibranch/fixtures/multibranch_defaults.yaml +++ b/tests/multibranch/fixtures/multibranch_defaults_path_mode.yaml diff --git a/tests/multibranch/fixtures/scm_github_full.xml b/tests/multibranch/fixtures/scm_github_full.xml index 2d914b2b..6a52b72a 100644 --- a/tests/multibranch/fixtures/scm_github_full.xml +++ b/tests/multibranch/fixtures/scm_github_full.xml @@ -107,6 +107,11 @@ <org.jenkinsci.plugins.workflow.multibranch.DurabilityHintBranchProperty plugin="workflow-multibranch"> <hint>MAX_SURVIVABILITY</hint> </org.jenkinsci.plugins.workflow.multibranch.DurabilityHintBranchProperty> + <com.adobe.jenkins.github__pr__comment__build.TriggerPRCommentBranchProperty plugin="github-pr-comment-build"> + <commentBody>Ci build!</commentBody> + </com.adobe.jenkins.github__pr__comment__build.TriggerPRCommentBranchProperty> + <com.adobe.jenkins.github__pr__comment__build.TriggerPRReviewBranchProperty plugin="github-pr-comment-build"/> + <com.adobe.jenkins.github__pr__comment__build.TriggerPRUpdateBranchProperty plugin="github-pr-comment-build"/> </a> </properties> </strategy> diff --git a/tests/multibranch/fixtures/scm_github_full.yaml b/tests/multibranch/fixtures/scm_github_full.yaml index 42350c67..591e0fd8 100644 --- a/tests/multibranch/fixtures/scm_github_full.yaml +++ b/tests/multibranch/fixtures/scm_github_full.yaml @@ -20,6 +20,9 @@ scm: all-branches: - suppress-scm-triggering: true - pipeline-branch-durability-override: max-survivability + - trigger-build-on-pr-comment: "Ci build!" + - trigger-build-on-pr-review: true + - trigger-build-on-pr-update: true build-strategies: - tags: ignore-tags-newer-than: 1 diff --git a/tests/multibranch/fixtures/scm_github_no_origin_pr_discovery.xml b/tests/multibranch/fixtures/scm_github_no_origin_pr_discovery.xml new file mode 100644 index 00000000..d700a816 --- /dev/null +++ b/tests/multibranch/fixtures/scm_github_no_origin_pr_discovery.xml @@ -0,0 +1,59 @@ +<?xml version="1.0" encoding="utf-8"?> +<org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject plugin="workflow-multibranch"> + <properties/> + <views> + <hudson.model.AllView> + <name>All</name> + <filterExecutors>false</filterExecutors> + <filterQueue>false</filterQueue> + <properties class="hudson.model.View$PropertyList"/> + <owner class="org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject" reference="../../.."/> + </hudson.model.AllView> + </views> + <viewsTabBar class="hudson.views.DefaultViewsTabBar"/> + <folderViews class="jenkins.branch.MultiBranchProjectViewHolder" plugin="branch-api"> + <owner class="org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject" reference="../.."/> + </folderViews> + <healthMetrics> + <com.cloudbees.hudson.plugins.folder.health.WorstChildHealthMetric plugin="cloudbees-folder"> + <nonRecursive>false</nonRecursive> + </com.cloudbees.hudson.plugins.folder.health.WorstChildHealthMetric> + </healthMetrics> + <icon class="jenkins.branch.MetadataActionFolderIcon" plugin="branch-api"> + <owner class="org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject" reference="../.."/> + </icon> + <orphanedItemStrategy class="com.cloudbees.hudson.plugins.folder.computed.DefaultOrphanedItemStrategy" plugin="cloudbees-folder"> + <pruneDeadBranches>true</pruneDeadBranches> + <daysToKeep>-1</daysToKeep> + <numToKeep>-1</numToKeep> + </orphanedItemStrategy> + <triggers/> + <sources class="jenkins.branch.MultiBranchProject$BranchSourceList" plugin="branch-api"> + <data> + <jenkins.branch.BranchSource> + <source class="org.jenkinsci.plugins.github_branch_source.GitHubSCMSource" plugin="github-branch-source"> + <id>gh-johndoe-foo</id> + <repoOwner>johndoe</repoOwner> + <repository>foo</repository> + <traits> + <org.jenkinsci.plugins.github__branch__source.BranchDiscoveryTrait> + <strategyId>1</strategyId> + </org.jenkinsci.plugins.github__branch__source.BranchDiscoveryTrait> + <org.jenkinsci.plugins.github__branch__source.ForkPullRequestDiscoveryTrait> + <strategyId>1</strategyId> + <trust class="org.jenkinsci.plugins.github_branch_source.ForkPullRequestDiscoveryTrait$TrustContributors"/> + </org.jenkinsci.plugins.github__branch__source.ForkPullRequestDiscoveryTrait> + <jenkins.plugins.git.traits.WipeWorkspaceTrait> + <extension class="hudson.plugins.git.extensions.impl.WipeWorkspace"/> + </jenkins.plugins.git.traits.WipeWorkspaceTrait> + </traits> + </source> + </jenkins.branch.BranchSource> + </data> + <owner class="org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject" reference="../.."/> + </sources> + <factory class="org.jenkinsci.plugins.workflow.multibranch.WorkflowBranchProjectFactory"> + <owner class="org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject" reference="../.."/> + <scriptPath>Jenkinsfile</scriptPath> + </factory> +</org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject> diff --git a/tests/multibranch/fixtures/scm_github_no_origin_pr_discovery.yaml b/tests/multibranch/fixtures/scm_github_no_origin_pr_discovery.yaml new file mode 100644 index 00000000..7852137e --- /dev/null +++ b/tests/multibranch/fixtures/scm_github_no_origin_pr_discovery.yaml @@ -0,0 +1,7 @@ +name: 'demo-multibranch-github-no-fork-prs' +project-type: multibranch +scm: + - github: + repo: 'foo' + repo-owner: 'johndoe' + discover-pr-origin: no diff --git a/tests/publishers/fixtures/join-trigger002.xml b/tests/publishers/fixtures/join-trigger002.xml new file mode 100644 index 00000000..9df79716 --- /dev/null +++ b/tests/publishers/fixtures/join-trigger002.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="utf-8"?> +<project> + <publishers> + <hudson.tasks.BuildTrigger> + <childProjects>project-1,project-2</childProjects> + <threshold> + <name>FAILURE</name> + <ordinal>2</ordinal> + <color>RED</color> + </threshold> + </hudson.tasks.BuildTrigger> + <join.JoinTrigger> + <joinProjects>cleanup</joinProjects> + <joinPublishers/> + <resultThreshold> + <name>FAILURE</name> + <ordinal>2</ordinal> + <color>RED</color> + </resultThreshold> + </join.JoinTrigger> + </publishers> +</project> diff --git a/tests/publishers/fixtures/join-trigger002.yaml b/tests/publishers/fixtures/join-trigger002.yaml new file mode 100644 index 00000000..80940e47 --- /dev/null +++ b/tests/publishers/fixtures/join-trigger002.yaml @@ -0,0 +1,8 @@ +publishers: + - trigger: + project: project-1,project-2 + threshold: failure + - join-trigger: + projects: + - cleanup + threshold: failure diff --git a/tests/triggers/fixtures/gerrit001.xml b/tests/triggers/fixtures/gerrit001.xml index 5a30fcb3..00774f20 100644 --- a/tests/triggers/fixtures/gerrit001.xml +++ b/tests/triggers/fixtures/gerrit001.xml @@ -31,14 +31,15 @@ <silentMode>false</silentMode> <silentStartMode>false</silentStartMode> <escapeQuotes>false</escapeQuotes> - <noNameAndEmailParameters>false</noNameAndEmailParameters> - <readableMessage>false</readableMessage> <dependencyJobsNames/> + <commitMessageParameterMode>BASE64</commitMessageParameterMode> + <nameAndEmailParameterMode>PLAIN</nameAndEmailParameterMode> + <changeSubjectParameterMode>PLAIN</changeSubjectParameterMode> + <commentTextParameterMode>BASE64</commentTextParameterMode> <notificationLevel/> - <dynamicTriggerConfiguration>True</dynamicTriggerConfiguration> + <dynamicTriggerConfiguration>true</dynamicTriggerConfiguration> <triggerConfigURL>http://myhost/mytrigger</triggerConfigURL> <triggerInformationAction/> - <allowTriggeringUnreviewedPatches>false</allowTriggeringUnreviewedPatches> <triggerOnEvents> <com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.events.PluginCommentAddedEvent> <verdictCategory>APRV</verdictCategory> diff --git a/tests/triggers/fixtures/gerrit002.xml b/tests/triggers/fixtures/gerrit002.xml index d42eb2bb..f18e4fd7 100644 --- a/tests/triggers/fixtures/gerrit002.xml +++ b/tests/triggers/fixtures/gerrit002.xml @@ -35,14 +35,15 @@ <silentMode>false</silentMode> <silentStartMode>false</silentStartMode> <escapeQuotes>false</escapeQuotes> - <noNameAndEmailParameters>false</noNameAndEmailParameters> - <readableMessage>false</readableMessage> <dependencyJobsNames/> + <commitMessageParameterMode>BASE64</commitMessageParameterMode> + <nameAndEmailParameterMode>PLAIN</nameAndEmailParameterMode> + <changeSubjectParameterMode>PLAIN</changeSubjectParameterMode> + <commentTextParameterMode>BASE64</commentTextParameterMode> <notificationLevel/> - <dynamicTriggerConfiguration>True</dynamicTriggerConfiguration> + <dynamicTriggerConfiguration>true</dynamicTriggerConfiguration> <triggerConfigURL>http://myhost/mytrigger</triggerConfigURL> <triggerInformationAction/> - <allowTriggeringUnreviewedPatches>false</allowTriggeringUnreviewedPatches> <triggerOnEvents> <com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.events.PluginCommentAddedEvent> <verdictCategory>APRV</verdictCategory> diff --git a/tests/triggers/fixtures/gerrit003.xml b/tests/triggers/fixtures/gerrit003.xml index 55ef0e6f..32d55b85 100644 --- a/tests/triggers/fixtures/gerrit003.xml +++ b/tests/triggers/fixtures/gerrit003.xml @@ -52,14 +52,15 @@ <silentMode>false</silentMode> <silentStartMode>false</silentStartMode> <escapeQuotes>false</escapeQuotes> - <noNameAndEmailParameters>false</noNameAndEmailParameters> - <readableMessage>false</readableMessage> <dependencyJobsNames/> + <commitMessageParameterMode>BASE64</commitMessageParameterMode> + <nameAndEmailParameterMode>PLAIN</nameAndEmailParameterMode> + <changeSubjectParameterMode>PLAIN</changeSubjectParameterMode> + <commentTextParameterMode>BASE64</commentTextParameterMode> <notificationLevel/> - <dynamicTriggerConfiguration>True</dynamicTriggerConfiguration> + <dynamicTriggerConfiguration>true</dynamicTriggerConfiguration> <triggerConfigURL>http://myhost/mytrigger</triggerConfigURL> <triggerInformationAction/> - <allowTriggeringUnreviewedPatches>false</allowTriggeringUnreviewedPatches> <triggerOnEvents> <com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.events.PluginCommentAddedEvent> <verdictCategory>APRV</verdictCategory> diff --git a/tests/triggers/fixtures/gerrit004.xml b/tests/triggers/fixtures/gerrit004.xml index 4afca1cd..b7c5dd8b 100644 --- a/tests/triggers/fixtures/gerrit004.xml +++ b/tests/triggers/fixtures/gerrit004.xml @@ -41,14 +41,15 @@ <silentMode>false</silentMode> <silentStartMode>true</silentStartMode> <escapeQuotes>false</escapeQuotes> - <noNameAndEmailParameters>false</noNameAndEmailParameters> - <readableMessage>false</readableMessage> <dependencyJobsNames>job1, job2</dependencyJobsNames> + <commitMessageParameterMode>BASE64</commitMessageParameterMode> + <nameAndEmailParameterMode>PLAIN</nameAndEmailParameterMode> + <changeSubjectParameterMode>PLAIN</changeSubjectParameterMode> + <commentTextParameterMode>BASE64</commentTextParameterMode> <notificationLevel>ALL</notificationLevel> - <dynamicTriggerConfiguration>True</dynamicTriggerConfiguration> + <dynamicTriggerConfiguration>true</dynamicTriggerConfiguration> <triggerConfigURL>http://myhost/mytrigger</triggerConfigURL> <triggerInformationAction/> - <allowTriggeringUnreviewedPatches>true</allowTriggeringUnreviewedPatches> <triggerOnEvents> <com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.events.PluginPatchsetCreatedEvent> <excludeDrafts>true</excludeDrafts> diff --git a/tests/triggers/fixtures/gerrit004.yaml b/tests/triggers/fixtures/gerrit004.yaml index df64b592..d890d57f 100644 --- a/tests/triggers/fixtures/gerrit004.yaml +++ b/tests/triggers/fixtures/gerrit004.yaml @@ -32,11 +32,10 @@ triggers: silent: false silent-start: true escape-quotes: false - no-name-and-email: false dependency-jobs: 'job1, job2' + name-and-email-parameter-mode: PLAIN notification-level: ALL dynamic-trigger-enabled: true dynamic-trigger-url: http://myhost/mytrigger - trigger-for-unreviewed-patches: true server-name: my-server failure-message-file: path/to/filename diff --git a/tests/triggers/fixtures/gerrit005.xml b/tests/triggers/fixtures/gerrit005.xml index bb719e43..05a179da 100644 --- a/tests/triggers/fixtures/gerrit005.xml +++ b/tests/triggers/fixtures/gerrit005.xml @@ -31,14 +31,16 @@ <silentMode>false</silentMode> <silentStartMode>false</silentStartMode> <escapeQuotes>true</escapeQuotes> - <noNameAndEmailParameters>false</noNameAndEmailParameters> - <readableMessage>false</readableMessage> <dependencyJobsNames/> + <commitMessageParameterMode>BASE64</commitMessageParameterMode> + <nameAndEmailParameterMode>PLAIN</nameAndEmailParameterMode> + <changeSubjectParameterMode>PLAIN</changeSubjectParameterMode> + <commentTextParameterMode>BASE64</commentTextParameterMode> <notificationLevel/> - <dynamicTriggerConfiguration>False</dynamicTriggerConfiguration> + <dynamicTriggerConfiguration>false</dynamicTriggerConfiguration> <triggerConfigURL/> + <dynamicGerritProjects class="empty-list"/> <triggerInformationAction/> - <allowTriggeringUnreviewedPatches>false</allowTriggeringUnreviewedPatches> <triggerOnEvents> <com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.events.PluginCommentAddedEvent> <verdictCategory>APRV</verdictCategory> diff --git a/tests/triggers/fixtures/gerrit006.xml b/tests/triggers/fixtures/gerrit006.xml index 30a9e5c3..26ecccee 100644 --- a/tests/triggers/fixtures/gerrit006.xml +++ b/tests/triggers/fixtures/gerrit006.xml @@ -31,14 +31,15 @@ <silentMode>false</silentMode> <silentStartMode>false</silentStartMode> <escapeQuotes>false</escapeQuotes> - <noNameAndEmailParameters>false</noNameAndEmailParameters> - <readableMessage>true</readableMessage> <dependencyJobsNames/> + <commitMessageParameterMode>PLAIN</commitMessageParameterMode> + <nameAndEmailParameterMode>PLAIN</nameAndEmailParameterMode> + <changeSubjectParameterMode>PLAIN</changeSubjectParameterMode> + <commentTextParameterMode>BASE64</commentTextParameterMode> <notificationLevel/> - <dynamicTriggerConfiguration>True</dynamicTriggerConfiguration> + <dynamicTriggerConfiguration>true</dynamicTriggerConfiguration> <triggerConfigURL>http://myhost/mytrigger</triggerConfigURL> <triggerInformationAction/> - <allowTriggeringUnreviewedPatches>false</allowTriggeringUnreviewedPatches> <triggerOnEvents> <com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.events.PluginCommentAddedContainsEvent> <commentAddedCommentContains>recheck</commentAddedCommentContains> diff --git a/tests/triggers/fixtures/gerrit007.xml b/tests/triggers/fixtures/gerrit007.xml index 821186ea..8c673fd0 100644 --- a/tests/triggers/fixtures/gerrit007.xml +++ b/tests/triggers/fixtures/gerrit007.xml @@ -41,14 +41,15 @@ <silentMode>false</silentMode> <silentStartMode>false</silentStartMode> <escapeQuotes>false</escapeQuotes> - <noNameAndEmailParameters>false</noNameAndEmailParameters> - <readableMessage>false</readableMessage> <dependencyJobsNames/> + <commitMessageParameterMode>BASE64</commitMessageParameterMode> + <nameAndEmailParameterMode>PLAIN</nameAndEmailParameterMode> + <changeSubjectParameterMode>PLAIN</changeSubjectParameterMode> + <commentTextParameterMode>BASE64</commentTextParameterMode> <notificationLevel/> - <dynamicTriggerConfiguration>True</dynamicTriggerConfiguration> + <dynamicTriggerConfiguration>true</dynamicTriggerConfiguration> <triggerConfigURL>http://myhost/mytrigger</triggerConfigURL> <triggerInformationAction/> - <allowTriggeringUnreviewedPatches>true</allowTriggeringUnreviewedPatches> <triggerOnEvents> <com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.events.PluginPatchsetCreatedEvent/> <com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.events.PluginCommentAddedEvent> diff --git a/tests/triggers/fixtures/gerrit008.xml b/tests/triggers/fixtures/gerrit008.xml index d1761489..2639bd70 100644 --- a/tests/triggers/fixtures/gerrit008.xml +++ b/tests/triggers/fixtures/gerrit008.xml @@ -47,14 +47,15 @@ <silentMode>false</silentMode> <silentStartMode>true</silentStartMode> <escapeQuotes>false</escapeQuotes> - <noNameAndEmailParameters>false</noNameAndEmailParameters> - <readableMessage>false</readableMessage> <dependencyJobsNames>job1, job2</dependencyJobsNames> + <commitMessageParameterMode>BASE64</commitMessageParameterMode> + <nameAndEmailParameterMode>PLAIN</nameAndEmailParameterMode> + <changeSubjectParameterMode>PLAIN</changeSubjectParameterMode> + <commentTextParameterMode>BASE64</commentTextParameterMode> <notificationLevel>ALL</notificationLevel> - <dynamicTriggerConfiguration>True</dynamicTriggerConfiguration> + <dynamicTriggerConfiguration>true</dynamicTriggerConfiguration> <triggerConfigURL>http://myhost/mytrigger</triggerConfigURL> <triggerInformationAction/> - <allowTriggeringUnreviewedPatches>true</allowTriggeringUnreviewedPatches> <triggerOnEvents> <com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.events.PluginPatchsetCreatedEvent> <excludeDrafts>true</excludeDrafts> diff --git a/tests/triggers/fixtures/gerrit009.xml b/tests/triggers/fixtures/gerrit009.xml index 8abc6e43..cc87f5e2 100644 --- a/tests/triggers/fixtures/gerrit009.xml +++ b/tests/triggers/fixtures/gerrit009.xml @@ -13,14 +13,15 @@ <silentMode>false</silentMode> <silentStartMode>false</silentStartMode> <escapeQuotes>true</escapeQuotes> - <noNameAndEmailParameters>false</noNameAndEmailParameters> - <readableMessage>false</readableMessage> <dependencyJobsNames/> + <commitMessageParameterMode>BASE64</commitMessageParameterMode> + <nameAndEmailParameterMode>PLAIN</nameAndEmailParameterMode> + <changeSubjectParameterMode>PLAIN</changeSubjectParameterMode> + <commentTextParameterMode>BASE64</commentTextParameterMode> <notificationLevel/> - <dynamicTriggerConfiguration>True</dynamicTriggerConfiguration> + <dynamicTriggerConfiguration>true</dynamicTriggerConfiguration> <triggerConfigURL>http://myhost/mytrigger</triggerConfigURL> <triggerInformationAction/> - <allowTriggeringUnreviewedPatches>false</allowTriggeringUnreviewedPatches> <triggerOnEvents> <com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.events.PluginCommentAddedEvent> <verdictCategory>APRV</verdictCategory> diff --git a/tests/triggers/fixtures/gerrit010.xml b/tests/triggers/fixtures/gerrit010.xml index c9cc2499..78d66b4a 100644 --- a/tests/triggers/fixtures/gerrit010.xml +++ b/tests/triggers/fixtures/gerrit010.xml @@ -31,14 +31,15 @@ <silentMode>false</silentMode> <silentStartMode>false</silentStartMode> <escapeQuotes>false</escapeQuotes> - <noNameAndEmailParameters>false</noNameAndEmailParameters> - <readableMessage>false</readableMessage> <dependencyJobsNames/> + <commitMessageParameterMode>BASE64</commitMessageParameterMode> + <nameAndEmailParameterMode>PLAIN</nameAndEmailParameterMode> + <changeSubjectParameterMode>PLAIN</changeSubjectParameterMode> + <commentTextParameterMode>BASE64</commentTextParameterMode> <notificationLevel/> - <dynamicTriggerConfiguration>True</dynamicTriggerConfiguration> + <dynamicTriggerConfiguration>true</dynamicTriggerConfiguration> <triggerConfigURL>http://myhost/mytrigger</triggerConfigURL> <triggerInformationAction/> - <allowTriggeringUnreviewedPatches>false</allowTriggeringUnreviewedPatches> <triggerOnEvents> <com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.events.PluginCommentAddedEvent> <verdictCategory>APRV</verdictCategory> diff --git a/tests/triggers/fixtures/gerrit011-name-and-email-parameter-mode-base64.xml b/tests/triggers/fixtures/gerrit011-name-and-email-parameter-mode-base64.xml new file mode 100644 index 00000000..a52b428e --- /dev/null +++ b/tests/triggers/fixtures/gerrit011-name-and-email-parameter-mode-base64.xml @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="utf-8"?> +<project> + <triggers class="vector"> + <com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritTrigger> + <spec/> + <gerritProjects/> + <skipVote> + <onSuccessful>false</onSuccessful> + <onFailed>false</onFailed> + <onUnstable>false</onUnstable> + <onNotBuilt>false</onNotBuilt> + </skipVote> + <silentMode>false</silentMode> + <silentStartMode>false</silentStartMode> + <escapeQuotes>true</escapeQuotes> + <dependencyJobsNames/> + <commitMessageParameterMode>BASE64</commitMessageParameterMode> + <nameAndEmailParameterMode>BASE64</nameAndEmailParameterMode> + <changeSubjectParameterMode>PLAIN</changeSubjectParameterMode> + <commentTextParameterMode>BASE64</commentTextParameterMode> + <notificationLevel/> + <dynamicTriggerConfiguration>false</dynamicTriggerConfiguration> + <triggerConfigURL/> + <dynamicGerritProjects class="empty-list"/> + <triggerInformationAction/> + <triggerOnEvents/> + <buildStartMessage/> + <buildFailureMessage/> + <buildSuccessfulMessage/> + <buildUnstableMessage/> + <buildNotBuiltMessage/> + <buildUnsuccessfulFilepath/> + <customUrl/> + <serverName>__ANY__</serverName> + </com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritTrigger> + </triggers> +</project> diff --git a/tests/triggers/fixtures/gerrit011-name-and-email-parameter-mode-base64.yaml b/tests/triggers/fixtures/gerrit011-name-and-email-parameter-mode-base64.yaml new file mode 100644 index 00000000..052da2cf --- /dev/null +++ b/tests/triggers/fixtures/gerrit011-name-and-email-parameter-mode-base64.yaml @@ -0,0 +1,3 @@ +triggers: + - gerrit: + name-and-email-parameter-mode: BASE64 diff --git a/tests/triggers/fixtures/gerrit012-name-and-email-parameter-mode-none.xml b/tests/triggers/fixtures/gerrit012-name-and-email-parameter-mode-none.xml new file mode 100644 index 00000000..3e5af26f --- /dev/null +++ b/tests/triggers/fixtures/gerrit012-name-and-email-parameter-mode-none.xml @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="utf-8"?> +<project> + <triggers class="vector"> + <com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritTrigger> + <spec/> + <gerritProjects/> + <skipVote> + <onSuccessful>false</onSuccessful> + <onFailed>false</onFailed> + <onUnstable>false</onUnstable> + <onNotBuilt>false</onNotBuilt> + </skipVote> + <silentMode>false</silentMode> + <silentStartMode>false</silentStartMode> + <escapeQuotes>true</escapeQuotes> + <dependencyJobsNames/> + <commitMessageParameterMode>BASE64</commitMessageParameterMode> + <nameAndEmailParameterMode>NONE</nameAndEmailParameterMode> + <changeSubjectParameterMode>PLAIN</changeSubjectParameterMode> + <commentTextParameterMode>BASE64</commentTextParameterMode> + <notificationLevel/> + <dynamicTriggerConfiguration>false</dynamicTriggerConfiguration> + <triggerConfigURL/> + <dynamicGerritProjects class="empty-list"/> + <triggerInformationAction/> + <triggerOnEvents/> + <buildStartMessage/> + <buildFailureMessage/> + <buildSuccessfulMessage/> + <buildUnstableMessage/> + <buildNotBuiltMessage/> + <buildUnsuccessfulFilepath/> + <customUrl/> + <serverName>__ANY__</serverName> + </com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritTrigger> + </triggers> +</project> diff --git a/tests/triggers/fixtures/gerrit012-name-and-email-parameter-mode-none.yaml b/tests/triggers/fixtures/gerrit012-name-and-email-parameter-mode-none.yaml new file mode 100644 index 00000000..1f589cd6 --- /dev/null +++ b/tests/triggers/fixtures/gerrit012-name-and-email-parameter-mode-none.yaml @@ -0,0 +1,3 @@ +triggers: + - gerrit: + name-and-email-parameter-mode: NONE diff --git a/tests/triggers/fixtures/gerrit013-name-and-email-parameter-mode-plain.xml b/tests/triggers/fixtures/gerrit013-name-and-email-parameter-mode-plain.xml new file mode 100644 index 00000000..168ecdb6 --- /dev/null +++ b/tests/triggers/fixtures/gerrit013-name-and-email-parameter-mode-plain.xml @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="utf-8"?> +<project> + <triggers class="vector"> + <com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritTrigger> + <spec/> + <gerritProjects/> + <skipVote> + <onSuccessful>false</onSuccessful> + <onFailed>false</onFailed> + <onUnstable>false</onUnstable> + <onNotBuilt>false</onNotBuilt> + </skipVote> + <silentMode>false</silentMode> + <silentStartMode>false</silentStartMode> + <escapeQuotes>true</escapeQuotes> + <dependencyJobsNames/> + <commitMessageParameterMode>BASE64</commitMessageParameterMode> + <nameAndEmailParameterMode>PLAIN</nameAndEmailParameterMode> + <changeSubjectParameterMode>PLAIN</changeSubjectParameterMode> + <commentTextParameterMode>BASE64</commentTextParameterMode> + <notificationLevel/> + <dynamicTriggerConfiguration>false</dynamicTriggerConfiguration> + <triggerConfigURL/> + <dynamicGerritProjects class="empty-list"/> + <triggerInformationAction/> + <triggerOnEvents/> + <buildStartMessage/> + <buildFailureMessage/> + <buildSuccessfulMessage/> + <buildUnstableMessage/> + <buildNotBuiltMessage/> + <buildUnsuccessfulFilepath/> + <customUrl/> + <serverName>__ANY__</serverName> + </com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritTrigger> + </triggers> +</project> diff --git a/tests/triggers/fixtures/gerrit013-name-and-email-parameter-mode-plain.yaml b/tests/triggers/fixtures/gerrit013-name-and-email-parameter-mode-plain.yaml new file mode 100644 index 00000000..f10f5dfe --- /dev/null +++ b/tests/triggers/fixtures/gerrit013-name-and-email-parameter-mode-plain.yaml @@ -0,0 +1,3 @@ +triggers: + - gerrit: + name-and-email-parameter-mode: PLAIN diff --git a/tests/triggers/fixtures/gerrit014-commit-message-parameter-mode-base64.xml b/tests/triggers/fixtures/gerrit014-commit-message-parameter-mode-base64.xml new file mode 100644 index 00000000..168ecdb6 --- /dev/null +++ b/tests/triggers/fixtures/gerrit014-commit-message-parameter-mode-base64.xml @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="utf-8"?> +<project> + <triggers class="vector"> + <com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritTrigger> + <spec/> + <gerritProjects/> + <skipVote> + <onSuccessful>false</onSuccessful> + <onFailed>false</onFailed> + <onUnstable>false</onUnstable> + <onNotBuilt>false</onNotBuilt> + </skipVote> + <silentMode>false</silentMode> + <silentStartMode>false</silentStartMode> + <escapeQuotes>true</escapeQuotes> + <dependencyJobsNames/> + <commitMessageParameterMode>BASE64</commitMessageParameterMode> + <nameAndEmailParameterMode>PLAIN</nameAndEmailParameterMode> + <changeSubjectParameterMode>PLAIN</changeSubjectParameterMode> + <commentTextParameterMode>BASE64</commentTextParameterMode> + <notificationLevel/> + <dynamicTriggerConfiguration>false</dynamicTriggerConfiguration> + <triggerConfigURL/> + <dynamicGerritProjects class="empty-list"/> + <triggerInformationAction/> + <triggerOnEvents/> + <buildStartMessage/> + <buildFailureMessage/> + <buildSuccessfulMessage/> + <buildUnstableMessage/> + <buildNotBuiltMessage/> + <buildUnsuccessfulFilepath/> + <customUrl/> + <serverName>__ANY__</serverName> + </com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritTrigger> + </triggers> +</project> diff --git a/tests/triggers/fixtures/gerrit014-commit-message-parameter-mode-base64.yaml b/tests/triggers/fixtures/gerrit014-commit-message-parameter-mode-base64.yaml new file mode 100644 index 00000000..afc29a4b --- /dev/null +++ b/tests/triggers/fixtures/gerrit014-commit-message-parameter-mode-base64.yaml @@ -0,0 +1,3 @@ +triggers: + - gerrit: + commit-message-parameter-mode: BASE64 diff --git a/tests/triggers/fixtures/gerrit015-commit-message-parameter-mode-plain.xml b/tests/triggers/fixtures/gerrit015-commit-message-parameter-mode-plain.xml new file mode 100644 index 00000000..aca3e5b3 --- /dev/null +++ b/tests/triggers/fixtures/gerrit015-commit-message-parameter-mode-plain.xml @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="utf-8"?> +<project> + <triggers class="vector"> + <com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritTrigger> + <spec/> + <gerritProjects/> + <skipVote> + <onSuccessful>false</onSuccessful> + <onFailed>false</onFailed> + <onUnstable>false</onUnstable> + <onNotBuilt>false</onNotBuilt> + </skipVote> + <silentMode>false</silentMode> + <silentStartMode>false</silentStartMode> + <escapeQuotes>true</escapeQuotes> + <dependencyJobsNames/> + <commitMessageParameterMode>PLAIN</commitMessageParameterMode> + <nameAndEmailParameterMode>PLAIN</nameAndEmailParameterMode> + <changeSubjectParameterMode>PLAIN</changeSubjectParameterMode> + <commentTextParameterMode>BASE64</commentTextParameterMode> + <notificationLevel/> + <dynamicTriggerConfiguration>false</dynamicTriggerConfiguration> + <triggerConfigURL/> + <dynamicGerritProjects class="empty-list"/> + <triggerInformationAction/> + <triggerOnEvents/> + <buildStartMessage/> + <buildFailureMessage/> + <buildSuccessfulMessage/> + <buildUnstableMessage/> + <buildNotBuiltMessage/> + <buildUnsuccessfulFilepath/> + <customUrl/> + <serverName>__ANY__</serverName> + </com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritTrigger> + </triggers> +</project> diff --git a/tests/triggers/fixtures/gerrit015-commit-message-parameter-mode-plain.yaml b/tests/triggers/fixtures/gerrit015-commit-message-parameter-mode-plain.yaml new file mode 100644 index 00000000..b3f8df2f --- /dev/null +++ b/tests/triggers/fixtures/gerrit015-commit-message-parameter-mode-plain.yaml @@ -0,0 +1,3 @@ +triggers: + - gerrit: + commit-message-parameter-mode: PLAIN diff --git a/tests/triggers/fixtures/gerrit016-commit-message-parameter-mode-none.xml b/tests/triggers/fixtures/gerrit016-commit-message-parameter-mode-none.xml new file mode 100644 index 00000000..585b758a --- /dev/null +++ b/tests/triggers/fixtures/gerrit016-commit-message-parameter-mode-none.xml @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="utf-8"?> +<project> + <triggers class="vector"> + <com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritTrigger> + <spec/> + <gerritProjects/> + <skipVote> + <onSuccessful>false</onSuccessful> + <onFailed>false</onFailed> + <onUnstable>false</onUnstable> + <onNotBuilt>false</onNotBuilt> + </skipVote> + <silentMode>false</silentMode> + <silentStartMode>false</silentStartMode> + <escapeQuotes>true</escapeQuotes> + <dependencyJobsNames/> + <commitMessageParameterMode>NONE</commitMessageParameterMode> + <nameAndEmailParameterMode>PLAIN</nameAndEmailParameterMode> + <changeSubjectParameterMode>PLAIN</changeSubjectParameterMode> + <commentTextParameterMode>BASE64</commentTextParameterMode> + <notificationLevel/> + <dynamicTriggerConfiguration>false</dynamicTriggerConfiguration> + <triggerConfigURL/> + <dynamicGerritProjects class="empty-list"/> + <triggerInformationAction/> + <triggerOnEvents/> + <buildStartMessage/> + <buildFailureMessage/> + <buildSuccessfulMessage/> + <buildUnstableMessage/> + <buildNotBuiltMessage/> + <buildUnsuccessfulFilepath/> + <customUrl/> + <serverName>__ANY__</serverName> + </com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritTrigger> + </triggers> +</project> diff --git a/tests/triggers/fixtures/gerrit016-commit-message-parameter-mode-none.yaml b/tests/triggers/fixtures/gerrit016-commit-message-parameter-mode-none.yaml new file mode 100644 index 00000000..fb903541 --- /dev/null +++ b/tests/triggers/fixtures/gerrit016-commit-message-parameter-mode-none.yaml @@ -0,0 +1,3 @@ +triggers: + - gerrit: + commit-message-parameter-mode: NONE diff --git a/tests/triggers/fixtures/gerrit017-change-subject-parameter-mode-base64.xml b/tests/triggers/fixtures/gerrit017-change-subject-parameter-mode-base64.xml new file mode 100644 index 00000000..afb1fc2e --- /dev/null +++ b/tests/triggers/fixtures/gerrit017-change-subject-parameter-mode-base64.xml @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="utf-8"?> +<project> + <triggers class="vector"> + <com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritTrigger> + <spec/> + <gerritProjects/> + <skipVote> + <onSuccessful>false</onSuccessful> + <onFailed>false</onFailed> + <onUnstable>false</onUnstable> + <onNotBuilt>false</onNotBuilt> + </skipVote> + <silentMode>false</silentMode> + <silentStartMode>false</silentStartMode> + <escapeQuotes>true</escapeQuotes> + <dependencyJobsNames/> + <commitMessageParameterMode>BASE64</commitMessageParameterMode> + <nameAndEmailParameterMode>PLAIN</nameAndEmailParameterMode> + <changeSubjectParameterMode>BASE64</changeSubjectParameterMode> + <commentTextParameterMode>BASE64</commentTextParameterMode> + <notificationLevel/> + <dynamicTriggerConfiguration>false</dynamicTriggerConfiguration> + <triggerConfigURL/> + <dynamicGerritProjects class="empty-list"/> + <triggerInformationAction/> + <triggerOnEvents/> + <buildStartMessage/> + <buildFailureMessage/> + <buildSuccessfulMessage/> + <buildUnstableMessage/> + <buildNotBuiltMessage/> + <buildUnsuccessfulFilepath/> + <customUrl/> + <serverName>__ANY__</serverName> + </com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritTrigger> + </triggers> +</project> diff --git a/tests/triggers/fixtures/gerrit017-change-subject-parameter-mode-base64.yaml b/tests/triggers/fixtures/gerrit017-change-subject-parameter-mode-base64.yaml new file mode 100644 index 00000000..89f9649f --- /dev/null +++ b/tests/triggers/fixtures/gerrit017-change-subject-parameter-mode-base64.yaml @@ -0,0 +1,3 @@ +triggers: + - gerrit: + change-subject-parameter-mode: BASE64 diff --git a/tests/triggers/fixtures/gerrit018-change-subject-parameter-mode-plain.xml b/tests/triggers/fixtures/gerrit018-change-subject-parameter-mode-plain.xml new file mode 100644 index 00000000..168ecdb6 --- /dev/null +++ b/tests/triggers/fixtures/gerrit018-change-subject-parameter-mode-plain.xml @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="utf-8"?> +<project> + <triggers class="vector"> + <com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritTrigger> + <spec/> + <gerritProjects/> + <skipVote> + <onSuccessful>false</onSuccessful> + <onFailed>false</onFailed> + <onUnstable>false</onUnstable> + <onNotBuilt>false</onNotBuilt> + </skipVote> + <silentMode>false</silentMode> + <silentStartMode>false</silentStartMode> + <escapeQuotes>true</escapeQuotes> + <dependencyJobsNames/> + <commitMessageParameterMode>BASE64</commitMessageParameterMode> + <nameAndEmailParameterMode>PLAIN</nameAndEmailParameterMode> + <changeSubjectParameterMode>PLAIN</changeSubjectParameterMode> + <commentTextParameterMode>BASE64</commentTextParameterMode> + <notificationLevel/> + <dynamicTriggerConfiguration>false</dynamicTriggerConfiguration> + <triggerConfigURL/> + <dynamicGerritProjects class="empty-list"/> + <triggerInformationAction/> + <triggerOnEvents/> + <buildStartMessage/> + <buildFailureMessage/> + <buildSuccessfulMessage/> + <buildUnstableMessage/> + <buildNotBuiltMessage/> + <buildUnsuccessfulFilepath/> + <customUrl/> + <serverName>__ANY__</serverName> + </com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritTrigger> + </triggers> +</project> diff --git a/tests/triggers/fixtures/gerrit018-change-subject-parameter-mode-plain.yaml b/tests/triggers/fixtures/gerrit018-change-subject-parameter-mode-plain.yaml new file mode 100644 index 00000000..4db9e31c --- /dev/null +++ b/tests/triggers/fixtures/gerrit018-change-subject-parameter-mode-plain.yaml @@ -0,0 +1,3 @@ +triggers: + - gerrit: + change-subject-parameter-mode: PLAIN diff --git a/tests/triggers/fixtures/gerrit019-change-subject-parameter-mode-none.xml b/tests/triggers/fixtures/gerrit019-change-subject-parameter-mode-none.xml new file mode 100644 index 00000000..06483bd2 --- /dev/null +++ b/tests/triggers/fixtures/gerrit019-change-subject-parameter-mode-none.xml @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="utf-8"?> +<project> + <triggers class="vector"> + <com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritTrigger> + <spec/> + <gerritProjects/> + <skipVote> + <onSuccessful>false</onSuccessful> + <onFailed>false</onFailed> + <onUnstable>false</onUnstable> + <onNotBuilt>false</onNotBuilt> + </skipVote> + <silentMode>false</silentMode> + <silentStartMode>false</silentStartMode> + <escapeQuotes>true</escapeQuotes> + <dependencyJobsNames/> + <commitMessageParameterMode>BASE64</commitMessageParameterMode> + <nameAndEmailParameterMode>PLAIN</nameAndEmailParameterMode> + <changeSubjectParameterMode>NONE</changeSubjectParameterMode> + <commentTextParameterMode>BASE64</commentTextParameterMode> + <notificationLevel/> + <dynamicTriggerConfiguration>false</dynamicTriggerConfiguration> + <triggerConfigURL/> + <dynamicGerritProjects class="empty-list"/> + <triggerInformationAction/> + <triggerOnEvents/> + <buildStartMessage/> + <buildFailureMessage/> + <buildSuccessfulMessage/> + <buildUnstableMessage/> + <buildNotBuiltMessage/> + <buildUnsuccessfulFilepath/> + <customUrl/> + <serverName>__ANY__</serverName> + </com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritTrigger> + </triggers> +</project> diff --git a/tests/triggers/fixtures/gerrit019-change-subject-parameter-mode-none.yaml b/tests/triggers/fixtures/gerrit019-change-subject-parameter-mode-none.yaml new file mode 100644 index 00000000..876f7aaa --- /dev/null +++ b/tests/triggers/fixtures/gerrit019-change-subject-parameter-mode-none.yaml @@ -0,0 +1,3 @@ +triggers: + - gerrit: + change-subject-parameter-mode: NONE diff --git a/tests/triggers/fixtures/gerrit020-comment-text-parameter-mode-base64.xml b/tests/triggers/fixtures/gerrit020-comment-text-parameter-mode-base64.xml new file mode 100644 index 00000000..168ecdb6 --- /dev/null +++ b/tests/triggers/fixtures/gerrit020-comment-text-parameter-mode-base64.xml @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="utf-8"?> +<project> + <triggers class="vector"> + <com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritTrigger> + <spec/> + <gerritProjects/> + <skipVote> + <onSuccessful>false</onSuccessful> + <onFailed>false</onFailed> + <onUnstable>false</onUnstable> + <onNotBuilt>false</onNotBuilt> + </skipVote> + <silentMode>false</silentMode> + <silentStartMode>false</silentStartMode> + <escapeQuotes>true</escapeQuotes> + <dependencyJobsNames/> + <commitMessageParameterMode>BASE64</commitMessageParameterMode> + <nameAndEmailParameterMode>PLAIN</nameAndEmailParameterMode> + <changeSubjectParameterMode>PLAIN</changeSubjectParameterMode> + <commentTextParameterMode>BASE64</commentTextParameterMode> + <notificationLevel/> + <dynamicTriggerConfiguration>false</dynamicTriggerConfiguration> + <triggerConfigURL/> + <dynamicGerritProjects class="empty-list"/> + <triggerInformationAction/> + <triggerOnEvents/> + <buildStartMessage/> + <buildFailureMessage/> + <buildSuccessfulMessage/> + <buildUnstableMessage/> + <buildNotBuiltMessage/> + <buildUnsuccessfulFilepath/> + <customUrl/> + <serverName>__ANY__</serverName> + </com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritTrigger> + </triggers> +</project> diff --git a/tests/triggers/fixtures/gerrit020-comment-text-parameter-mode-base64.yaml b/tests/triggers/fixtures/gerrit020-comment-text-parameter-mode-base64.yaml new file mode 100644 index 00000000..097c0648 --- /dev/null +++ b/tests/triggers/fixtures/gerrit020-comment-text-parameter-mode-base64.yaml @@ -0,0 +1,3 @@ +triggers: + - gerrit: + comment-text-parameter-mode: BASE64 diff --git a/tests/triggers/fixtures/gerrit021-comment-text-parameter-mode-plain.xml b/tests/triggers/fixtures/gerrit021-comment-text-parameter-mode-plain.xml new file mode 100644 index 00000000..25b079f3 --- /dev/null +++ b/tests/triggers/fixtures/gerrit021-comment-text-parameter-mode-plain.xml @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="utf-8"?> +<project> + <triggers class="vector"> + <com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritTrigger> + <spec/> + <gerritProjects/> + <skipVote> + <onSuccessful>false</onSuccessful> + <onFailed>false</onFailed> + <onUnstable>false</onUnstable> + <onNotBuilt>false</onNotBuilt> + </skipVote> + <silentMode>false</silentMode> + <silentStartMode>false</silentStartMode> + <escapeQuotes>true</escapeQuotes> + <dependencyJobsNames/> + <commitMessageParameterMode>BASE64</commitMessageParameterMode> + <nameAndEmailParameterMode>PLAIN</nameAndEmailParameterMode> + <changeSubjectParameterMode>PLAIN</changeSubjectParameterMode> + <commentTextParameterMode>PLAIN</commentTextParameterMode> + <notificationLevel/> + <dynamicTriggerConfiguration>false</dynamicTriggerConfiguration> + <triggerConfigURL/> + <dynamicGerritProjects class="empty-list"/> + <triggerInformationAction/> + <triggerOnEvents/> + <buildStartMessage/> + <buildFailureMessage/> + <buildSuccessfulMessage/> + <buildUnstableMessage/> + <buildNotBuiltMessage/> + <buildUnsuccessfulFilepath/> + <customUrl/> + <serverName>__ANY__</serverName> + </com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritTrigger> + </triggers> +</project> diff --git a/tests/triggers/fixtures/gerrit021-comment-text-parameter-mode-plain.yaml b/tests/triggers/fixtures/gerrit021-comment-text-parameter-mode-plain.yaml new file mode 100644 index 00000000..37ac319d --- /dev/null +++ b/tests/triggers/fixtures/gerrit021-comment-text-parameter-mode-plain.yaml @@ -0,0 +1,3 @@ +triggers: + - gerrit: + comment-text-parameter-mode: PLAIN diff --git a/tests/triggers/fixtures/gerrit022-comment-text-parameter-mode-none.xml b/tests/triggers/fixtures/gerrit022-comment-text-parameter-mode-none.xml new file mode 100644 index 00000000..22a02bd2 --- /dev/null +++ b/tests/triggers/fixtures/gerrit022-comment-text-parameter-mode-none.xml @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="utf-8"?> +<project> + <triggers class="vector"> + <com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritTrigger> + <spec/> + <gerritProjects/> + <skipVote> + <onSuccessful>false</onSuccessful> + <onFailed>false</onFailed> + <onUnstable>false</onUnstable> + <onNotBuilt>false</onNotBuilt> + </skipVote> + <silentMode>false</silentMode> + <silentStartMode>false</silentStartMode> + <escapeQuotes>true</escapeQuotes> + <dependencyJobsNames/> + <commitMessageParameterMode>BASE64</commitMessageParameterMode> + <nameAndEmailParameterMode>PLAIN</nameAndEmailParameterMode> + <changeSubjectParameterMode>PLAIN</changeSubjectParameterMode> + <commentTextParameterMode>NONE</commentTextParameterMode> + <notificationLevel/> + <dynamicTriggerConfiguration>false</dynamicTriggerConfiguration> + <triggerConfigURL/> + <dynamicGerritProjects class="empty-list"/> + <triggerInformationAction/> + <triggerOnEvents/> + <buildStartMessage/> + <buildFailureMessage/> + <buildSuccessfulMessage/> + <buildUnstableMessage/> + <buildNotBuiltMessage/> + <buildUnsuccessfulFilepath/> + <customUrl/> + <serverName>__ANY__</serverName> + </com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritTrigger> + </triggers> +</project> diff --git a/tests/triggers/fixtures/gerrit022-comment-text-parameter-mode-none.yaml b/tests/triggers/fixtures/gerrit022-comment-text-parameter-mode-none.yaml new file mode 100644 index 00000000..867ee90b --- /dev/null +++ b/tests/triggers/fixtures/gerrit022-comment-text-parameter-mode-none.yaml @@ -0,0 +1,3 @@ +triggers: + - gerrit: + comment-text-parameter-mode: NONE diff --git a/tests/triggers/fixtures/gerrit023-no-name-and-email-lt-2.18.plugins_info.yaml b/tests/triggers/fixtures/gerrit023-no-name-and-email-lt-2.18.plugins_info.yaml new file mode 100644 index 00000000..a19595b4 --- /dev/null +++ b/tests/triggers/fixtures/gerrit023-no-name-and-email-lt-2.18.plugins_info.yaml @@ -0,0 +1,3 @@ +- longName: 'Gerrit Trigger' + shortName: 'gerrit-trigger' + version: '2.17.0' diff --git a/tests/triggers/fixtures/gerrit023-no-name-and-email-lt-2.18.xml b/tests/triggers/fixtures/gerrit023-no-name-and-email-lt-2.18.xml new file mode 100644 index 00000000..ecd8a3a7 --- /dev/null +++ b/tests/triggers/fixtures/gerrit023-no-name-and-email-lt-2.18.xml @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="utf-8"?> +<project> + <triggers class="vector"> + <com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritTrigger> + <spec/> + <gerritProjects/> + <skipVote> + <onSuccessful>false</onSuccessful> + <onFailed>false</onFailed> + <onUnstable>false</onUnstable> + <onNotBuilt>false</onNotBuilt> + </skipVote> + <silentMode>false</silentMode> + <silentStartMode>false</silentStartMode> + <escapeQuotes>true</escapeQuotes> + <dependencyJobsNames/> + <noNameAndEmailParameters>true</noNameAndEmailParameters> + <readableMessage>false</readableMessage> + <notificationLevel/> + <dynamicTriggerConfiguration>false</dynamicTriggerConfiguration> + <triggerConfigURL/> + <dynamicGerritProjects class="empty-list"/> + <triggerInformationAction/> + <triggerOnEvents/> + <buildStartMessage/> + <buildFailureMessage/> + <buildSuccessfulMessage/> + <buildUnstableMessage/> + <buildNotBuiltMessage/> + <buildUnsuccessfulFilepath/> + <customUrl/> + <serverName>__ANY__</serverName> + </com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritTrigger> + </triggers> +</project> diff --git a/tests/triggers/fixtures/gerrit023-no-name-and-email-lt-2.18.yaml b/tests/triggers/fixtures/gerrit023-no-name-and-email-lt-2.18.yaml new file mode 100644 index 00000000..cd08b8c9 --- /dev/null +++ b/tests/triggers/fixtures/gerrit023-no-name-and-email-lt-2.18.yaml @@ -0,0 +1,3 @@ +triggers: + - gerrit: + no-name-and-email: true diff --git a/tests/triggers/fixtures/gerrit024-no-name-and-email-ge-2.18.plugins_info.yaml b/tests/triggers/fixtures/gerrit024-no-name-and-email-ge-2.18.plugins_info.yaml new file mode 100644 index 00000000..7515655f --- /dev/null +++ b/tests/triggers/fixtures/gerrit024-no-name-and-email-ge-2.18.plugins_info.yaml @@ -0,0 +1,3 @@ +- longName: 'Gerrit Trigger' + shortName: 'gerrit-trigger' + version: '2.18.0' diff --git a/tests/triggers/fixtures/gerrit024-no-name-and-email-ge-2.18.xml b/tests/triggers/fixtures/gerrit024-no-name-and-email-ge-2.18.xml new file mode 100644 index 00000000..3e5af26f --- /dev/null +++ b/tests/triggers/fixtures/gerrit024-no-name-and-email-ge-2.18.xml @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="utf-8"?> +<project> + <triggers class="vector"> + <com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritTrigger> + <spec/> + <gerritProjects/> + <skipVote> + <onSuccessful>false</onSuccessful> + <onFailed>false</onFailed> + <onUnstable>false</onUnstable> + <onNotBuilt>false</onNotBuilt> + </skipVote> + <silentMode>false</silentMode> + <silentStartMode>false</silentStartMode> + <escapeQuotes>true</escapeQuotes> + <dependencyJobsNames/> + <commitMessageParameterMode>BASE64</commitMessageParameterMode> + <nameAndEmailParameterMode>NONE</nameAndEmailParameterMode> + <changeSubjectParameterMode>PLAIN</changeSubjectParameterMode> + <commentTextParameterMode>BASE64</commentTextParameterMode> + <notificationLevel/> + <dynamicTriggerConfiguration>false</dynamicTriggerConfiguration> + <triggerConfigURL/> + <dynamicGerritProjects class="empty-list"/> + <triggerInformationAction/> + <triggerOnEvents/> + <buildStartMessage/> + <buildFailureMessage/> + <buildSuccessfulMessage/> + <buildUnstableMessage/> + <buildNotBuiltMessage/> + <buildUnsuccessfulFilepath/> + <customUrl/> + <serverName>__ANY__</serverName> + </com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritTrigger> + </triggers> +</project> diff --git a/tests/triggers/fixtures/gerrit024-no-name-and-email-ge-2.18.yaml b/tests/triggers/fixtures/gerrit024-no-name-and-email-ge-2.18.yaml new file mode 100644 index 00000000..cd08b8c9 --- /dev/null +++ b/tests/triggers/fixtures/gerrit024-no-name-and-email-ge-2.18.yaml @@ -0,0 +1,3 @@ +triggers: + - gerrit: + no-name-and-email: true diff --git a/tests/triggers/fixtures/gerrit025-readable-message-lt-2.18.plugins_info.yaml b/tests/triggers/fixtures/gerrit025-readable-message-lt-2.18.plugins_info.yaml new file mode 100644 index 00000000..a19595b4 --- /dev/null +++ b/tests/triggers/fixtures/gerrit025-readable-message-lt-2.18.plugins_info.yaml @@ -0,0 +1,3 @@ +- longName: 'Gerrit Trigger' + shortName: 'gerrit-trigger' + version: '2.17.0' diff --git a/tests/triggers/fixtures/gerrit025-readable-message-lt-2.18.xml b/tests/triggers/fixtures/gerrit025-readable-message-lt-2.18.xml new file mode 100644 index 00000000..c7af0d18 --- /dev/null +++ b/tests/triggers/fixtures/gerrit025-readable-message-lt-2.18.xml @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="utf-8"?> +<project> + <triggers class="vector"> + <com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritTrigger> + <spec/> + <gerritProjects/> + <skipVote> + <onSuccessful>false</onSuccessful> + <onFailed>false</onFailed> + <onUnstable>false</onUnstable> + <onNotBuilt>false</onNotBuilt> + </skipVote> + <silentMode>false</silentMode> + <silentStartMode>false</silentStartMode> + <escapeQuotes>true</escapeQuotes> + <dependencyJobsNames/> + <noNameAndEmailParameters>false</noNameAndEmailParameters> + <readableMessage>true</readableMessage> + <notificationLevel/> + <dynamicTriggerConfiguration>false</dynamicTriggerConfiguration> + <triggerConfigURL/> + <dynamicGerritProjects class="empty-list"/> + <triggerInformationAction/> + <triggerOnEvents/> + <buildStartMessage/> + <buildFailureMessage/> + <buildSuccessfulMessage/> + <buildUnstableMessage/> + <buildNotBuiltMessage/> + <buildUnsuccessfulFilepath/> + <customUrl/> + <serverName>__ANY__</serverName> + </com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritTrigger> + </triggers> +</project> diff --git a/tests/triggers/fixtures/gerrit025-readable-message-lt-2.18.yaml b/tests/triggers/fixtures/gerrit025-readable-message-lt-2.18.yaml new file mode 100644 index 00000000..6fb173e8 --- /dev/null +++ b/tests/triggers/fixtures/gerrit025-readable-message-lt-2.18.yaml @@ -0,0 +1,3 @@ +triggers: + - gerrit: + readable-message: true diff --git a/tests/triggers/fixtures/gerrit026-readable-message-ge-2.18.plugins_info.yaml b/tests/triggers/fixtures/gerrit026-readable-message-ge-2.18.plugins_info.yaml new file mode 100644 index 00000000..7515655f --- /dev/null +++ b/tests/triggers/fixtures/gerrit026-readable-message-ge-2.18.plugins_info.yaml @@ -0,0 +1,3 @@ +- longName: 'Gerrit Trigger' + shortName: 'gerrit-trigger' + version: '2.18.0' diff --git a/tests/triggers/fixtures/gerrit026-readable-message-ge-2.18.xml b/tests/triggers/fixtures/gerrit026-readable-message-ge-2.18.xml new file mode 100644 index 00000000..aca3e5b3 --- /dev/null +++ b/tests/triggers/fixtures/gerrit026-readable-message-ge-2.18.xml @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="utf-8"?> +<project> + <triggers class="vector"> + <com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritTrigger> + <spec/> + <gerritProjects/> + <skipVote> + <onSuccessful>false</onSuccessful> + <onFailed>false</onFailed> + <onUnstable>false</onUnstable> + <onNotBuilt>false</onNotBuilt> + </skipVote> + <silentMode>false</silentMode> + <silentStartMode>false</silentStartMode> + <escapeQuotes>true</escapeQuotes> + <dependencyJobsNames/> + <commitMessageParameterMode>PLAIN</commitMessageParameterMode> + <nameAndEmailParameterMode>PLAIN</nameAndEmailParameterMode> + <changeSubjectParameterMode>PLAIN</changeSubjectParameterMode> + <commentTextParameterMode>BASE64</commentTextParameterMode> + <notificationLevel/> + <dynamicTriggerConfiguration>false</dynamicTriggerConfiguration> + <triggerConfigURL/> + <dynamicGerritProjects class="empty-list"/> + <triggerInformationAction/> + <triggerOnEvents/> + <buildStartMessage/> + <buildFailureMessage/> + <buildSuccessfulMessage/> + <buildUnstableMessage/> + <buildNotBuiltMessage/> + <buildUnsuccessfulFilepath/> + <customUrl/> + <serverName>__ANY__</serverName> + </com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritTrigger> + </triggers> +</project> diff --git a/tests/triggers/fixtures/gerrit026-readable-message-ge-2.18.yaml b/tests/triggers/fixtures/gerrit026-readable-message-ge-2.18.yaml new file mode 100644 index 00000000..6fb173e8 --- /dev/null +++ b/tests/triggers/fixtures/gerrit026-readable-message-ge-2.18.yaml @@ -0,0 +1,3 @@ +triggers: + - gerrit: + readable-message: true diff --git a/tests/triggers/fixtures/gerrit027-trigger-for-unreviewed-patches.plugins_info.yaml b/tests/triggers/fixtures/gerrit027-trigger-for-unreviewed-patches.plugins_info.yaml new file mode 100644 index 00000000..c4e8764f --- /dev/null +++ b/tests/triggers/fixtures/gerrit027-trigger-for-unreviewed-patches.plugins_info.yaml @@ -0,0 +1,3 @@ +- longName: 'Gerrit Trigger' + shortName: 'gerrit-trigger' + version: '2.13.0' diff --git a/tests/triggers/fixtures/gerrit027-trigger-for-unreviewed-patches.xml b/tests/triggers/fixtures/gerrit027-trigger-for-unreviewed-patches.xml new file mode 100644 index 00000000..8b26014c --- /dev/null +++ b/tests/triggers/fixtures/gerrit027-trigger-for-unreviewed-patches.xml @@ -0,0 +1,36 @@ +<?xml version="1.0" encoding="utf-8"?> +<project> + <triggers class="vector"> + <com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritTrigger> + <spec/> + <gerritProjects/> + <skipVote> + <onSuccessful>false</onSuccessful> + <onFailed>false</onFailed> + <onUnstable>false</onUnstable> + <onNotBuilt>false</onNotBuilt> + </skipVote> + <silentMode>false</silentMode> + <silentStartMode>false</silentStartMode> + <escapeQuotes>true</escapeQuotes> + <dependencyJobsNames/> + <noNameAndEmailParameters>false</noNameAndEmailParameters> + <readableMessage>false</readableMessage> + <notificationLevel/> + <dynamicTriggerConfiguration>false</dynamicTriggerConfiguration> + <triggerConfigURL/> + <dynamicGerritProjects class="empty-list"/> + <triggerInformationAction/> + <allowTriggeringUnreviewedPatches>true</allowTriggeringUnreviewedPatches> + <triggerOnEvents/> + <buildStartMessage/> + <buildFailureMessage/> + <buildSuccessfulMessage/> + <buildUnstableMessage/> + <buildNotBuiltMessage/> + <buildUnsuccessfulFilepath/> + <customUrl/> + <serverName>__ANY__</serverName> + </com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritTrigger> + </triggers> +</project> diff --git a/tests/triggers/fixtures/gerrit027-trigger-for-unreviewed-patches.yaml b/tests/triggers/fixtures/gerrit027-trigger-for-unreviewed-patches.yaml new file mode 100644 index 00000000..4b1238ff --- /dev/null +++ b/tests/triggers/fixtures/gerrit027-trigger-for-unreviewed-patches.yaml @@ -0,0 +1,3 @@ +triggers: + - gerrit: + trigger-for-unreviewed-patches: true diff --git a/tests/triggers/fixtures/gerrit028-trigger-simple-triggers.xml b/tests/triggers/fixtures/gerrit028-trigger-simple-triggers.xml new file mode 100644 index 00000000..b5dfea0b --- /dev/null +++ b/tests/triggers/fixtures/gerrit028-trigger-simple-triggers.xml @@ -0,0 +1,64 @@ +<?xml version="1.0" encoding="utf-8"?> +<project> + <triggers class="vector"> + <com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritTrigger> + <spec/> + <gerritProjects/> + <skipVote> + <onSuccessful>false</onSuccessful> + <onFailed>false</onFailed> + <onUnstable>false</onUnstable> + <onNotBuilt>false</onNotBuilt> + </skipVote> + <silentMode>false</silentMode> + <silentStartMode>false</silentStartMode> + <escapeQuotes>true</escapeQuotes> + <dependencyJobsNames/> + <commitMessageParameterMode>BASE64</commitMessageParameterMode> + <nameAndEmailParameterMode>PLAIN</nameAndEmailParameterMode> + <changeSubjectParameterMode>PLAIN</changeSubjectParameterMode> + <commentTextParameterMode>BASE64</commentTextParameterMode> + <notificationLevel/> + <dynamicTriggerConfiguration>false</dynamicTriggerConfiguration> + <triggerConfigURL/> + <dynamicGerritProjects class="empty-list"/> + <triggerInformationAction/> + <triggerOnEvents> + <com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.events.PluginChangeAbandonedEvent/> + <com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.events.PluginChangeMergedEvent/> + <com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.events.PluginChangeRestoredEvent/> + <com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.events.PluginCommentAddedEvent> + <verdictCategory>Code-Review</verdictCategory> + <commentAddedTriggerApprovalValue>lorem</commentAddedTriggerApprovalValue> + </com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.events.PluginCommentAddedEvent> + <com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.events.PluginCommentAddedEvent> + <verdictCategory>Verified</verdictCategory> + <commentAddedTriggerApprovalValue>ipsum</commentAddedTriggerApprovalValue> + </com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.events.PluginCommentAddedEvent> + <com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.events.PluginCommentAddedContainsEvent> + <commentAddedCommentContains>dolor</commentAddedCommentContains> + </com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.events.PluginCommentAddedContainsEvent> + <com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.events.PluginDraftPublishedEvent/> + <com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.events.PluginPatchsetCreatedEvent> + <excludeDrafts>true</excludeDrafts> + <excludeTrivialRebase>false</excludeTrivialRebase> + <excludeNoCodeChange>true</excludeNoCodeChange> + <excludePrivateState>false</excludePrivateState> + <excludeWipState>true</excludeWipState> + </com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.events.PluginPatchsetCreatedEvent> + <com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.events.PluginPrivateStateChangedEvent/> + <com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.events.PluginRefUpdatedEvent/> + <com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.events.PluginTopicChangedEvent/> + <com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.events.PluginWipStateChangedEvent/> + </triggerOnEvents> + <buildStartMessage/> + <buildFailureMessage/> + <buildSuccessfulMessage/> + <buildUnstableMessage/> + <buildNotBuiltMessage/> + <buildUnsuccessfulFilepath/> + <customUrl/> + <serverName>__ANY__</serverName> + </com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritTrigger> + </triggers> +</project> diff --git a/tests/triggers/fixtures/gerrit028-trigger-simple-triggers.yaml b/tests/triggers/fixtures/gerrit028-trigger-simple-triggers.yaml new file mode 100644 index 00000000..0fd18c0a --- /dev/null +++ b/tests/triggers/fixtures/gerrit028-trigger-simple-triggers.yaml @@ -0,0 +1,25 @@ +triggers: + - gerrit: + trigger-on: + - change-abandoned-event + - change-merged-event + - change-restored-event + - comment-added-event: + approval-category: Code-Review + approval-value: lorem + - comment-added-event: + approval-category: Verified + approval-value: ipsum + - comment-added-contains-event: + comment-contains-value: dolor + - draft-published-event + - patchset-created-event: + exclude-drafts: true + exclude-no-code-change: true + exclude-private: false + exclude-trivial-rebase: false + exclude-wip: true + - private-state-changed-event + - ref-updated-event + - topic-changed-event + - wip-state-changed-event diff --git a/tests/yamlparser/fixtures/complete001.xml b/tests/yamlparser/fixtures/complete001.xml index 546fd5e6..ef15abeb 100644 --- a/tests/yamlparser/fixtures/complete001.xml +++ b/tests/yamlparser/fixtures/complete001.xml @@ -69,14 +69,16 @@ <silentMode>false</silentMode> <silentStartMode>false</silentStartMode> <escapeQuotes>true</escapeQuotes> - <noNameAndEmailParameters>false</noNameAndEmailParameters> - <readableMessage>false</readableMessage> <dependencyJobsNames/> + <commitMessageParameterMode>BASE64</commitMessageParameterMode> + <nameAndEmailParameterMode>PLAIN</nameAndEmailParameterMode> + <changeSubjectParameterMode>PLAIN</changeSubjectParameterMode> + <commentTextParameterMode>BASE64</commentTextParameterMode> <notificationLevel/> - <dynamicTriggerConfiguration>False</dynamicTriggerConfiguration> + <dynamicTriggerConfiguration>false</dynamicTriggerConfiguration> <triggerConfigURL/> + <dynamicGerritProjects class="empty-list"/> <triggerInformationAction/> - <allowTriggeringUnreviewedPatches>false</allowTriggeringUnreviewedPatches> <triggerOnEvents> <com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.events.PluginPatchsetCreatedEvent/> </triggerOnEvents> |