)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":2218,"name":"Adam Young","email":"adam@younglogic.com","username":"ayoung"},"change_message_id":"bfb0445c3a39dc2ea56d09b1df7667c97c440254","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Delegation parent discovery function"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Assingment manager function to discover best matching delegation candidate"},{"line_number":10,"context_line":"for given delegation scope to be used in delegation chaining."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Ie11f32b8a87e9cbbb26c613d972ec09ba88ff99f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"3aaa91ec_f1b99a16","line":9,"updated":"2016-06-23 15:57:06.000000000","message":"Typo","commit_id":"71858f8f0e3b20b60fd5220e8b1d9b4272b195f2"}],"keystone/assignment/core.py":[{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"f983636851d6b3a71a1b6030c6d7b41f7a8b1cc8","unresolved":false,"context_lines":[{"line_number":17,"context_line":"import copy"},{"line_number":18,"context_line":"import functools"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from oslo_context import context as oslo_context"},{"line_number":21,"context_line":"from oslo_cache import core as oslo_cache"},{"line_number":22,"context_line":"from oslo_config import cfg"},{"line_number":23,"context_line":"from oslo_log import log"}],"source_content_type":"text/x-python","patch_set":5,"id":"3aaa91ec_3981b64b","line":20,"range":{"start_line":20,"start_character":0,"end_line":20,"end_character":48},"updated":"2016-06-22 02:03:17.000000000","message":"this is not used","commit_id":"0fba071afae6c0b8eb695ad054af588f85db4d36"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"f983636851d6b3a71a1b6030c6d7b41f7a8b1cc8","unresolved":false,"context_lines":[{"line_number":127,"context_line":"             -- project, the requested project is inherited from"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"        \"\"\""},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"        # Gather delegation candidates:"},{"line_number":132,"context_line":"        # - filtered by role_id"},{"line_number":133,"context_line":"        # - not filtered by project inheritance (both inherited"}],"source_content_type":"text/x-python","patch_set":5,"id":"3aaa91ec_79933ea4","line":130,"updated":"2016-06-22 02:03:17.000000000","message":"D202  No blank lines allowed after function docstring","commit_id":"0fba071afae6c0b8eb695ad054af588f85db4d36"}]}
