def parse_jira_data()

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