diff --git a/jenkins_jobs/modules/properties.py b/jenkins_jobs/modules/properties.py index c53c5af59..48aaa2a47 100644 --- a/jenkins_jobs/modules/properties.py +++ b/jenkins_jobs/modules/properties.py @@ -1054,6 +1054,33 @@ def build_discarder(registry, xml_parent, data): helpers.convert_mapping_to_xml(strategy, data, mappings, fail_required=True) +def build_failure_analyzer(registry, xml_parent, data): + """yaml: build-failure-analyzer + + Controls failure cause analysis for builds. + Requires the Jenkins :jenkins-plugins:`Build Failure Analyzer Plugin + `. + + Example: + + .. literalinclude:: + /../../tests/properties/fixtures/build-failure-analyzer-001.yaml + :language: yaml + + .. literalinclude:: + /../../tests/properties/fixtures/build-failure-analyzer-003.yaml + :language: yaml + """ + base_sub = XML.SubElement( + xml_parent, "com.sonyericsson.jenkins.plugins.bfa.model.ScannerJobProperty" + ) + + mappings = [ + ("disabled", "doNotScan", False), + ] + helpers.convert_mapping_to_xml(base_sub, data, mappings, fail_required=True) + + def slave_prerequisites(registry, xml_parent, data): """yaml: slave-prerequisites This plugin allows you to check prerequisites on slave before diff --git a/tests/properties/fixtures/build-failure-analyzer-001.xml b/tests/properties/fixtures/build-failure-analyzer-001.xml new file mode 100644 index 000000000..1fd4735f4 --- /dev/null +++ b/tests/properties/fixtures/build-failure-analyzer-001.xml @@ -0,0 +1,8 @@ + + + + + false + + + diff --git a/tests/properties/fixtures/build-failure-analyzer-001.yaml b/tests/properties/fixtures/build-failure-analyzer-001.yaml new file mode 100644 index 000000000..48cfe1c10 --- /dev/null +++ b/tests/properties/fixtures/build-failure-analyzer-001.yaml @@ -0,0 +1,2 @@ +properties: + - build-failure-analyzer diff --git a/tests/properties/fixtures/build-failure-analyzer-002.xml b/tests/properties/fixtures/build-failure-analyzer-002.xml new file mode 100644 index 000000000..1fd4735f4 --- /dev/null +++ b/tests/properties/fixtures/build-failure-analyzer-002.xml @@ -0,0 +1,8 @@ + + + + + false + + + diff --git a/tests/properties/fixtures/build-failure-analyzer-002.yaml b/tests/properties/fixtures/build-failure-analyzer-002.yaml new file mode 100644 index 000000000..d0f9f2fd8 --- /dev/null +++ b/tests/properties/fixtures/build-failure-analyzer-002.yaml @@ -0,0 +1,3 @@ +properties: + - build-failure-analyzer: + disabled: false diff --git a/tests/properties/fixtures/build-failure-analyzer-003.xml b/tests/properties/fixtures/build-failure-analyzer-003.xml new file mode 100644 index 000000000..ce7d0c87f --- /dev/null +++ b/tests/properties/fixtures/build-failure-analyzer-003.xml @@ -0,0 +1,8 @@ + + + + + true + + + diff --git a/tests/properties/fixtures/build-failure-analyzer-003.yaml b/tests/properties/fixtures/build-failure-analyzer-003.yaml new file mode 100644 index 000000000..d1fd7d8ed --- /dev/null +++ b/tests/properties/fixtures/build-failure-analyzer-003.yaml @@ -0,0 +1,3 @@ +properties: + - build-failure-analyzer: + disabled: true