)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"0f92b058c6c0b8d18061e94c0ab5fe229bdeda6d","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"This is needed since those run in the critical path of the event"},{"line_number":23,"context_line":"processing and can cause large event processing delays in a very busy"},{"line_number":24,"context_line":"zuul system."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Change-Id: I55df1cc28279bb6923e51686dde8809421486c6a"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"1b40b211_d2b962da","line":24,"updated":"2021-02-26 23:44:17.000000000","message":"Or a very busy GitHub system. :)","commit_id":"ba6d86ada2960e1aca8bb1a81321e013027fa5b4"}],"tests/fakegithub.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"81c7618097b66d043573c254edcfd4e28b9d2a07","unresolved":false,"context_lines":[{"line_number":670,"context_line":"            repo \u003d self.client._data.repos.get((org, reponame))"},{"line_number":671,"context_line":""},{"line_number":672,"context_line":"            # Find the specified check run"},{"line_number":673,"context_line":"            found \u003d None"},{"line_number":674,"context_line":"            check_runs \u003d ["},{"line_number":675,"context_line":"                check_run"},{"line_number":676,"context_line":"                for commit in repo._commits.values()"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_4744fa19","line":673,"updated":"2020-09-15 17:54:09.000000000","message":"linters: F841 local variable \u0027found\u0027 is assigned to but never used","commit_id":"53180c77ff11703e2eab533d34071346955ca753"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"9d2cdb725952886212aed82f7834f875cb84a5eb","unresolved":false,"context_lines":[{"line_number":17,"context_line":"from collections import defaultdict"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"import datetime"},{"line_number":20,"context_line":"import random"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"import github3.exceptions"},{"line_number":23,"context_line":"import re"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_ed8064c2","line":20,"updated":"2020-09-17 13:28:42.000000000","message":"linters: F401 \u0027random\u0027 imported but unused","commit_id":"c8ff7d2f7ef997dd8b724c19582bb166557c41da"}],"tests/unit/test_github_driver.py":[{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"14c64bb0e481c7d4b12b7d62a7709000b2c369c3","unresolved":false,"context_lines":[{"line_number":1917,"context_line":"        # We should have a pending check for the head sha"},{"line_number":1918,"context_line":"        commit \u003d github.repo_from_project(project)._commits.get(A.head_sha)"},{"line_number":1919,"context_line":"        check_runs \u003d commit.check_runs()"},{"line_number":1920,"context_line":"        self.assertEqual(1, len(check_runs))"},{"line_number":1921,"context_line":""},{"line_number":1922,"context_line":"        # Delete this check_run to simulate a failed check_run creation"},{"line_number":1923,"context_line":"        commit._check_runs \u003d []"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_22727dae","side":"PARENT","line":1920,"updated":"2020-09-16 19:04:05.000000000","message":"Was this test buggy previously?","commit_id":"8d6dfb6bc611d9666205a16b66c46242de3b2680"},{"author":{"_account_id":16068,"name":"Tobias Henkel","email":"tobias.henkel@bmw.de","username":"tobias.henkel"},"change_message_id":"7a2781e551781f0f91c3c27ae761c6e73a4bf54d","unresolved":false,"context_lines":[{"line_number":1917,"context_line":"        # We should have a pending check for the head sha"},{"line_number":1918,"context_line":"        commit \u003d github.repo_from_project(project)._commits.get(A.head_sha)"},{"line_number":1919,"context_line":"        check_runs \u003d commit.check_runs()"},{"line_number":1920,"context_line":"        self.assertEqual(1, len(check_runs))"},{"line_number":1921,"context_line":""},{"line_number":1922,"context_line":"        # Delete this check_run to simulate a failed check_run creation"},{"line_number":1923,"context_line":"        commit._check_runs \u003d []"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_4257b1cb","side":"PARENT","line":1920,"in_reply_to":"9f560f44_22727dae","updated":"2020-09-16 19:10:10.000000000","message":"Kind of. The test lets zuul successfully create a check run and deletes it afterwards to imitate the state if that has failed. With the optimized code this breaks and we need to change the test to be more like the reality, aka directly fail the initial test run creation. Thus we need to make sure that this really has failed hence the changed assert.","commit_id":"8d6dfb6bc611d9666205a16b66c46242de3b2680"}],"zuul/driver/github/githubconnection.py":[{"author":{"_account_id":27582,"name":"Simon Westphahl","email":"simon.westphahl@bmw.de","username":"simon.westphahl"},"change_message_id":"7c1d1f86f056a6c0ec1554f2b340e7d3072f2c43","unresolved":false,"context_lines":[{"line_number":2007,"context_line":"                    check_run_id \u003d self._create_or_update_check("},{"line_number":2008,"context_line":"                        github,"},{"line_number":2009,"context_line":"                        project,"},{"line_number":2010,"context_line":"                        None,"},{"line_number":2011,"context_line":"                        name\u003dcontext,"},{"line_number":2012,"context_line":"                        head_sha\u003dsha,"},{"line_number":2013,"context_line":"                        conclusion\u003dconclusion,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_fcd201d1","line":2010,"updated":"2020-09-15 17:36:02.000000000","message":"nit: could use a keyword arg for the check_run_id here as it\u0027s not clear what that None is for from the method call.","commit_id":"53180c77ff11703e2eab533d34071346955ca753"},{"author":{"_account_id":27582,"name":"Simon Westphahl","email":"simon.westphahl@bmw.de","username":"simon.westphahl"},"change_message_id":"62ce4292cab715138af4d4003e0a3a92ede844a2","unresolved":false,"context_lines":[{"line_number":2007,"context_line":"                    check_run_id \u003d self._create_or_update_check("},{"line_number":2008,"context_line":"                        github,"},{"line_number":2009,"context_line":"                        project,"},{"line_number":2010,"context_line":"                        None,"},{"line_number":2011,"context_line":"                        name\u003dcontext,"},{"line_number":2012,"context_line":"                        head_sha\u003dsha,"},{"line_number":2013,"context_line":"                        conclusion\u003dconclusion,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_b032650e","line":2010,"in_reply_to":"9f560f44_e7ceeeb5","updated":"2020-09-16 05:00:08.000000000","message":"It won\u0027t show up in kwargs as you have the check_run_id in the method signature.","commit_id":"53180c77ff11703e2eab533d34071346955ca753"},{"author":{"_account_id":16068,"name":"Tobias Henkel","email":"tobias.henkel@bmw.de","username":"tobias.henkel"},"change_message_id":"9801a042ae5988daf56e1bc3a4da3ccdb207b1d0","unresolved":false,"context_lines":[{"line_number":2007,"context_line":"                    check_run_id \u003d self._create_or_update_check("},{"line_number":2008,"context_line":"                        github,"},{"line_number":2009,"context_line":"                        project,"},{"line_number":2010,"context_line":"                        None,"},{"line_number":2011,"context_line":"                        name\u003dcontext,"},{"line_number":2012,"context_line":"                        head_sha\u003dsha,"},{"line_number":2013,"context_line":"                        conclusion\u003dconclusion,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_e7ceeeb5","line":2010,"in_reply_to":"9f560f44_fcd201d1","updated":"2020-09-15 17:52:48.000000000","message":"Since I forward all kwargs to the post request I thought it is easier that way than removing it afterwards again.","commit_id":"53180c77ff11703e2eab533d34071346955ca753"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"14c64bb0e481c7d4b12b7d62a7709000b2c369c3","unresolved":false,"context_lines":[{"line_number":1995,"context_line":"            # conclusion, as the status will always be \"completed\"."},{"line_number":1996,"context_line":"            conclusion \u003d status"},{"line_number":1997,"context_line":""},{"line_number":1998,"context_line":"            if not check_run_id:"},{"line_number":1999,"context_line":"                log.debug("},{"line_number":2000,"context_line":"                    \"Could not find check run %s for %s#%s on sha %s. \""},{"line_number":2001,"context_line":"                    \"Creating a new one\","}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_623595db","line":1998,"updated":"2020-09-16 19:04:05.000000000","message":"Can we collapse this whole if else block a bit? Something like:\n\n  if not check_run_id:\n      action \u003d \u0027create\u0027\n      log.debug(\"Could not find a check run ...\")\n  else:\n      action \u003d \u0027update\u0027\n      log.debug(\"Updating existing check run...\")\n  try:\n      check_run_id \u003d self._create_or_update_check()\n  except:\n      log.error(\"Failed to %s check run...\" % action)\n      errors.append(\"Failed to %s check run\" % action)\n\nI mention it because this function is quite long and _create_or_update_check() seems to give us the opportunity to dedup a bit.","commit_id":"eb55fff25ec8ff0533bb3cb051ecc17baf0125e9"},{"author":{"_account_id":16068,"name":"Tobias Henkel","email":"tobias.henkel@bmw.de","username":"tobias.henkel"},"change_message_id":"7a2781e551781f0f91c3c27ae761c6e73a4bf54d","unresolved":false,"context_lines":[{"line_number":1995,"context_line":"            # conclusion, as the status will always be \"completed\"."},{"line_number":1996,"context_line":"            conclusion \u003d status"},{"line_number":1997,"context_line":""},{"line_number":1998,"context_line":"            if not check_run_id:"},{"line_number":1999,"context_line":"                log.debug("},{"line_number":2000,"context_line":"                    \"Could not find check run %s for %s#%s on sha %s. \""},{"line_number":2001,"context_line":"                    \"Creating a new one\","}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_e206c5cd","line":1998,"in_reply_to":"9f560f44_623595db","updated":"2020-09-16 19:10:10.000000000","message":"Good idea, I\u0027ll fix that tomorrow.","commit_id":"eb55fff25ec8ff0533bb3cb051ecc17baf0125e9"},{"author":{"_account_id":27952,"name":"Felix Edel","email":"felix.edel@bmw.de","username":"felix.schmidt"},"change_message_id":"701f5d0df1063f32635f46841802acc96223ed6c","unresolved":false,"context_lines":[{"line_number":2006,"context_line":"                    check_run_id \u003d self._create_or_update_check("},{"line_number":2007,"context_line":"                        github,"},{"line_number":2008,"context_line":"                        project,"},{"line_number":2009,"context_line":"                        None,"},{"line_number":2010,"context_line":"                        name\u003dcontext,"},{"line_number":2011,"context_line":"                        head_sha\u003dsha,"},{"line_number":2012,"context_line":"                        conclusion\u003dconclusion,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_53f13c95","line":2009,"updated":"2020-09-17 07:06:45.000000000","message":"Could we use a kw argument here, check_run_id\u003dNone? Makes the function call easier to read and you directly know which argument has the None value.","commit_id":"eb55fff25ec8ff0533bb3cb051ecc17baf0125e9"}],"zuul/model.py":[{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"0f92b058c6c0b8d18061e94c0ab5fe229bdeda6d","unresolved":false,"context_lines":[{"line_number":2193,"context_line":"        self.event \u003d event  # The trigger event that lead to this queue item"},{"line_number":2194,"context_line":""},{"line_number":2195,"context_line":"        # Additional container for connection specifig information to be used"},{"line_number":2196,"context_line":"        # by reporters throughout the lifecycle"},{"line_number":2197,"context_line":"        self.dynamic_state \u003d defaultdict(dict)"},{"line_number":2198,"context_line":""},{"line_number":2199,"context_line":"    def annotateLogger(self, logger):"}],"source_content_type":"text/x-python","patch_set":8,"id":"8a6e9a72_72d71021","line":2196,"updated":"2021-02-26 23:44:17.000000000","message":"We should probably note that this must be json serializable in order to be forward compatible with ZooKeeper.  But the current change is json serializable, and I doubt we\u0027re going to add very much else to this before we start putting queue items in ZK.","commit_id":"ba6d86ada2960e1aca8bb1a81321e013027fa5b4"}]}
