)]}'
{"tests/base.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"21cfda63ae05abb63a33d19eb9092d45cde051f1","unresolved":false,"context_lines":[{"line_number":941,"context_line":"        self.waiting_review \u003d False"},{"line_number":942,"context_line":""},{"line_number":943,"context_line":""},{"line_number":944,"context_line":"    def addFakeChecker(self, **kw):"},{"line_number":945,"context_line":"        self.fake_checkers.append(kw)"},{"line_number":946,"context_line":""},{"line_number":947,"context_line":"    def addFakeChange(self, project, branch, subject, status\u003d\u0027NEW\u0027,"}],"source_content_type":"text/x-python","patch_set":25,"id":"9f560f44_3873f350","line":944,"updated":"2020-09-29 14:55:47.000000000","message":"linters: E303 too many blank lines (2)","commit_id":"e3a4fdc17902e48cac406560d80e57e06ab25cf8"}],"zuul/connection/__init__.py":[{"author":{"_account_id":16068,"name":"Tobias Henkel","email":"tobias.henkel@bmw.de","username":"tobias.henkel"},"change_message_id":"68a27400f0a19400b7e92248f947b5bd1056ec64","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    into. For example, a trigger will likely require some kind of query method"},{"line_number":38,"context_line":"    while a reporter may need a review method.\"\"\""},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    log \u003d logging.getLogger(\"zuul.BaseConnection\")"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    def __init__(self, driver, connection_name, connection_config):"},{"line_number":43,"context_line":"        # connection_name is the name given to this connection in zuul.ini"}],"source_content_type":"text/x-python","patch_set":23,"id":"9f560f44_1980ecf6","line":40,"updated":"2020-09-25 08:32:06.000000000","message":"Note to reviewers: This is a drive by fix since DefaultConnection has no logger otherwise.","commit_id":"94309d7c76801e577819dad93b590a3bc5addc9a"},{"author":{"_account_id":16068,"name":"Tobias Henkel","email":"tobias.henkel@bmw.de","username":"tobias.henkel"},"change_message_id":"68a27400f0a19400b7e92248f947b5bd1056ec64","unresolved":false,"context_lines":[{"line_number":78,"context_line":"                        connection\u003dself.connection_name,"},{"line_number":79,"context_line":"                        event\u003devent.type))"},{"line_number":80,"context_line":"        except Exception:"},{"line_number":81,"context_line":"            log.exception(\"Exception reporting event stats\")"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    def onLoad(self):"},{"line_number":84,"context_line":"        # We only need the reporter queue and thread if this driver supports"}],"source_content_type":"text/x-python","patch_set":23,"id":"9f560f44_d9b794d7","line":81,"updated":"2020-09-25 08:32:06.000000000","message":"This is a drive by log annotation fix.","commit_id":"94309d7c76801e577819dad93b590a3bc5addc9a"}],"zuul/driver/mqtt/mqttreporter.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"803fec2dc2dd31ed5c72b50775799d42d9e5b3ba","unresolved":false,"context_lines":[{"line_number":72,"context_line":"                        \u0027end_time\u0027: build.end_time,"},{"line_number":73,"context_line":"                        \u0027execute_time\u0027: build.execute_time,"},{"line_number":74,"context_line":"                        \u0027log_url\u0027: build.log_url,"},{"line_number":75,"context_line":"                    \u0027web_url\u0027: web_url,"},{"line_number":76,"context_line":"                        \u0027result\u0027: result,"},{"line_number":77,"context_line":"                        \u0027dependencies\u0027: [j.name for j in job.dependencies],"},{"line_number":78,"context_line":"                    })"}],"source_content_type":"text/x-python","patch_set":10,"id":"9f560f44_24c0a97b","line":75,"updated":"2020-07-30 17:12:55.000000000","message":"linters: E122 continuation line missing indentation or outdented","commit_id":"d877da9e69c69bc53242b95698ca176901d01b0e"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"0888fcad9eceac3c104ff2040c5d06c07c510725","unresolved":false,"context_lines":[{"line_number":72,"context_line":"                        \u0027end_time\u0027: build.end_time,"},{"line_number":73,"context_line":"                        \u0027execute_time\u0027: build.execute_time,"},{"line_number":74,"context_line":"                        \u0027log_url\u0027: build.log_url,"},{"line_number":75,"context_line":"                    \u0027web_url\u0027: web_url,"},{"line_number":76,"context_line":"                        \u0027result\u0027: result,"},{"line_number":77,"context_line":"                        \u0027dependencies\u0027: [j.name for j in job.dependencies],"},{"line_number":78,"context_line":"                    })"}],"source_content_type":"text/x-python","patch_set":11,"id":"9f560f44_787caf82","line":75,"updated":"2020-08-05 12:10:46.000000000","message":"linters: E122 continuation line missing indentation or outdented","commit_id":"2406ad703925c8f56222b84ab4f7b117c7864914"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"619fb3d96d4ac6b084be7d93e70928e3b7c4c0e0","unresolved":false,"context_lines":[{"line_number":72,"context_line":"                        \u0027end_time\u0027: build.end_time,"},{"line_number":73,"context_line":"                        \u0027execute_time\u0027: build.execute_time,"},{"line_number":74,"context_line":"                        \u0027log_url\u0027: build.log_url,"},{"line_number":75,"context_line":"                    \u0027web_url\u0027: web_url,"},{"line_number":76,"context_line":"                    \u0027result\u0027: result,"},{"line_number":77,"context_line":"                    \u0027dependencies\u0027: [j.name for j in job.dependencies],"},{"line_number":78,"context_line":"                })"}],"source_content_type":"text/x-python","patch_set":13,"id":"9f560f44_7c052814","line":75,"updated":"2020-09-17 12:07:59.000000000","message":"linters: E122 continuation line missing indentation or outdented","commit_id":"fc563e0106da1339a109fdd7ba7a8d97457c5991"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"619fb3d96d4ac6b084be7d93e70928e3b7c4c0e0","unresolved":false,"context_lines":[{"line_number":73,"context_line":"                        \u0027execute_time\u0027: build.execute_time,"},{"line_number":74,"context_line":"                        \u0027log_url\u0027: build.log_url,"},{"line_number":75,"context_line":"                    \u0027web_url\u0027: web_url,"},{"line_number":76,"context_line":"                    \u0027result\u0027: result,"},{"line_number":77,"context_line":"                    \u0027dependencies\u0027: [j.name for j in job.dependencies],"},{"line_number":78,"context_line":"                })"},{"line_number":79,"context_line":"                # Report build data of retried builds if available"}],"source_content_type":"text/x-python","patch_set":13,"id":"9f560f44_5c002403","line":76,"updated":"2020-09-17 12:07:59.000000000","message":"linters: E122 continuation line missing indentation or outdented","commit_id":"fc563e0106da1339a109fdd7ba7a8d97457c5991"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"619fb3d96d4ac6b084be7d93e70928e3b7c4c0e0","unresolved":false,"context_lines":[{"line_number":74,"context_line":"                        \u0027log_url\u0027: build.log_url,"},{"line_number":75,"context_line":"                    \u0027web_url\u0027: web_url,"},{"line_number":76,"context_line":"                    \u0027result\u0027: result,"},{"line_number":77,"context_line":"                    \u0027dependencies\u0027: [j.name for j in job.dependencies],"},{"line_number":78,"context_line":"                })"},{"line_number":79,"context_line":"                # Report build data of retried builds if available"},{"line_number":80,"context_line":"                retry_builds \u003d item.current_build_set.getRetryBuildsForJob("}],"source_content_type":"text/x-python","patch_set":13,"id":"9f560f44_b7fcfb0c","line":77,"updated":"2020-09-17 12:07:59.000000000","message":"linters: E122 continuation line missing indentation or outdented","commit_id":"fc563e0106da1339a109fdd7ba7a8d97457c5991"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"619fb3d96d4ac6b084be7d93e70928e3b7c4c0e0","unresolved":false,"context_lines":[{"line_number":75,"context_line":"                    \u0027web_url\u0027: web_url,"},{"line_number":76,"context_line":"                    \u0027result\u0027: result,"},{"line_number":77,"context_line":"                    \u0027dependencies\u0027: [j.name for j in job.dependencies],"},{"line_number":78,"context_line":"                })"},{"line_number":79,"context_line":"                # Report build data of retried builds if available"},{"line_number":80,"context_line":"                retry_builds \u003d item.current_build_set.getRetryBuildsForJob("},{"line_number":81,"context_line":"                    job.name)"}],"source_content_type":"text/x-python","patch_set":13,"id":"9f560f44_97ff37ff","line":78,"updated":"2020-09-17 12:07:59.000000000","message":"linters: E122 continuation line missing indentation or outdented","commit_id":"fc563e0106da1339a109fdd7ba7a8d97457c5991"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"61df4aa2aae6196fc084f4fe2e164020210ee544","unresolved":false,"context_lines":[{"line_number":72,"context_line":"                        \u0027end_time\u0027: build.end_time,"},{"line_number":73,"context_line":"                        \u0027execute_time\u0027: build.execute_time,"},{"line_number":74,"context_line":"                        \u0027log_url\u0027: build.log_url,"},{"line_number":75,"context_line":"                    \u0027web_url\u0027: web_url,"},{"line_number":76,"context_line":"                    \u0027result\u0027: result,"},{"line_number":77,"context_line":"                    \u0027dependencies\u0027: [j.name for j in job.dependencies],"},{"line_number":78,"context_line":"                })"}],"source_content_type":"text/x-python","patch_set":15,"id":"9f560f44_95439811","line":75,"updated":"2020-09-18 15:06:55.000000000","message":"linters: E122 continuation line missing indentation or outdented","commit_id":"5394aa380b2ebd31115cce7db3eae99d39a85a86"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"61df4aa2aae6196fc084f4fe2e164020210ee544","unresolved":false,"context_lines":[{"line_number":73,"context_line":"                        \u0027execute_time\u0027: build.execute_time,"},{"line_number":74,"context_line":"                        \u0027log_url\u0027: build.log_url,"},{"line_number":75,"context_line":"                    \u0027web_url\u0027: web_url,"},{"line_number":76,"context_line":"                    \u0027result\u0027: result,"},{"line_number":77,"context_line":"                    \u0027dependencies\u0027: [j.name for j in job.dependencies],"},{"line_number":78,"context_line":"                })"},{"line_number":79,"context_line":"                # Report build data of retried builds if available"}],"source_content_type":"text/x-python","patch_set":15,"id":"9f560f44_f552d4dd","line":76,"updated":"2020-09-18 15:06:55.000000000","message":"linters: E122 continuation line missing indentation or outdented","commit_id":"5394aa380b2ebd31115cce7db3eae99d39a85a86"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"61df4aa2aae6196fc084f4fe2e164020210ee544","unresolved":false,"context_lines":[{"line_number":74,"context_line":"                        \u0027log_url\u0027: build.log_url,"},{"line_number":75,"context_line":"                    \u0027web_url\u0027: web_url,"},{"line_number":76,"context_line":"                    \u0027result\u0027: result,"},{"line_number":77,"context_line":"                    \u0027dependencies\u0027: [j.name for j in job.dependencies],"},{"line_number":78,"context_line":"                })"},{"line_number":79,"context_line":"                # Report build data of retried builds if available"},{"line_number":80,"context_line":"                retry_builds \u003d item.current_build_set.getRetryBuildsForJob("}],"source_content_type":"text/x-python","patch_set":15,"id":"9f560f44_d54d103c","line":77,"updated":"2020-09-18 15:06:55.000000000","message":"linters: E122 continuation line missing indentation or outdented","commit_id":"5394aa380b2ebd31115cce7db3eae99d39a85a86"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"61df4aa2aae6196fc084f4fe2e164020210ee544","unresolved":false,"context_lines":[{"line_number":75,"context_line":"                    \u0027web_url\u0027: web_url,"},{"line_number":76,"context_line":"                    \u0027result\u0027: result,"},{"line_number":77,"context_line":"                    \u0027dependencies\u0027: [j.name for j in job.dependencies],"},{"line_number":78,"context_line":"                })"},{"line_number":79,"context_line":"                # Report build data of retried builds if available"},{"line_number":80,"context_line":"                retry_builds \u003d item.current_build_set.getRetryBuildsForJob("},{"line_number":81,"context_line":"                    job.name)"}],"source_content_type":"text/x-python","patch_set":15,"id":"9f560f44_355e0ce9","line":78,"updated":"2020-09-18 15:06:55.000000000","message":"linters: E122 continuation line missing indentation or outdented","commit_id":"5394aa380b2ebd31115cce7db3eae99d39a85a86"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"0292addb53ef3ee82fb484c2b22b25ff170e4833","unresolved":false,"context_lines":[{"line_number":72,"context_line":"                        \u0027end_time\u0027: build.end_time,"},{"line_number":73,"context_line":"                        \u0027execute_time\u0027: build.execute_time,"},{"line_number":74,"context_line":"                        \u0027log_url\u0027: build.log_url,"},{"line_number":75,"context_line":"                    \u0027web_url\u0027: web_url,"},{"line_number":76,"context_line":"                    \u0027result\u0027: result,"},{"line_number":77,"context_line":"                    \u0027dependencies\u0027: [j.name for j in job.dependencies],"},{"line_number":78,"context_line":"                })"}],"source_content_type":"text/x-python","patch_set":16,"id":"9f560f44_0f07621a","line":75,"updated":"2020-09-21 10:10:25.000000000","message":"linters: E122 continuation line missing indentation or outdented","commit_id":"e7f1df1cbcbb526392f47178415c4431cb31ffb7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"0292addb53ef3ee82fb484c2b22b25ff170e4833","unresolved":false,"context_lines":[{"line_number":73,"context_line":"                        \u0027execute_time\u0027: build.execute_time,"},{"line_number":74,"context_line":"                        \u0027log_url\u0027: build.log_url,"},{"line_number":75,"context_line":"                    \u0027web_url\u0027: web_url,"},{"line_number":76,"context_line":"                    \u0027result\u0027: result,"},{"line_number":77,"context_line":"                    \u0027dependencies\u0027: [j.name for j in job.dependencies],"},{"line_number":78,"context_line":"                })"},{"line_number":79,"context_line":"                # Report build data of retried builds if available"}],"source_content_type":"text/x-python","patch_set":16,"id":"9f560f44_ef094e2b","line":76,"updated":"2020-09-21 10:10:25.000000000","message":"linters: E122 continuation line missing indentation or outdented","commit_id":"e7f1df1cbcbb526392f47178415c4431cb31ffb7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"0292addb53ef3ee82fb484c2b22b25ff170e4833","unresolved":false,"context_lines":[{"line_number":74,"context_line":"                        \u0027log_url\u0027: build.log_url,"},{"line_number":75,"context_line":"                    \u0027web_url\u0027: web_url,"},{"line_number":76,"context_line":"                    \u0027result\u0027: result,"},{"line_number":77,"context_line":"                    \u0027dependencies\u0027: [j.name for j in job.dependencies],"},{"line_number":78,"context_line":"                })"},{"line_number":79,"context_line":"                # Report build data of retried builds if available"},{"line_number":80,"context_line":"                retry_builds \u003d item.current_build_set.getRetryBuildsForJob("}],"source_content_type":"text/x-python","patch_set":16,"id":"9f560f44_4f103a50","line":77,"updated":"2020-09-21 10:10:25.000000000","message":"linters: E122 continuation line missing indentation or outdented","commit_id":"e7f1df1cbcbb526392f47178415c4431cb31ffb7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"0292addb53ef3ee82fb484c2b22b25ff170e4833","unresolved":false,"context_lines":[{"line_number":75,"context_line":"                    \u0027web_url\u0027: web_url,"},{"line_number":76,"context_line":"                    \u0027result\u0027: result,"},{"line_number":77,"context_line":"                    \u0027dependencies\u0027: [j.name for j in job.dependencies],"},{"line_number":78,"context_line":"                })"},{"line_number":79,"context_line":"                # Report build data of retried builds if available"},{"line_number":80,"context_line":"                retry_builds \u003d item.current_build_set.getRetryBuildsForJob("},{"line_number":81,"context_line":"                    job.name)"}],"source_content_type":"text/x-python","patch_set":16,"id":"9f560f44_2f0b4622","line":78,"updated":"2020-09-21 10:10:25.000000000","message":"linters: E122 continuation line missing indentation or outdented","commit_id":"e7f1df1cbcbb526392f47178415c4431cb31ffb7"}],"zuul/manager/__init__.py":[{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"e239c0dd6d090ac860a14d720aab8d3532434433","unresolved":false,"context_lines":[{"line_number":864,"context_line":"            if item.live:"},{"line_number":865,"context_line":"                try:"},{"line_number":866,"context_line":"                    # TODO What about here?"},{"line_number":867,"context_line":"                    self.reportItem(item)"},{"line_number":868,"context_line":"                except exceptions.MergeFailure:"},{"line_number":869,"context_line":"                    pass"},{"line_number":870,"context_line":"            return (True, nnfi)"}],"source_content_type":"text/x-python","patch_set":10,"id":"9f560f44_0f01226c","line":867,"updated":"2020-07-31 20:29:39.000000000","message":"I think we can \"fire and forget\" here.  We don\u0027t need to wait until reporting is complete to do anything else.","commit_id":"d877da9e69c69bc53242b95698ca176901d01b0e"},{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"e239c0dd6d090ac860a14d720aab8d3532434433","unresolved":false,"context_lines":[{"line_number":884,"context_line":"                item_ahead_merged \u003d True"},{"line_number":885,"context_line":""},{"line_number":886,"context_line":"            # With async reporting we cannot ensure that the merge_state is"},{"line_number":887,"context_line":"            # directly set on the item ahead (which was previously the case)."},{"line_number":888,"context_line":"            # Thus, we must also check if the report of the item ahead is still"},{"line_number":889,"context_line":"            # pending and only evaluate its merged_state if the report is done."},{"line_number":890,"context_line":"            item_ahead_reported \u003d True"}],"source_content_type":"text/x-python","patch_set":10,"id":"9f560f44_ef030e72","line":887,"updated":"2020-07-31 20:29:39.000000000","message":"I\u0027d suggest omitting the previous context here, so that when someone reads this comment they don\u0027t have to try to understand the previous history.  We only need to talk about the case now.  Just saying that we can\u0027t rely on item_ahead_merged until the report is no longer pending seems good explanation.","commit_id":"d877da9e69c69bc53242b95698ca176901d01b0e"},{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"e239c0dd6d090ac860a14d720aab8d3532434433","unresolved":false,"context_lines":[{"line_number":931,"context_line":"            dequeue \u003d False"},{"line_number":932,"context_line":"            try:"},{"line_number":933,"context_line":"                # As the reporting is now asynchronous, we must check in here"},{"line_number":934,"context_line":"                # if we can dequeue the item or not."},{"line_number":935,"context_line":"                dequeue \u003d self.reportItem(item)"},{"line_number":936,"context_line":"            except exceptions.MergeFailure:"},{"line_number":937,"context_line":"                failing_reasons.append(\"it did not merge\")"}],"source_content_type":"text/x-python","patch_set":10,"id":"9f560f44_4ffafa74","line":934,"updated":"2020-07-31 20:29:39.000000000","message":"Similarly, just say we have to wait until reporting is complete before we can proceed.","commit_id":"d877da9e69c69bc53242b95698ca176901d01b0e"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"61df4aa2aae6196fc084f4fe2e164020210ee544","unresolved":false,"context_lines":[{"line_number":1372,"context_line":"    def reportItem(self, item):"},{"line_number":1373,"context_line":"        log \u003d get_annotated_logger(self.log, item.event)"},{"line_number":1374,"context_line":""},{"line_number":1375,"context_line":"        log.debug(\"FE: reportItem() item.getOverallReportState() %s\", item.getOverallReportState())"},{"line_number":1376,"context_line":"        # Only report the item if it wasn\u0027t processed yet"},{"line_number":1377,"context_line":"        if item.getOverallReportState() is None:"},{"line_number":1378,"context_line":"            self._reportItem(item)"}],"source_content_type":"text/x-python","patch_set":15,"id":"9f560f44_156148a9","line":1375,"updated":"2020-09-18 15:06:55.000000000","message":"linters: E501 line too long (99 \u003e 79 characters)","commit_id":"5394aa380b2ebd31115cce7db3eae99d39a85a86"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"0292addb53ef3ee82fb484c2b22b25ff170e4833","unresolved":false,"context_lines":[{"line_number":1372,"context_line":"    def reportItem(self, item):"},{"line_number":1373,"context_line":"        log \u003d get_annotated_logger(self.log, item.event)"},{"line_number":1374,"context_line":""},{"line_number":1375,"context_line":"        log.debug(\"FE: reportItem() item.getOverallReportState() %s\", item.getOverallReportState())"},{"line_number":1376,"context_line":"        # Only report the item if it wasn\u0027t processed yet"},{"line_number":1377,"context_line":"        if item.getOverallReportState() is None:"},{"line_number":1378,"context_line":"            self._reportItem(item)"}],"source_content_type":"text/x-python","patch_set":16,"id":"9f560f44_8f1a526c","line":1375,"updated":"2020-09-21 10:10:25.000000000","message":"linters: E501 line too long (99 \u003e 79 characters)","commit_id":"e7f1df1cbcbb526392f47178415c4431cb31ffb7"},{"author":{"_account_id":16068,"name":"Tobias Henkel","email":"tobias.henkel@bmw.de","username":"tobias.henkel"},"change_message_id":"bd550d6f8cc47b2d8065758e1278158c982cf3e0","unresolved":false,"context_lines":[{"line_number":1382,"context_line":"        if item.getOverallReportState() \u003d\u003d \"PENDING\":"},{"line_number":1383,"context_line":"            return"},{"line_number":1384,"context_line":""},{"line_number":1385,"context_line":"        # Only if the overall repo state is complete (SUCCESS/FAILURE)"},{"line_number":1386,"context_line":"        if self.changes_merge:"},{"line_number":1387,"context_line":"            succeeded \u003d item.didAllJobsSucceed() and not item.isBundleFailing()"},{"line_number":1388,"context_line":"            merged \u003d item.getOverallReportState() \u003d\u003d \"SUCCESS\""}],"source_content_type":"text/x-python","patch_set":18,"id":"9f560f44_9829c3f3","line":1385,"range":{"start_line":1385,"start_character":30,"end_line":1385,"end_character":34},"updated":"2020-09-23 15:23:38.000000000","message":"nit: report state","commit_id":"2751be1e1bb3bb747ee8d946c7217766ba719f8b"}],"zuul/model.py":[{"author":{"_account_id":16068,"name":"Tobias Henkel","email":"tobias.henkel@bmw.de","username":"tobias.henkel"},"change_message_id":"bd550d6f8cc47b2d8065758e1278158c982cf3e0","unresolved":false,"context_lines":[{"line_number":2239,"context_line":"    def getOverallReportState(self):"},{"line_number":2240,"context_line":"        \"\"\"Aggregate the states of all reporters to an overall report state\"\"\""},{"line_number":2241,"context_line":""},{"line_number":2242,"context_line":"        # Repo state isn\u0027t initialized at all (typical case for start or"},{"line_number":2243,"context_line":"        # enqueue reporting)"},{"line_number":2244,"context_line":"        if not self.report_state:"},{"line_number":2245,"context_line":"            return"}],"source_content_type":"text/x-python","patch_set":18,"id":"9f560f44_787cafea","line":2242,"range":{"start_line":2242,"start_character":10,"end_line":2242,"end_character":14},"updated":"2020-09-23 15:23:38.000000000","message":"nit: Report state","commit_id":"2751be1e1bb3bb747ee8d946c7217766ba719f8b"}],"zuul/reporter/__init__.py":[{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"e239c0dd6d090ac860a14d720aab8d3532434433","unresolved":false,"context_lines":[{"line_number":38,"context_line":"    @abc.abstractmethod"},{"line_number":39,"context_line":"    def report(self, item):"},{"line_number":40,"context_line":"        \"\"\"Send the compiled report message.\"\"\""},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    def dispatch_report(self, item, report_state\u003dNone):"},{"line_number":43,"context_line":"        # As there might be more reporters configured per item, we put"},{"line_number":44,"context_line":"        # the whole function call as is in the queue. Otherwise, we"}],"source_content_type":"text/x-python","patch_set":10,"id":"9f560f44_2ff50684","line":41,"updated":"2020-07-31 20:29:39.000000000","message":"Camelcase these 2 methods.","commit_id":"d877da9e69c69bc53242b95698ca176901d01b0e"},{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"e239c0dd6d090ac860a14d720aab8d3532434433","unresolved":false,"context_lines":[{"line_number":66,"context_line":"            # Notify the scheduler to set the wake_event for the main loop"},{"line_number":67,"context_line":"            if report_state is not None:"},{"line_number":68,"context_line":"                self.connection.sched.onReportCompleted("},{"line_number":69,"context_line":"                    item, id(self), reporter_result)"},{"line_number":70,"context_line":"            self.connection.report_queue.task_done()"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    def stop(self):"}],"source_content_type":"text/x-python","patch_set":10,"id":"9f560f44_8ff41288","line":69,"updated":"2020-07-31 20:29:39.000000000","message":"I\u0027m not a fan of id(self) here; I worry about how that can change over reconfigurations, etc.\n\nInstead, I think we should treat this exactly like we do merges -- make a UUID each time we dispatch a report, and index the result by that.\n\nThis also has me thinking, we need to make sure we have a test for a reconfiguration during a pending report.","commit_id":"d877da9e69c69bc53242b95698ca176901d01b0e"},{"author":{"_account_id":16068,"name":"Tobias Henkel","email":"tobias.henkel@bmw.de","username":"tobias.henkel"},"change_message_id":"0163837247f88d022bfc3e6c19a80cbf2c858dd1","unresolved":false,"context_lines":[{"line_number":66,"context_line":"            # Notify the scheduler to set the wake_event for the main loop"},{"line_number":67,"context_line":"            if report_state is not None:"},{"line_number":68,"context_line":"                self.connection.sched.onReportCompleted("},{"line_number":69,"context_line":"                    item, id(self), reporter_result)"},{"line_number":70,"context_line":"            self.connection.report_queue.task_done()"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    def stop(self):"}],"source_content_type":"text/x-python","patch_set":10,"id":"9f560f44_800cb3ec","line":69,"in_reply_to":"9f560f44_8ff41288","updated":"2020-08-05 07:34:09.000000000","message":"Ack, report uuid makes sense here.","commit_id":"d877da9e69c69bc53242b95698ca176901d01b0e"},{"author":{"_account_id":16068,"name":"Tobias Henkel","email":"tobias.henkel@bmw.de","username":"tobias.henkel"},"change_message_id":"bd550d6f8cc47b2d8065758e1278158c982cf3e0","unresolved":false,"context_lines":[{"line_number":47,"context_line":"            lambda: self.doReport(item, report_uuid, report_state))"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    def doReport(self, item, report_uuid, report_state\u003dNone):"},{"line_number":50,"context_line":"        \"\"\"This encapsulates the workflow for an asynchronous reporter call\"\"\""},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"        # If report_state is set, we will track the state. If it\u0027s None, we"},{"line_number":53,"context_line":"        # won\u0027t update the item\u0027s report state (e.g. for start and enqueue"}],"source_content_type":"text/x-python","patch_set":18,"id":"9f560f44_f850bf60","line":50,"updated":"2020-09-23 15:23:38.000000000","message":"We should annotate the logs in this method:\n\n  log \u003d get_annotated_logger(self.log, item.event)","commit_id":"2751be1e1bb3bb747ee8d946c7217766ba719f8b"},{"author":{"_account_id":16068,"name":"Tobias Henkel","email":"tobias.henkel@bmw.de","username":"tobias.henkel"},"change_message_id":"ae65cb529206d6d0d0b543f2c185460a4f9717e2","unresolved":false,"context_lines":[{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    def stop(self):"},{"line_number":73,"context_line":"        self._stopped \u003d True"},{"line_number":74,"context_line":"        self.report_queue.put(None)"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    def getSubmitAllowNeeds(self):"},{"line_number":77,"context_line":"        \"\"\"Get a list of code review labels that are allowed to be"}],"source_content_type":"text/x-python","patch_set":18,"id":"9f560f44_0379b6fa","line":74,"updated":"2020-09-24 08:47:37.000000000","message":"This needs to be self.connection.report_queue","commit_id":"2751be1e1bb3bb747ee8d946c7217766ba719f8b"},{"author":{"_account_id":16068,"name":"Tobias Henkel","email":"tobias.henkel@bmw.de","username":"tobias.henkel"},"change_message_id":"8f2877a6da4dc97644f6059a48aba5817332f9c1","unresolved":false,"context_lines":[{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    def stop(self):"},{"line_number":75,"context_line":"        self._stopped \u003d True"},{"line_number":76,"context_line":"        self.report_queue.put(None)"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    def getSubmitAllowNeeds(self):"},{"line_number":79,"context_line":"        \"\"\"Get a list of code review labels that are allowed to be"}],"source_content_type":"text/x-python","patch_set":19,"id":"9f560f44_e364824b","line":76,"updated":"2020-09-24 08:48:33.000000000","message":"This needs to be self.connection.report_queue","commit_id":"0903541b929013970235f3ee7149522c88c6724b"},{"author":{"_account_id":16068,"name":"Tobias Henkel","email":"tobias.henkel@bmw.de","username":"tobias.henkel"},"change_message_id":"3d965d8a5946d83d230bc525ef431f4de84f4596","unresolved":false,"context_lines":[{"line_number":71,"context_line":"                    item, report_uuid, reporter_result)"},{"line_number":72,"context_line":"            self.connection.report_queue.task_done()"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    def stop(self):"},{"line_number":75,"context_line":"        self._stopped \u003d True"},{"line_number":76,"context_line":"        self.connection.report_queue.put(None)"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    def getSubmitAllowNeeds(self):"},{"line_number":79,"context_line":"        \"\"\"Get a list of code review labels that are allowed to be"}],"source_content_type":"text/x-python","patch_set":20,"id":"9f560f44_fe753599","line":76,"range":{"start_line":74,"start_character":0,"end_line":76,"end_character":46},"updated":"2020-09-24 09:02:51.000000000","message":"Oh I think this method is dead code since the connection already handles this and it doesn\u0027t seem to get called anywhere.","commit_id":"7b20e1f3dab5d933b23a2bd1f8e3fd0439311f3e"}]}
