)]}'
{"tests/base.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"06fb289368e1349d62c165532514be1c1c5df938","unresolved":false,"context_lines":[{"line_number":4017,"context_line":"    git_url_with_auth: bool \u003d False"},{"line_number":4018,"context_line":"    log_console_port: int \u003d 19885"},{"line_number":4019,"context_line":"    source_only: bool \u003d False"},{"line_number":4020,"context_line":"        fail_cat_job \u003d {}"},{"line_number":4021,"context_line":""},{"line_number":4022,"context_line":"    def __getattr__(self, name):"},{"line_number":4023,"context_line":"        \"\"\"Allows to access fake connections the old way, e.g., using"}],"source_content_type":"text/x-python","patch_set":9,"id":"1f621f24_f9622fd8","line":4020,"updated":"2020-10-28 08:57:53.000000000","message":"linters: E113 unexpected indentation","commit_id":"542beada8ee2a07a966310295d17ae0aa4a92816"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"06fb289368e1349d62c165532514be1c1c5df938","unresolved":false,"context_lines":[{"line_number":4017,"context_line":"    git_url_with_auth: bool \u003d False"},{"line_number":4018,"context_line":"    log_console_port: int \u003d 19885"},{"line_number":4019,"context_line":"    source_only: bool \u003d False"},{"line_number":4020,"context_line":"        fail_cat_job \u003d {}"},{"line_number":4021,"context_line":""},{"line_number":4022,"context_line":"    def __getattr__(self, name):"},{"line_number":4023,"context_line":"        \"\"\"Allows to access fake connections the old way, e.g., using"}],"source_content_type":"text/x-python","patch_set":9,"id":"1f621f24_9965fbe4","line":4020,"updated":"2020-10-28 08:57:53.000000000","message":"linters: E999 IndentationError: unexpected indent","commit_id":"542beada8ee2a07a966310295d17ae0aa4a92816"}],"zuul/configloader.py":[{"author":{"_account_id":16068,"name":"Tobias Henkel","email":"tobias.henkel@bmw.de","username":"tobias.henkel"},"change_message_id":"f59d5ad37682accb71a315238837e46d0114a0fc","unresolved":false,"context_lines":[{"line_number":201,"context_line":"        super(YAMLDuplicateKeyError, self).__init__(m)"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"class JobError(Exception):"},{"line_number":205,"context_line":"    def __init__(self, job):"},{"line_number":206,"context_line":"        message \u003d textwrap.dedent(\"\"\"\\"},{"line_number":207,"context_line":"                Zuul encountered a failure of \"{name}\" job."}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_2908e68e","line":204,"range":{"start_line":204,"start_character":0,"end_line":204,"end_character":26},"updated":"2020-09-28 06:48:22.000000000","message":"JobError is misleading. We should name it more something like ConfigFetchError or similar to indicate that fetching config from a repo and specific branch failed. We also need to add the repo and branch to the error message (this information should be in the job).","commit_id":"e902cde91cd29fef47176782f15ef7bc8b6b7d3f"},{"author":{"_account_id":30637,"name":"Jan Kubovy","email":"jan.kubovy@bmw.de","username":"kubovy"},"change_message_id":"0bfb7d1cd8085626b13f70112e3b0ee7253cf326","unresolved":false,"context_lines":[{"line_number":201,"context_line":"        super(YAMLDuplicateKeyError, self).__init__(m)"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"class JobError(Exception):"},{"line_number":205,"context_line":"    def __init__(self, job):"},{"line_number":206,"context_line":"        message \u003d textwrap.dedent(\"\"\"\\"},{"line_number":207,"context_line":"                Zuul encountered a failure of \"{name}\" job."}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_89093285","line":204,"range":{"start_line":204,"start_character":0,"end_line":204,"end_character":26},"in_reply_to":"9f560f44_2908e68e","updated":"2020-09-28 06:57:25.000000000","message":"Renamed. Isn\u0027t the repo, project, branch in the source_context added below using \"addError\"? Should it be explicitly part of the error message here?","commit_id":"e902cde91cd29fef47176782f15ef7bc8b6b7d3f"},{"author":{"_account_id":16068,"name":"Tobias Henkel","email":"tobias.henkel@bmw.de","username":"tobias.henkel"},"change_message_id":"b2248861d7d4d09eb31c0eca9f0c9ac65b78c7e4","unresolved":false,"context_lines":[{"line_number":57,"context_line":"class ConfigFetchError(Exception):"},{"line_number":58,"context_line":"    def __init__(self, job):"},{"line_number":59,"context_line":"        message \u003d textwrap.dedent(\"\"\"\\"},{"line_number":60,"context_line":"                Zuul encountered a failure of \"{name}\" job."},{"line_number":61,"context_line":"                \"\"\")"},{"line_number":62,"context_line":"        message \u003d textwrap.fill(message.format(name\u003djob.name))"},{"line_number":63,"context_line":"        super().__init__(message)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_c975eacd","line":60,"updated":"2020-09-28 07:32:27.000000000","message":"This message will be displayed in the tenant errors to the users. The users don\u0027t know about zuul internals like cat jobs. We need to tell the user that loading config from a repo failed.","commit_id":"139232490aef3430c2584572ba3e7348cca27b4a"},{"author":{"_account_id":30637,"name":"Jan Kubovy","email":"jan.kubovy@bmw.de","username":"kubovy"},"change_message_id":"98dfe14baa5396ecee35ce1e9b6bf7ffaf80ffa8","unresolved":false,"context_lines":[{"line_number":57,"context_line":"class ConfigFetchError(Exception):"},{"line_number":58,"context_line":"    def __init__(self, job):"},{"line_number":59,"context_line":"        message \u003d textwrap.dedent(\"\"\"\\"},{"line_number":60,"context_line":"                Zuul encountered a failure of \"{name}\" job."},{"line_number":61,"context_line":"                \"\"\")"},{"line_number":62,"context_line":"        message \u003d textwrap.fill(message.format(name\u003djob.name))"},{"line_number":63,"context_line":"        super().__init__(message)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_9fc5e03f","line":60,"in_reply_to":"9f560f44_c975eacd","updated":"2020-09-28 09:44:30.000000000","message":"Done","commit_id":"139232490aef3430c2584572ba3e7348cca27b4a"}]}
