)]}'
{"bugs-fixed-since.py":[{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"2a30a5404aa1375358aeb3c071f32d95d371feb9","unresolved":false,"context_lines":[{"line_number":135,"context_line":"        # collect every bug number mentioned in the message"},{"line_number":136,"context_line":"        for match in re.finditer(BUG_PATTERN, commit.message):"},{"line_number":137,"context_line":"            bugs.add(match.group(\u0027bugnum\u0027))"},{"line_number":138,"context_line":"        if (args.include_storyboard):"},{"line_number":139,"context_line":"            for match in re.finditer(STORYBOARD_PATTERN, commit.message):"},{"line_number":140,"context_line":"                bugs.add(\u0027storyboard:\u0027 + match.group(\u0027storynum\u0027))"},{"line_number":141,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7f96bb07_3c55dfc6","line":138,"range":{"start_line":138,"start_character":11,"end_line":138,"end_character":12},"updated":"2018-01-15 18:28:44.000000000","message":"those braces","commit_id":"55fe64049ef9c56db7e37bd942896b29a2d17a47"},{"author":{"_account_id":6088,"name":"Emmet Hikory","email":"persia@shipstone.jp","username":"persia"},"change_message_id":"a4bc0529f5d8c78073715e26fee474f4eca6fecb","unresolved":false,"context_lines":[{"line_number":137,"context_line":"            bugs.add(match.group(\u0027bugnum\u0027))"},{"line_number":138,"context_line":"        if args.include_storyboard:"},{"line_number":139,"context_line":"            for match in re.finditer(STORYBOARD_PATTERN, commit.message):"},{"line_number":140,"context_line":"                bugs.add(\u0027storyboard:\u0027 + match.group(\u0027storynum\u0027))"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"    for bug in bugs:"},{"line_number":143,"context_line":"        print(bug)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_42d939f2","line":140,"range":{"start_line":140,"start_character":16,"end_line":140,"end_character":65},"updated":"2018-01-20 16:24:30.000000000","message":"Late comment, but it may be worth noting that in many cases, a story will have multiple tasks, possibly in the same project.  A commit referencing a story does not necessarily mean the goals of the story are complete, even for a single project.  This is a change from launchpad behaviour, where Bug: #nnn would mean that a given bug was closed for a given project, as launchpad had a limitation of one task per project per bug.","commit_id":"ebe10351b9f870038c748e3aef74df57d1d39aaa"},{"author":{"_account_id":21798,"name":"Bernard Cafarelli","email":"bcafarel@redhat.com","username":"bcafarel"},"change_message_id":"49107ac79d36a1e48c2aea81b91d139b88232eae","unresolved":false,"context_lines":[{"line_number":137,"context_line":"            bugs.add(match.group(\u0027bugnum\u0027))"},{"line_number":138,"context_line":"        if args.include_storyboard:"},{"line_number":139,"context_line":"            for match in re.finditer(STORYBOARD_PATTERN, commit.message):"},{"line_number":140,"context_line":"                bugs.add(\u0027storyboard:\u0027 + match.group(\u0027storynum\u0027))"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"    for bug in bugs:"},{"line_number":143,"context_line":"        print(bug)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_9358e456","line":140,"range":{"start_line":140,"start_character":16,"end_line":140,"end_character":65},"in_reply_to":"7f96bb07_42d939f2","updated":"2018-01-22 09:35:03.000000000","message":"Indeed, this is only to get a basic list of mentioned stories from git, further processing is needed to get a good list: some ideas in https://review.openstack.org/#/c/534808/\n\nIn a similar way for Launchpad this script catches all *-Bug, so some bugs listed may only have a partial fix.","commit_id":"ebe10351b9f870038c748e3aef74df57d1d39aaa"}]}
