|
112 | 112 | class Issue(object):
|
113 | 113 | """ Jira issue investigator """
|
114 | 114 |
|
115 |
| - def __init__(self, issue=None, prefix=None): |
| 115 | + def __init__(self, issue=None, parent=None): |
116 | 116 | """ Initialize issue """
|
117 | 117 | if issue is None:
|
118 | 118 | return
|
| 119 | + self.parent = parent |
| 120 | + self.options = parent.options |
119 | 121 | self.issue = issue
|
120 | 122 | self.key = issue["key"]
|
121 | 123 | self.summary = issue["fields"]["summary"]
|
122 | 124 | self.comments = issue["fields"]["comment"]["comments"]
|
123 | 125 | matched = re.match(r"(\w+)-(\d+)", self.key)
|
124 | 126 | self.identifier = matched.groups()[1]
|
125 |
| - if prefix is not None: |
126 |
| - self.prefix = prefix |
| 127 | + if parent.prefix is not None: |
| 128 | + self.prefix = parent.prefix |
127 | 129 | else:
|
128 | 130 | self.prefix = matched.groups()[0]
|
129 | 131 |
|
130 | 132 | def __str__(self):
|
131 | 133 | """ Jira key and summary for displaying """
|
| 134 | + if self.options.format == "md": |
| 135 | + return "[{0}-{1}]({2}) - {3}".format( |
| 136 | + self.prefix, |
| 137 | + self.identifier, |
| 138 | + f"{self.parent.url}/browse/{self.issue['key']}", |
| 139 | + self.summary |
| 140 | + ) |
132 | 141 | return "{0}-{1} - {2}".format(
|
133 | 142 | self.prefix, self.identifier, self.summary)
|
134 | 143 |
|
@@ -168,7 +177,10 @@ def search(query, stats):
|
168 | 177 | if len(issues) >= data["total"]:
|
169 | 178 | break
|
170 | 179 | # Return the list of issue objects
|
171 |
| - return [Issue(issue, prefix=stats.parent.prefix) for issue in issues] |
| 180 | + return [ |
| 181 | + Issue(issue, parent=stats.parent) |
| 182 | + for issue in issues |
| 183 | + ] |
172 | 184 |
|
173 | 185 | def updated(self, user, options):
|
174 | 186 | """ True if the issue was commented by given user """
|
|
0 commit comments