Skip to content

Commit 4bf8d76

Browse files
author
Michael Schlenker
committed
Allow serializing of patches for xml
Signed-off-by: Michael Schlenker <[email protected]>
1 parent 6c0c174 commit 4bf8d76

File tree

1 file changed

+24
-1
lines changed

1 file changed

+24
-1
lines changed

cyclonedx/output/xml.py

+24-1
Original file line numberDiff line numberDiff line change
@@ -473,9 +473,32 @@ def add_patch_element(patch: Patch) -> ElementTree.Element:
473473
diff_element.append(Xml._add_attached_text(attached_text=patch.diff.text))
474474
if patch.diff.url:
475475
ElementTree.SubElement(diff_element, 'url').text = str(patch.diff.url)
476-
476+
if patch.resolves:
477+
Xml._add_resolves_element(patch.resolves, patch_element)
477478
return patch_element
478479

480+
@staticmethod
481+
def _add_resolves_element(resolves: "SortedSet[IssueType]", parent_element: ElementTree.Element) -> None:
482+
resolves_element = ElementTree.SubElement(parent_element, 'resolves')
483+
for issue in resolves:
484+
issue_element = ElementTree.SubElement(resolves_element, 'issue', {'type': issue.type.value})
485+
if issue.id:
486+
ElementTree.SubElement(issue_element, 'id').text = issue.id
487+
if issue.name:
488+
ElementTree.SubElement(issue_element, 'name').text = issue.name
489+
if issue.description:
490+
ElementTree.SubElement(issue_element, 'description').text = issue.description
491+
if issue.source:
492+
source_element = ElementTree.SubElement(issue_element, 'source')
493+
if issue.source.name:
494+
ElementTree.SubElement(source_element, 'name').text = issue.source.name
495+
if issue.source.url:
496+
ElementTree.SubElement(source_element, 'url').text = str(issue.source.url)
497+
if issue.references:
498+
references_element = ElementTree.SubElement(issue_element, 'references')
499+
for reference in issue.references:
500+
ElementTree.SubElement(references_element, 'url').text = str(reference)
501+
479502
@staticmethod
480503
def _add_properties_element(properties: "SortedSet[Property]", parent_element: ElementTree.Element) -> None:
481504
properties_e = ElementTree.SubElement(parent_element, 'properties')

0 commit comments

Comments
 (0)