)]}'
{"web/src/containers/status/ChangePanel.jsx":[{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"c82b5174454d4c9faf121182e0710933c851cd19","unresolved":false,"context_lines":[{"line_number":254,"context_line":"    let result \u003d job.result ? job.result.toLowerCase() : null"},{"line_number":255,"context_line":"    if (result \u003d\u003d\u003d null) {"},{"line_number":256,"context_line":"      if (job.url \u003d\u003d\u003d null) {"},{"line_number":257,"context_line":"        if (job.queued \u003d\u003d\u003d true) {"},{"line_number":258,"context_line":"          result \u003d \u0027queued\u0027"},{"line_number":259,"context_line":"        } else {"},{"line_number":260,"context_line":"          result \u003d \u0027waiting\u0027"}],"source_content_type":"text/jsx","patch_set":5,"id":"9fb8cfa7_acc75d96","line":257,"updated":"2019-06-10 15:05:41.000000000","message":"This produces the wrong result if zuul-web hasn\u0027t been updated.  It\u0027s probably not important enough to worry about, but if we did want to, we could probably reverse the order and check for \"\u003d\u003d\u003d false\".","commit_id":"5cc33dd1adb70d289dad7cf35e401264a5049410"},{"author":{"_account_id":16068,"name":"Tobias Henkel","email":"tobias.henkel@bmw.de","username":"tobias.henkel"},"change_message_id":"7b209aba2d7ce5a64d42b38aa577fa33ef8d3338","unresolved":false,"context_lines":[{"line_number":254,"context_line":"    let result \u003d job.result ? job.result.toLowerCase() : null"},{"line_number":255,"context_line":"    if (result \u003d\u003d\u003d null) {"},{"line_number":256,"context_line":"      if (job.url \u003d\u003d\u003d null) {"},{"line_number":257,"context_line":"        if (job.queued \u003d\u003d\u003d true) {"},{"line_number":258,"context_line":"          result \u003d \u0027queued\u0027"},{"line_number":259,"context_line":"        } else {"},{"line_number":260,"context_line":"          result \u003d \u0027waiting\u0027"}],"source_content_type":"text/jsx","patch_set":5,"id":"9fb8cfa7_35ad2e9b","line":257,"in_reply_to":"9fb8cfa7_acc75d96","updated":"2019-06-20 17:52:03.000000000","message":"Done","commit_id":"5cc33dd1adb70d289dad7cf35e401264a5049410"}],"zuul/model.py":[{"author":{"_account_id":16068,"name":"Tobias Henkel","email":"tobias.henkel@bmw.de","username":"tobias.henkel"},"change_message_id":"74bb62a6d737a3e6ea6223b19a0b73527e77b1f0","unresolved":false,"context_lines":[{"line_number":2738,"context_line":"            # (does not have a valid result) or didn\u0027t start at all"},{"line_number":2739,"context_line":"            # (build is None), we assume that the job is still waiting for"},{"line_number":2740,"context_line":"            # this dependency."},{"line_number":2741,"context_line":"            dependency_builds \u003d ["},{"line_number":2742,"context_line":"                self.current_build_set.getBuild(j.name)"},{"line_number":2743,"context_line":"                for j in job.dependencies"},{"line_number":2744,"context_line":"            ]"}],"source_content_type":"text/x-python","patch_set":3,"id":"bfb3d3c7_d8038772","line":2741,"updated":"2019-05-23 17:39:58.000000000","message":"The pipeline manager manages this state machine and already has all the info that is needed so we shouldn\u0027t recalculate it here and duplicating logic. It just needs to annotate this information at the correct place. Basically we probably want to transition from waiting to queued when the node request is attached [1].\nWe could add a new other_attribute \u0027queued\u0027 [2] to the Job that is set to True at that point. The we can just use this information here during the serialization.\n\n[1] https://opendev.org/zuul/zuul/src/branch/master/zuul/model.py#L2521\n[2] https://opendev.org/zuul/zuul/src/branch/master/zuul/model.py#L1182","commit_id":"5d93224c67618512a3caf7f9547a38d2fedf6b2f"},{"author":{"_account_id":16068,"name":"Tobias Henkel","email":"tobias.henkel@bmw.de","username":"tobias.henkel"},"change_message_id":"6b657e1fbc5ccc58a4ba3635830c2741d5ba9c18","unresolved":false,"context_lines":[{"line_number":2514,"context_line":"                    # If this job needs a semaphore, either acquire it or"},{"line_number":2515,"context_line":"                    # make sure that we have it before requesting the nodes."},{"line_number":2516,"context_line":"                    toreq.append(job)"},{"line_number":2517,"context_line":"                    job.other_attributes[\"queued\"] \u003d True"},{"line_number":2518,"context_line":"        return toreq"},{"line_number":2519,"context_line":""},{"line_number":2520,"context_line":"    def setResult(self, build):"}],"source_content_type":"text/x-python","patch_set":4,"id":"bfb3d3c7_ac6d2bcd","line":2517,"updated":"2019-05-24 09:39:28.000000000","message":"The job attributes are handled by generic properties, so you should be able to just do:\n\n  job.queued \u003d True","commit_id":"57ab00e6d109e74ba50dd395c97c4dbe2ff5c729"},{"author":{"_account_id":16068,"name":"Tobias Henkel","email":"tobias.henkel@bmw.de","username":"tobias.henkel"},"change_message_id":"6b657e1fbc5ccc58a4ba3635830c2741d5ba9c18","unresolved":false,"context_lines":[{"line_number":2755,"context_line":"                \u0027canceled\u0027: build.canceled if build else None,"},{"line_number":2756,"context_line":"                \u0027paused\u0027: build.paused if build else None,"},{"line_number":2757,"context_line":"                \u0027retry\u0027: build.retry if build else None,"},{"line_number":2758,"context_line":"                \u0027queued\u0027: job.other_attributes[\"queued\"],"},{"line_number":2759,"context_line":"                \u0027node_labels\u0027: build.node_labels if build else [],"},{"line_number":2760,"context_line":"                \u0027node_name\u0027: build.node_name if build else None,"},{"line_number":2761,"context_line":"                \u0027worker\u0027: worker,"}],"source_content_type":"text/x-python","patch_set":4,"id":"bfb3d3c7_cc72dfad","line":2758,"updated":"2019-05-24 09:39:28.000000000","message":"Same as above","commit_id":"57ab00e6d109e74ba50dd395c97c4dbe2ff5c729"}]}
