)]}'
{"id":"openstack%2Fkeystoneauth~994713","triplet_id":"openstack%2Fkeystoneauth~master~I11899db50f4cab843dd1aff0bee9d1f0fb1a7fa6","project":"openstack/keystoneauth","branch":"master","topic":"typing","attention_set":{"15334":{"account":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"last_update":"2026-06-27 02:40:23.000000000","reason":"A robot voted negatively on a label"}},"removed_from_attention_set":{},"hashtags":[],"change_id":"I11899db50f4cab843dd1aff0bee9d1f0fb1a7fa6","subject":"typing: Use objects from typing","status":"NEW","created":"2026-06-24 12:55:20.000000000","updated":"2026-06-27 02:40:23.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":true,"submittable":false,"total_comment_count":8,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"064ad9444d050dbff49cd5f2ed382eeaa6a1d5aa","_number":994713,"virtual_id_number":994713,"owner":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"actions":{},"labels":{"Verified":{"rejected":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"tag":"autogenerated:zuul:gate","value":-2,"date":"2026-06-27 02:40:23.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-06-27 00:43:53.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,"permitted_voting_range":{"min":-1,"max":1},"_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-06-27 00:43:53.000000000","permitted_voting_range":{"min":-1,"max":1},"_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"]}],"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-06-24 14:56:01.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":"ad167f85a0c6d5c1d7aa90fb83e39dcf151232fb","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-06-24 12:55:20.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"2fd80071932800755cf91e4aed72791a8551004f","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-24 14:56:01.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/82685daf5e3041e79dd7ce5892515502\n\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/2e36c4862a9847a68468c5e7d7ded75d : SUCCESS in 1h 52m 40s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/d0be135e32c54c4b99deba5b2b672757 : SUCCESS in 7m 43s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/177a862c13ce4eea911ffafec701e315 : SUCCESS in 4m 05s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/5de13aae31c74e8fb5fc22b4f0f3f639 : SUCCESS in 8m 39s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/c065cca7ec6e4a098a2602ab585ba110 : SUCCESS in 10m 40s\n- openstack-tox-py315 https://zuul.opendev.org/t/openstack/build/2dd186bd818f4c03941a5e7c6f7b351f : SUCCESS in 15m 29s (non-voting)\n- openstacksdk-functional-devstack-tips https://zuul.opendev.org/t/openstack/build/df22492c59c842c281abb6038246fbc4 : SUCCESS in 1h 13m 31s\n- osc-tox-py311-tips https://zuul.opendev.org/t/openstack/build/8f51d6ef304748f48f842a987f8de6a4 : SUCCESS in 2m 47s\n- osc-tox-py314-tips https://zuul.opendev.org/t/openstack/build/f29aef4264384e1b96f04d4d8430e214 : SUCCESS in 7m 40s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/754f210fbb3d4f6881963026b0e9872e : SUCCESS in 5m 01s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/d3aaeb0d10f343fca6b696c0f774b085 : SUCCESS in 4m 53s","accounts_in_message":[],"_revision_number":1},{"id":"c257a3ec9b74b2d102f00691af126efa2ce50caf","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-06-27 00:43:53.000000000","message":"Patch Set 1: Code-Review+2 Workflow+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"b2e46081b796a16f94e7e588e318db104d43cbea","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-27 00:44:25.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"064ad9444d050dbff49cd5f2ed382eeaa6a1d5aa","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-27 02:40:23.000000000","message":"Patch Set 1: Verified-2\n\n(7 comments)\n\nBuild failed (gate pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\n\nhttps://zuul.opendev.org/t/openstack/buildset/e3ab1be28eb9420e9c118ccf99817451\n\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/06191092f95c46bbb79df603a35f5a29 : SUCCESS in 54m 47s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/1ed5b1c7b4134e3fb392352ff2b184b8 : FAILURE in 7m 31s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/041065b9ddf54714b0aec2d9e52a41c2 : SUCCESS in 7m 00s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/cd924ed9d569488181217182b78dfb1f : SUCCESS in 6m 18s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/7c08784ae7bb417596cf2bb0521b0902 : SUCCESS in 9m 44s\n- openstacksdk-functional-devstack-tips https://zuul.opendev.org/t/openstack/build/34c5ada4cda44426a38a5f8e56a58a19 : SUCCESS in 1h 04m 02s\n- osc-tox-py311-tips https://zuul.opendev.org/t/openstack/build/79e1d332b8d84f499d5d08fc5732edc3 : SUCCESS in 4m 23s\n- osc-tox-py314-tips https://zuul.opendev.org/t/openstack/build/67627651bc694f59acb1a3cea04131da : SUCCESS in 5m 14s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/9b5830811f294c89a9c1a8ba6fa2d504 : SUCCESS in 8m 16s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/bc39853bb6104a21bc99b11d72724aff : SUCCESS in 2m 51s","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"5a8fff8f71c375f156efd1f5c8e398c3be1d5802","revisions":{"5a8fff8f71c375f156efd1f5c8e398c3be1d5802":{"kind":"REWORK","_number":1,"created":"2026-06-24 12:55:20.000000000","uploader":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"ref":"refs/changes/13/994713/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/keystoneauth","ref":"refs/changes/13/994713/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/keystoneauth refs/changes/13/994713/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/keystoneauth refs/changes/13/994713/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/keystoneauth refs/changes/13/994713/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/keystoneauth refs/changes/13/994713/1"}}},"commit":{"parents":[{"commit":"a11207fb53373c75296259f9d59a9e980dc4cd09","subject":"trivial: Declare attributes on _BaseAdapter","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystoneauth/commit/a11207fb53373c75296259f9d59a9e980dc4cd09"}]}],"author":{"name":"Stephen Finucane","email":"stephenfin@redhat.com","date":"2026-06-24 12:40:24.000000000","tz":60},"committer":{"name":"Stephen Finucane","email":"stephenfin@redhat.com","date":"2026-06-24 12:53:32.000000000","tz":60},"subject":"typing: Use objects from typing","message":"typing: Use objects from typing\n\nThis allows tools like ruff to automatically replace imports from\ntyping_extensions with those from typing when our version of Python\nis new enough. It also results in shorter, easier to read code.\n\nSigned-off-by: Stephen Finucane \u003cstephenfin@redhat.com\u003e\nChange-Id: I11899db50f4cab843dd1aff0bee9d1f0fb1a7fa6\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystoneauth/commit/5a8fff8f71c375f156efd1f5c8e398c3be1d5802"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystoneauth/commit/5a8fff8f71c375f156efd1f5c8e398c3be1d5802"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"OK","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":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":["label:Verified\u003dMIN"],"failing_atoms":["label:Verified\u003dMAX"],"atom_explanations":{"label:Verified\u003dMAX":"","label:Verified\u003dMIN":""}}},{"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":{"label:Code-Review\u003dMAX":"","label:Code-Review\u003dMIN":""}}},{"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":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
