)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"7ae3188994056c180bda7da92b209d635ac916ab","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     zhu.fanglei \u003czhu.fanglei@zte.com.cn\u003e"},{"line_number":5,"context_line":"CommitDate: 2018-11-20 09:28:57 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add missing ws seperator between words"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This is to add missing ws seperator between words, usually"},{"line_number":10,"context_line":"in log messages."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3f79a3b5_d48138a3","line":7,"range":{"start_line":7,"start_character":15,"end_line":7,"end_character":24},"updated":"2018-11-20 01:47:36.000000000","message":"s/seperator/separator/","commit_id":"3400b084a386b8bd3b16eb823da3aa8fa44dbd8c"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"7ae3188994056c180bda7da92b209d635ac916ab","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add missing ws seperator between words"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This is to add missing ws seperator between words, usually"},{"line_number":10,"context_line":"in log messages."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Ifdd09122d38ca67e797a1375f763ed7589dbb20f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3f79a3b5_749144f6","line":9,"range":{"start_line":9,"start_character":26,"end_line":9,"end_character":35},"updated":"2018-11-20 01:47:36.000000000","message":"ditto","commit_id":"3400b084a386b8bd3b16eb823da3aa8fa44dbd8c"}],"ironic/drivers/modules/console_utils.py":[{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"42fb1564d80b6401f9b3781c8cac856fc155ef35","unresolved":false,"context_lines":[{"line_number":218,"context_line":""},{"line_number":219,"context_line":"        if (time.time() \u003e expiration):"},{"line_number":220,"context_line":"            locals[\u0027errstr\u0027] \u003d _(\"Timeout while waiting for console \""},{"line_number":221,"context_line":"                                 \"subprocess to start for node %s.\") %"},{"line_number":222,"context_line":"                                 node_uuid"},{"line_number":223,"context_line":"            LOG.warning(locals[\u0027errstr\u0027])"},{"line_number":224,"context_line":"            raise loopingcall.LoopingCallDone()"},{"line_number":225,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_d74cec98","line":222,"range":{"start_line":221,"start_character":68,"end_line":222,"end_character":42},"updated":"2018-11-19 09:45:30.000000000","message":"this is the offending line causes jobs failure","commit_id":"31314fded54943b325ef16c840192557f018467e"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"e75cfdb5d197ae335bba0abfa6134eb6c10c61ec","unresolved":false,"context_lines":[{"line_number":218,"context_line":""},{"line_number":219,"context_line":"        if (time.time() \u003e expiration):"},{"line_number":220,"context_line":"            locals[\u0027errstr\u0027] \u003d _(\"Timeout while waiting for console \""},{"line_number":221,"context_line":"                                 \"subprocess to start for node %s.\") %"},{"line_number":222,"context_line":"                                 node_uuid"},{"line_number":223,"context_line":"            LOG.warning(locals[\u0027errstr\u0027])"},{"line_number":224,"context_line":"            raise loopingcall.LoopingCallDone()"},{"line_number":225,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_c228ac80","line":222,"range":{"start_line":221,"start_character":68,"end_line":222,"end_character":42},"in_reply_to":"3f79a3b5_d74cec98","updated":"2018-11-19 09:52:29.000000000","message":"Thanks, just fixed it","commit_id":"31314fded54943b325ef16c840192557f018467e"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"2c57a2acae8b5282ff54ef62e13c2318c1389e8a","unresolved":false,"context_lines":[{"line_number":217,"context_line":"                raise loopingcall.LoopingCallDone()"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"        if (time.time() \u003e expiration):"},{"line_number":220,"context_line":"            locals[\u0027errstr\u0027] \u003d _(\"Timeout while waiting for console \""},{"line_number":221,"context_line":"                                 \"subprocess to start for node %s.\") %"},{"line_number":222,"context_line":"                                 node_uuid"},{"line_number":223,"context_line":"            LOG.warning(locals[\u0027errstr\u0027])"},{"line_number":224,"context_line":"            raise loopingcall.LoopingCallDone()"},{"line_number":225,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_223960a1","line":222,"range":{"start_line":220,"start_character":31,"end_line":222,"end_character":42},"updated":"2018-11-19 10:03:14.000000000","message":"Needs enclosing parentheses.","commit_id":"4f2cdf0aee82e98162f97ce5cda23a44e59bf15d"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"2c57a2acae8b5282ff54ef62e13c2318c1389e8a","unresolved":false,"context_lines":[{"line_number":344,"context_line":""},{"line_number":345,"context_line":"        if time.time() \u003e expiration:"},{"line_number":346,"context_line":"            wait_state[\u0027errstr\u0027] \u003d (_(\"Timeout while waiting for console \""},{"line_number":347,"context_line":"                                      \"subprocess to start for node %s.\") % \\"},{"line_number":348,"context_line":"                                    node_uuid)"},{"line_number":349,"context_line":"            LOG.error(wait_state[\u0027errstr\u0027])"},{"line_number":350,"context_line":"            raise loopingcall.LoopingCallDone()"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_02b9c415","line":347,"range":{"start_line":347,"start_character":75,"end_line":347,"end_character":77},"updated":"2018-11-19 10:03:14.000000000","message":"I don\u0027t think this is required","commit_id":"4f2cdf0aee82e98162f97ce5cda23a44e59bf15d"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"7ae3188994056c180bda7da92b209d635ac916ab","unresolved":false,"context_lines":[{"line_number":218,"context_line":""},{"line_number":219,"context_line":"        if (time.time() \u003e expiration):"},{"line_number":220,"context_line":"            locals[\u0027errstr\u0027] \u003d (_(\"Timeout while waiting for console \""},{"line_number":221,"context_line":"                                 \"subprocess to start for node %s.\") %"},{"line_number":222,"context_line":"                                 node_uuid)"},{"line_number":223,"context_line":"            LOG.warning(locals[\u0027errstr\u0027])"},{"line_number":224,"context_line":"            raise loopingcall.LoopingCallDone()"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_548e88d7","line":221,"range":{"start_line":221,"start_character":33,"end_line":221,"end_character":34},"updated":"2018-11-20 01:47:36.000000000","message":"this violates pep8..","commit_id":"3400b084a386b8bd3b16eb823da3aa8fa44dbd8c"}]}
