)]}'
{"id":"openstack%2Fcliff~979310","triplet_id":"openstack%2Fcliff~master~I0d3aee1d815daa2e9b2fcc8b739bf8f9e79147fc","project":"openstack/cliff","branch":"master","topic":"linter-sync","hashtags":[],"change_id":"I0d3aee1d815daa2e9b2fcc8b739bf8f9e79147fc","subject":"ruff: Configure hacking as external linter","status":"MERGED","created":"2026-03-06 16:40:13.000000000","updated":"2026-03-07 13:45:58.000000000","submitted":"2026-03-07 13:45:14.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":"979310-linter-sync","meta_rev_id":"c68dcce9abe8fcd2912869f50c5e7ef8482fce08","_number":979310,"virtual_id_number":979310,"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":[{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-03-07 13:45:14.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"}],"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":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":2,"date":"2026-03-07 11:50:57.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"}],"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":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":1,"date":"2026-03-07 11:50:57.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"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-06 18:02:33.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":"c16200caf8ef0554414a7f47e8854e8e7f162a30","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-03-06 16:40:13.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"8b51bc305abd282577041560610dedc869145ef4","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-06 18:02:33.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/2e5699638f3642c6a78714e86bd07eac\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/d96020ee4ce24834ba22465426e78d9b : SUCCESS in 3m 11s\n- requirements-check https://zuul.opendev.org/t/openstack/build/01f51b7cc7724ad3819acba3e9772e62 : SUCCESS in 2m 16s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/809a6afd7a104aee9fed0742c6986c59 : SUCCESS in 1h 20m 35s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/e4d9eb1ca5f848e9af465742955e20f7 : SUCCESS in 2m 41s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/9b6268d844ef467a91aede9c08753950 : SUCCESS in 4m 12s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/8ab6ed2134fe4e049535aea1ae06165d : SUCCESS in 2m 47s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/521e756bcdc649488836975f99bf3e2b : SUCCESS in 3m 22s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/e17c6d532a884aeba35fa1815346f362 : SUCCESS in 6m 07s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/6bcf72e4a2fa496095e52cddff973dfa : SUCCESS in 3m 21s\n- cliff-tox-py312-neutronclient-tip https://zuul.opendev.org/t/openstack/build/732b51d788834c69907d066ea83cfbc0 : SUCCESS in 4m 17s\n- osc-tox-py312-tips https://zuul.opendev.org/t/openstack/build/3e59a81a50a0405598bb2d6ebe4dda97 : SUCCESS in 2m 53s","accounts_in_message":[],"_revision_number":1},{"id":"4e124208ed2ea8dd920c9fe8a363bb65b5960065","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-03-07 11:50:57.000000000","message":"Patch Set 1: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":1},{"id":"184b0c5b9d995a395812aa192e3d641c94778c65","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-07 11:51:20.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"30ea0d3cde800d2f99ca83305cd42ea5bed44a92","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-07 13:45:14.000000000","message":"Patch Set 1: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/9380bd77c06341b98cac9e5fb9668bc3\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/0232ab2880dc4a85a0da9e268490dbdb : SUCCESS in 2m 54s\n- requirements-check https://zuul.opendev.org/t/openstack/build/48f1055e43c94a9a93ff1ee84a8b687a : SUCCESS in 3m 56s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/fae1113a5ab8428cade9212abcf2afaa : SUCCESS in 1h 49m 29s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/a9fcc1bb32c14b87a289ff376d00ef03 : SUCCESS in 1m 57s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/6c47382b762744a99bd67885663d5c11 : SUCCESS in 3m 11s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/d35a37f6d14a4674adc3cb535e3c77cd : SUCCESS in 2m 11s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/0db0427e9d3e406dbce97b3215a40b01 : SUCCESS in 5m 11s\n- cliff-tox-py312-neutronclient-tip https://zuul.opendev.org/t/openstack/build/0ecc84800076494eb18c7c2fdc2d3aaa : SUCCESS in 2m 56s\n- osc-tox-py312-tips https://zuul.opendev.org/t/openstack/build/a0c04e49dc9241e9964f0b3ac3fc8bf4 : SUCCESS in 4m 31s","accounts_in_message":[],"_revision_number":1},{"id":"f71077550d595a282ab32454c7820e60027bab19","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-07 13:45:14.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":1},{"id":"c68dcce9abe8fcd2912869f50c5e7ef8482fce08","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-07 13:45:58.000000000","message":"Patch Set 1:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/e52b020558bb47a58d035b562dc4ee77\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/d61dbadac83f4bd3b1430f83594351a4 : SUCCESS in 36s","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"bef26b5f3924165d333ea87ac73c8d4c4caca9e5","revisions":{"bef26b5f3924165d333ea87ac73c8d4c4caca9e5":{"kind":"REWORK","_number":1,"created":"2026-03-06 16:40:13.000000000","uploader":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"ref":"refs/changes/10/979310/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cliff","ref":"refs/changes/10/979310/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cliff refs/changes/10/979310/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cliff refs/changes/10/979310/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cliff refs/changes/10/979310/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cliff refs/changes/10/979310/1"}}},"commit":{"parents":[{"commit":"d5d976dd21fceccbd2204fbfb344f9e55707dc2f","subject":"Merge \"tests: Drop use of testscenarios\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cliff/commit/d5d976dd21fceccbd2204fbfb344f9e55707dc2f"}]}],"author":{"name":"Stephen Finucane","email":"sfinucan@redhat.com","date":"2026-03-06 16:40:00.000000000","tz":0},"committer":{"name":"Stephen Finucane","email":"sfinucan@redhat.com","date":"2026-03-06 16:40:04.000000000","tz":0},"subject":"ruff: Configure hacking as external linter","message":"ruff: Configure hacking as external linter\n\nAlso enable some more rules and disable the import-untyped error for\nmypy.\n\nChange-Id: I0d3aee1d815daa2e9b2fcc8b739bf8f9e79147fc\nSigned-off-by: Stephen Finucane \u003csfinucan@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cliff/commit/bef26b5f3924165d333ea87ac73c8d4c4caca9e5"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cliff/commit/bef26b5f3924165d333ea87ac73c8d4c4caca9e5"}]},"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"}}]}],"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":"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":{}}}]}
