|
5 | 5 |
|
6 | 6 |
|
7 | 7 | def to_issue_dict(issue, include_comments=False, include_attachments=False, |
8 | | - include_customfields=False, include_components=False, include_subtasks=False): |
| 8 | + include_customfields=False, include_components=False, include_subtasks=False, |
| 9 | + include_links=False): |
9 | 10 | """ |
10 | 11 | :rtype: ``dict`` |
11 | 12 | """ |
@@ -34,7 +35,7 @@ def to_issue_dict(issue, include_comments=False, include_attachments=False, |
34 | 35 | 'summary': issue.fields.summary, |
35 | 36 | 'description': issue.fields.description, |
36 | 37 | 'status': issue.fields.status.name, |
37 | | - 'priority': issue.fields.priority.name, |
| 38 | + 'priority': issue.fields.priority.name if hasattr(issue.fields, 'priority') else None, |
38 | 39 | 'resolution': resolution, |
39 | 40 | 'labels': issue.fields.labels if hasattr(issue.fields, 'labels') else [], |
40 | 41 | 'reporter': reporter, |
@@ -71,6 +72,9 @@ def to_issue_dict(issue, include_comments=False, include_attachments=False, |
71 | 72 | if include_subtasks: |
72 | 73 | result['subtasks'] = [to_subtask_dict(s) for s in issue.fields.subtasks] |
73 | 74 |
|
| 75 | + if include_links: |
| 76 | + result['links'] = [to_links_dict(i) for i in issue.fields.issuelinks] |
| 77 | + |
74 | 78 | return result |
75 | 79 |
|
76 | 80 |
|
@@ -121,6 +125,23 @@ def to_attachment_dict(attachment): |
121 | 125 | return result |
122 | 126 |
|
123 | 127 |
|
| 128 | +def to_links_dict(issue): |
| 129 | + """ |
| 130 | + :rtype: ``dict`` |
| 131 | + """ |
| 132 | + result = { |
| 133 | + 'id': issue.raw.get('id'), |
| 134 | + 'key': issue.raw.get('outwardIssue', issue.raw.get('inwardIssue')).get('key'), |
| 135 | + 'summary': issue.raw.get('outwardIssue', issue.raw.get('inwardIssue')) |
| 136 | + .get('fields').get('summary'), |
| 137 | + 'status': issue.raw.get('outwardIssue', issue.raw.get('inwardIssue')).get('fields') |
| 138 | + .get('status').get('name'), |
| 139 | + 'type': issue.raw.get('type').get('outward') if issue.raw.get('outwardIssue') |
| 140 | + else issue.raw.get('type').get('inward'), |
| 141 | + } |
| 142 | + return result |
| 143 | + |
| 144 | + |
124 | 145 | def fmt_field_value(field, value): |
125 | 146 | """ |
126 | 147 | Returns specific field values in formats required by JIRA |
|
0 commit comments