)]}'
{"zuul/manager/__init__.py":[{"author":{"_account_id":7069,"name":"Joshua Hesketh","email":"josh@nitrotech.org","username":"jhesketh"},"change_message_id":"b1fa10a220b57852382e47a559fc8bff794a3ac5","unresolved":false,"context_lines":[{"line_number":1046,"context_line":"            if not (succeeded and merged):"},{"line_number":1047,"context_line":"                if not item.job_graph or not item.job_graph.jobs:"},{"line_number":1048,"context_line":"                    error_reason \u003d \"didn\u0027t had any job\""},{"line_number":1049,"context_line":"                elif succeeded:"},{"line_number":1050,"context_line":"                    error_reason \u003d \"failed to merge\""},{"line_number":1051,"context_line":"                else:"},{"line_number":1052,"context_line":"                    error_reason \u003d \"failed tests\""}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_ff8e9530","line":1049,"range":{"start_line":1049,"start_character":21,"end_line":1049,"end_character":30},"updated":"2019-07-26 01:45:48.000000000","message":"(nit) this is slightly confusing, it would be clearer to use `not merged`","commit_id":"1a6304eaabd334987e548b7b954bda50ecd9af6f"},{"author":{"_account_id":9311,"name":"Tristan Cacqueray","email":"tdecacqu@redhat.com","username":"tristanC"},"change_message_id":"ca0a5bbc4cdb6924f098cc322450593625a0ccdc","unresolved":false,"context_lines":[{"line_number":1046,"context_line":"            if not (succeeded and merged):"},{"line_number":1047,"context_line":"                if not item.job_graph or not item.job_graph.jobs:"},{"line_number":1048,"context_line":"                    error_reason \u003d \"didn\u0027t had any job\""},{"line_number":1049,"context_line":"                elif succeeded:"},{"line_number":1050,"context_line":"                    error_reason \u003d \"failed to merge\""},{"line_number":1051,"context_line":"                else:"},{"line_number":1052,"context_line":"                    error_reason \u003d \"failed tests\""}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_31a1bc47","line":1049,"range":{"start_line":1049,"start_character":21,"end_line":1049,"end_character":30},"in_reply_to":"7faddb67_ff8e9530","updated":"2019-07-26 12:31:30.000000000","message":"Done","commit_id":"1a6304eaabd334987e548b7b954bda50ecd9af6f"},{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"fad7819e1d95f7345279af0f4cdf3e7e74e5e186","unresolved":false,"context_lines":[{"line_number":1041,"context_line":"            if merged:"},{"line_number":1042,"context_line":"                merged \u003d source.isMerged(item.change, item.change.branch)"},{"line_number":1043,"context_line":"            log.info(\"Reported change %s status: all-succeeded: %s, \""},{"line_number":1044,"context_line":"                     \"merged: %s\", item.change, succeeded, merged)"},{"line_number":1045,"context_line":"            change_queue \u003d item.queue"},{"line_number":1046,"context_line":"            if not (succeeded and merged):"},{"line_number":1047,"context_line":"                if not item.job_graph or not item.job_graph.jobs:"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_3a007001","line":1044,"updated":"2019-07-31 15:39:22.000000000","message":"This line already tells you if it succeeded or merged.  The only info you add below that\u0027s missing here is the empty job graph.  Why not add that to this line?","commit_id":"5c196e1bcd318bb912e2a152598a783f6573eca9"},{"author":{"_account_id":9311,"name":"Tristan Cacqueray","email":"tdecacqu@redhat.com","username":"tristanC"},"change_message_id":"0343b853fab8d71f2ffec34aaa4bf67666530bd3","unresolved":false,"context_lines":[{"line_number":1041,"context_line":"            if merged:"},{"line_number":1042,"context_line":"                merged \u003d source.isMerged(item.change, item.change.branch)"},{"line_number":1043,"context_line":"            log.info(\"Reported change %s status: all-succeeded: %s, \""},{"line_number":1044,"context_line":"                     \"merged: %s\", item.change, succeeded, merged)"},{"line_number":1045,"context_line":"            change_queue \u003d item.queue"},{"line_number":1046,"context_line":"            if not (succeeded and merged):"},{"line_number":1047,"context_line":"                if not item.job_graph or not item.job_graph.jobs:"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_75e1199b","line":1044,"in_reply_to":"7faddb67_3a007001","updated":"2019-07-31 17:01:23.000000000","message":"It is not obvious this message is meant to help understand why a change doesn\u0027t get merged. The only tell was the MergeFailure exception being logged as \"in gate\u003e is a failing item because [\u0027it did not merge\u0027]\".\n\nCould this info log be moved to both clauses of the if below, e.g.:\n\n  if not (succeeded and merged):\n    log.info(\"Reported change %s didn\u0027t get merged, status: ..., reason: $error_reason\")\n  else:\n    log.info(\"Reported change %s merged, status: ...\")","commit_id":"5c196e1bcd318bb912e2a152598a783f6573eca9"},{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"fad7819e1d95f7345279af0f4cdf3e7e74e5e186","unresolved":false,"context_lines":[{"line_number":1051,"context_line":"                else:"},{"line_number":1052,"context_line":"                    error_reason \u003d \"failed tests\""},{"line_number":1053,"context_line":"                log.error(\"Reported change %s %s.\","},{"line_number":1054,"context_line":"                          item.change, error_reason)"},{"line_number":1055,"context_line":"                change_queue.decreaseWindowSize()"},{"line_number":1056,"context_line":"                log.debug(\"%s window size decreased to %s\","},{"line_number":1057,"context_line":"                          change_queue, change_queue.window)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_5a052c10","line":1054,"updated":"2019-07-31 15:39:22.000000000","message":"It\u0027s not an error for a change to fail tests; this should be debug.  We already reported the result as info above.","commit_id":"5c196e1bcd318bb912e2a152598a783f6573eca9"},{"author":{"_account_id":9311,"name":"Tristan Cacqueray","email":"tdecacqu@redhat.com","username":"tristanC"},"change_message_id":"0343b853fab8d71f2ffec34aaa4bf67666530bd3","unresolved":false,"context_lines":[{"line_number":1051,"context_line":"                else:"},{"line_number":1052,"context_line":"                    error_reason \u003d \"failed tests\""},{"line_number":1053,"context_line":"                log.error(\"Reported change %s %s.\","},{"line_number":1054,"context_line":"                          item.change, error_reason)"},{"line_number":1055,"context_line":"                change_queue.decreaseWindowSize()"},{"line_number":1056,"context_line":"                log.debug(\"%s window size decreased to %s\","},{"line_number":1057,"context_line":"                          change_queue, change_queue.window)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_559bbd16","line":1054,"in_reply_to":"7faddb67_5a052c10","updated":"2019-07-31 17:01:23.000000000","message":"It\u0027s often very difficult to diagnose Zuul behaviors. How could the system somehow warn the users about mistakes such as a gate pipeline missing jobs?","commit_id":"5c196e1bcd318bb912e2a152598a783f6573eca9"},{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"a18bd2e63e611af5b14c551f3ed64db18699c915","unresolved":false,"context_lines":[{"line_number":1054,"context_line":"            change_queue \u003d item.queue"},{"line_number":1055,"context_line":"            if not (succeeded and merged):"},{"line_number":1056,"context_line":"                if not item.job_graph or not item.job_graph.jobs:"},{"line_number":1057,"context_line":"                    error_reason \u003d \"didn\u0027t had any job\""},{"line_number":1058,"context_line":"                elif not merged:"},{"line_number":1059,"context_line":"                    error_reason \u003d \"failed to merge\""},{"line_number":1060,"context_line":"                else:"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_337e64e4","line":1057,"updated":"2019-08-15 16:14:03.000000000","message":"did not have any jobs configured","commit_id":"0ebbcf98aa1fe9bf0a8745055ca8e696ab96a0f7"},{"author":{"_account_id":9311,"name":"Tristan Cacqueray","email":"tdecacqu@redhat.com","username":"tristanC"},"change_message_id":"3ad57a59eaf856de1d5668f5fbd304cdb385843c","unresolved":false,"context_lines":[{"line_number":1054,"context_line":"            change_queue \u003d item.queue"},{"line_number":1055,"context_line":"            if not (succeeded and merged):"},{"line_number":1056,"context_line":"                if not item.job_graph or not item.job_graph.jobs:"},{"line_number":1057,"context_line":"                    error_reason \u003d \"didn\u0027t had any job\""},{"line_number":1058,"context_line":"                elif not merged:"},{"line_number":1059,"context_line":"                    error_reason \u003d \"failed to merge\""},{"line_number":1060,"context_line":"                else:"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_196029a5","line":1057,"in_reply_to":"7faddb67_337e64e4","updated":"2019-08-15 17:27:47.000000000","message":"Done","commit_id":"0ebbcf98aa1fe9bf0a8745055ca8e696ab96a0f7"},{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"a18bd2e63e611af5b14c551f3ed64db18699c915","unresolved":false,"context_lines":[{"line_number":1059,"context_line":"                    error_reason \u003d \"failed to merge\""},{"line_number":1060,"context_line":"                else:"},{"line_number":1061,"context_line":"                    error_reason \u003d \"failed tests\""},{"line_number":1062,"context_line":"                log.info(\"Reported change %s didn\u0027t merged because it %s,\""},{"line_number":1063,"context_line":"                         \"status: all-succeeded: %s, merged: %s\","},{"line_number":1064,"context_line":"                         item.change, error_reason, succeeded, merged)"},{"line_number":1065,"context_line":"                change_queue.decreaseWindowSize()"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_d37ef0e1","line":1062,"updated":"2019-08-15 16:14:03.000000000","message":"s/didn\u0027t merged/did not merge/","commit_id":"0ebbcf98aa1fe9bf0a8745055ca8e696ab96a0f7"},{"author":{"_account_id":9311,"name":"Tristan Cacqueray","email":"tdecacqu@redhat.com","username":"tristanC"},"change_message_id":"3ad57a59eaf856de1d5668f5fbd304cdb385843c","unresolved":false,"context_lines":[{"line_number":1059,"context_line":"                    error_reason \u003d \"failed to merge\""},{"line_number":1060,"context_line":"                else:"},{"line_number":1061,"context_line":"                    error_reason \u003d \"failed tests\""},{"line_number":1062,"context_line":"                log.info(\"Reported change %s didn\u0027t merged because it %s,\""},{"line_number":1063,"context_line":"                         \"status: all-succeeded: %s, merged: %s\","},{"line_number":1064,"context_line":"                         item.change, error_reason, succeeded, merged)"},{"line_number":1065,"context_line":"                change_queue.decreaseWindowSize()"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_794d9d39","line":1062,"in_reply_to":"7faddb67_d37ef0e1","updated":"2019-08-15 17:27:47.000000000","message":"Done","commit_id":"0ebbcf98aa1fe9bf0a8745055ca8e696ab96a0f7"}]}
