)]}'
{"id":"openstack%2Foslo.utils~979603","triplet_id":"openstack%2Foslo.utils~master~I74759af50cffaef9b771a7965d9916009c3aca47","project":"openstack/oslo.utils","branch":"master","topic":"linter-sync","hashtags":[],"change_id":"I74759af50cffaef9b771a7965d9916009c3aca47","subject":"ruff: Configure hacking as external linter","status":"MERGED","created":"2026-03-09 12:34:18.000000000","updated":"2026-03-09 16:02:37.000000000","submitted":"2026-03-09 16:01:44.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"979603-linter-sync","meta_rev_id":"278c3e68094212fd59ec0b9e70508c461844a699","_number":979603,"virtual_id_number":979603,"owner":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-03-09 16:01:44.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"all":[{"value":2,"date":"2026-03-09 12:47:35.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"all":[{"value":1,"date":"2026-03-09 12:47:35.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Backport-Candidate":{"all":[{"value":0,"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Do Not Backport","-1":"Not A Backport Candidate"," 0":"Backport Review Needed","+1":"Proposed Backport","+2":"Should Backport"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-03-09 13:56:45.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"}],"messages":[{"id":"53b1e3d0aacb52954fe1fa192ccae72d87246af1","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-03-09 12:34:18.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"52d0ae7dee23cf06d1507297cd887612527f39b1","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-03-09 12:47:35.000000000","message":"Patch Set 1: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":1},{"id":"816b95065aac9c8e2815f4a46ab0e3cb4afdba0e","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-09 13:56:45.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/c630ef3db5a947bfb31ed3fbc37f4b8c\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/b5aea885b67a4528a81dedfac3339d91 : SUCCESS in 3m 47s\n- requirements-check https://zuul.opendev.org/t/openstack/build/1c6bd435d123413d9982d7dc02e8d5c4 : SUCCESS in 4m 54s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/6ddb5da258e148c6abf703efba715feb : SUCCESS in 1h 17m 37s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/76512d7eccb146c39e93bf2ccb063c2a : SUCCESS in 11m 07s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/a49141df24664723984bdef25044e8c2 : SUCCESS in 4m 13s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/5633c5661175403593eee69761393f31 : SUCCESS in 4m 57s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/4ca69e798c874dbc821133e7e2d0bdea : SUCCESS in 5m 39s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/2b981a391d7a44d4a6e6c9a4d41edf3b : SUCCESS in 6m 51s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/65d3099efa8c44c98ed58b16d6740e5a : SUCCESS in 4m 41s","accounts_in_message":[],"_revision_number":1},{"id":"06a93cc8dcc95edccf2fb4eb18d9f7ab8a11fc65","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-09 13:57:12.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"50ac2464076c5068b8ce5cc38614db340bf20bfe","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-09 16:01:44.000000000","message":"Patch Set 1: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/b563881de05d430f93a2cd8a522c16c0\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/9fc65cc9107148cd85741d275c526e0e : SUCCESS in 3m 05s\n- requirements-check https://zuul.opendev.org/t/openstack/build/7496f79ba60b4bf89c4dbec050015f9f : SUCCESS in 2m 34s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/5f4dc4486d9f46f9aaffd615ad848a78 : SUCCESS in 1h 59m 37s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/e954c2c827f24f9a8da2c6c4e7ce53f3 : SUCCESS in 3m 54s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/911749064a174a6fa70e0b9102030c02 : SUCCESS in 6m 08s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/a8c9c66dc03b4dfb946383157d818095 : SUCCESS in 4m 53s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/d1ace680a2304d31b8350fa688b74f99 : SUCCESS in 3m 33s","accounts_in_message":[],"_revision_number":1},{"id":"feaf5920e357710ec1b7fd7c463350446fa72798","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-09 16:01:44.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":1},{"id":"278c3e68094212fd59ec0b9e70508c461844a699","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-09 16:02:37.000000000","message":"Patch Set 1:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/bb8a2952688d4f24875acb29248ac654\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/ac258e129e3a45d7959ccb4f7c8b05a9 : SUCCESS in 44s","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"9e627caa95e97857bfc99d13621393c430cc00a8","revisions":{"9e627caa95e97857bfc99d13621393c430cc00a8":{"kind":"REWORK","_number":1,"created":"2026-03-09 12:34:18.000000000","uploader":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"ref":"refs/changes/03/979603/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.utils","ref":"refs/changes/03/979603/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.utils refs/changes/03/979603/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.utils refs/changes/03/979603/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.utils refs/changes/03/979603/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.utils refs/changes/03/979603/1"}}},"commit":{"parents":[{"commit":"7a25f15f8b67cd8bc953eb4f6b77be272cf91a76","subject":"Update master for stable/2026.1","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.utils/commit/7a25f15f8b67cd8bc953eb4f6b77be272cf91a76"}]}],"author":{"name":"Stephen Finucane","email":"sfinucan@redhat.com","date":"2026-03-09 12:33:51.000000000","tz":0},"committer":{"name":"Stephen Finucane","email":"sfinucan@redhat.com","date":"2026-03-09 12:33:51.000000000","tz":0},"subject":"ruff: Configure hacking as external linter","message":"ruff: Configure hacking as external linter\n\nChange-Id: I74759af50cffaef9b771a7965d9916009c3aca47\nSigned-off-by: Stephen Finucane \u003csfinucan@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.utils/commit/9e627caa95e97857bfc99d13621393c430cc00a8"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.utils/commit/9e627caa95e97857bfc99d13621393c430cc00a8"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"CLOSED","labels":[{"label":"Verified","status":"MAY","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"MAY","applied_by":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"}},{"label":"Backport-Candidate","status":"MAY"}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dMAX"],"failing_atoms":["label:Verified\u003dMIN"],"atom_explanations":{}}},{"name":"Backport-Candidate","description":"Backport candidate status","status":"NOT_APPLICABLE","is_legacy":false,"applicability_expression_result":{"fulfilled":false,"status":"FAIL"},"submittability_expression_result":{"expression":"is:true","fulfilled":true,"status":"NOT_EVALUATED","passing_atoms":[],"failing_atoms":[],"atom_explanations":{}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dMAX"],"failing_atoms":["label:Code-Review\u003dMIN"],"atom_explanations":{}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Workflow\u003dMAX"],"failing_atoms":["label:Workflow\u003dMIN"],"atom_explanations":{}}}]}
