in precommit/src/main/python/jenkins-admin.py [0:0]
def parse_jira_data(filename):
""" returns a map of (project, issue) => attachment id """
tree = ElementTree.parse(filename)
root = tree.getroot()
jirapattern = re.compile(r'([A-Z]+)\-([0-9]+)')
result = {}
for item in root.findall('./channel/item'):
jirakey = item.find('key')
if jirakey is None:
continue
jiraissue = jirakey.text
matcher = jirapattern.match(jiraissue)
if not matcher:
continue
jiraissue = (matcher.group(1), matcher.group(2))
attachmentids = []
for jiraattachment in item.findall('./attachments/attachment'):
attachmentid = jiraattachment.get('id')
try:
attachmentids.append(int(attachmentid))
except ValueError:
pass
if attachmentids:
attachmentids.sort()
result[jiraissue] = attachmentids[-1]
return result