)]}'
{"id":"openstack%2Fkeystoneauth~933005","triplet_id":"openstack%2Fkeystoneauth~master~Ic77def3da3453614944589d59a86ec9fef44c955","project":"openstack/keystoneauth","branch":"master","topic":"typing","attention_set":{},"removed_from_attention_set":{"15334":{"account":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"last_update":"2024-11-19 17:57:13.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"Ic77def3da3453614944589d59a86ec9fef44c955","subject":"typing: Make loaders broadly generic","status":"MERGED","created":"2024-10-22 10:50:30.000000000","updated":"2024-11-20 11:29:27.000000000","submitted":"2024-11-19 17:57:13.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":3,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"933005-typing","meta_rev_id":"8ef5f6bff0faefa07533be31dde229d8dd6c6307","_number":933005,"virtual_id_number":933005,"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":7414,"name":"David Wilde","email":"dwilde@redhat.com","username":"d34dh0r53"},{"value":0,"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2024-11-19 17:57:13.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":7414,"name":"David Wilde","email":"dwilde@redhat.com","username":"d34dh0r53"},"all":[{"value":2,"date":"2024-11-01 14:50:51.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":7414,"name":"David Wilde","email":"dwilde@redhat.com","username":"d34dh0r53"},{"value":2,"date":"2024-10-30 19:02:29.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},{"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":7414,"name":"David Wilde","email":"dwilde@redhat.com","username":"d34dh0r53"},"all":[{"value":1,"date":"2024-11-01 14:50:51.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":7414,"name":"David Wilde","email":"dwilde@redhat.com","username":"d34dh0r53"},{"value":0,"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},{"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}},"removable_reviewers":[],"reviewers":{"CC":[{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"}],"REVIEWER":[{"_account_id":7414,"name":"David Wilde","email":"dwilde@redhat.com","username":"d34dh0r53"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2024-10-22 12:38:02.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"},{"updated":"2024-10-30 19:02:29.000000000","updated_by":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"reviewer":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"state":"REVIEWER"},{"updated":"2024-11-01 14:50:51.000000000","updated_by":{"_account_id":7414,"name":"David Wilde","email":"dwilde@redhat.com","username":"d34dh0r53"},"reviewer":{"_account_id":7414,"name":"David Wilde","email":"dwilde@redhat.com","username":"d34dh0r53"},"state":"REVIEWER"},{"updated":"2024-11-19 13:52:24.000000000","updated_by":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"reviewer":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"state":"CC"}],"messages":[{"id":"204d59ab754a038dea329cce63a8283d1f469b56","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2024-10-22 10:50:30.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"ac9268975b07179307ad2d103b50a9c9f3912b5e","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2024-10-22 12:38:02.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/918b4d4f353e45869a1c2af55f29d8df\n\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/863fdaf82bc54d1e97c79885ee170fca : SUCCESS in 1h 38m 40s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/b050980f3be446fbac684731bd0d98af : SUCCESS in 2m 51s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/9c7e7b8177b445d69c07332e6fabf574 : SUCCESS in 8m 01s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/1e4c5e173e96425182c56fa37cdfbe67 : SUCCESS in 8m 21s\n- openstacksdk-functional-devstack-tips https://zuul.opendev.org/t/openstack/build/c6f7a89727d34dcf8f29df5701e5589b : SUCCESS in 50m 30s\n- osc-tox-py39-tips https://zuul.opendev.org/t/openstack/build/eb780566183a46e0b9caa94ce9631d89 : SUCCESS in 7m 32s\n- osc-tox-py312-tips https://zuul.opendev.org/t/openstack/build/76dbde3318984c26a8e522db460fe916 : SUCCESS in 5m 26s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/9b77fd1e946e4658bc8744c53809d306 : SUCCESS in 7m 45s","accounts_in_message":[],"_revision_number":1},{"id":"9f30e400ce520688927c58cc56ce3bf13c97cbfa","author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"date":"2024-10-30 19:02:29.000000000","message":"Patch Set 1: Code-Review+2","accounts_in_message":[],"_revision_number":1},{"id":"2bd79e18b66811d2ccea0af810b8eb71367c44c6","author":{"_account_id":7414,"name":"David Wilde","email":"dwilde@redhat.com","username":"d34dh0r53"},"date":"2024-11-01 14:50:51.000000000","message":"Patch Set 1: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":1},{"id":"79d1677bd3d7fdba026c9b87aa7e3046d43f8141","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2024-11-15 17:53:18.000000000","message":"Patch Set 1: Verified-2\n\nThis change depends on a change that failed to merge.\n\nChange https://review.opendev.org/933004 is needed.","accounts_in_message":[],"_revision_number":1},{"id":"11994d65311266236f114f0389706121fa0d6f83","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2024-11-15 18:17:27.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"a355c2bd85096c7bae7967aa7fbe627a58cb940f","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2024-11-15 20:15:47.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/a7b2ee952f3b4867b690decfa25416a9\n\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/e5384f25909f4dc9a26d098551e53994 : SUCCESS in 1h 47m 42s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/fcbd4469aec54541b3527eb0c377c7c8 : SUCCESS in 2m 55s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/81d0049f57e54ae9806bd95aba2cf723 : SUCCESS in 6m 51s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/00c2e27ea38147b39788bfe95d01915d : SUCCESS in 5m 45s\n- openstacksdk-functional-devstack-tips https://zuul.opendev.org/t/openstack/build/7c0b147699f241a78011ccd334b78ead : SUCCESS in 1h 00m 17s\n- osc-tox-py39-tips https://zuul.opendev.org/t/openstack/build/9e24ab65d31d4df8b1478fded7e781aa : SUCCESS in 3m 36s\n- osc-tox-py312-tips https://zuul.opendev.org/t/openstack/build/e2782bc56ce942498ea129bac08c397e : SUCCESS in 4m 50s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/932bc23a51074d2eb7da8dd5dccd50d0 : SUCCESS in 4m 50s","accounts_in_message":[],"_revision_number":1},{"id":"90b60f8c5cfb6e381bf8209ebc428e91227ef114","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2024-11-19 11:56:27.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"71c700bdacbf428a27e1fb99cc126617f7b5553f","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2024-11-19 13:33:43.000000000","message":"Patch Set 1: Verified-2\n\nThis change depends on a change that failed to merge.\n\nChange https://review.opendev.org/933004 is needed.","accounts_in_message":[],"_revision_number":1},{"id":"78156e7e36a76519641a05bad17667d1e204477b","author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"date":"2024-11-19 13:52:24.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"53b89d35b59b806325357c875e5fe82fecffa63d","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2024-11-19 15:39:52.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/1cf2acea659a4698a6da78ca77773f36\n\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/d5c72657d8c848e18924c1e698b62ca6 : SUCCESS in 1h 39m 25s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/b1e981bf60a845a49eab8bd60e0772e3 : SUCCESS in 3m 26s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/e9ebd1be36374a93982a1e3d7cfceb1f : SUCCESS in 7m 59s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/31e001fda50a443a81ea13b7a3f533f9 : SUCCESS in 9m 09s\n- openstacksdk-functional-devstack-tips https://zuul.opendev.org/t/openstack/build/e36ed273bd8f4713ade48a4ef7c37a6a : SUCCESS in 1h 03m 19s\n- osc-tox-py39-tips https://zuul.opendev.org/t/openstack/build/4c03fe56f2224adc9914286814a1d5a1 : SUCCESS in 5m 02s\n- osc-tox-py312-tips https://zuul.opendev.org/t/openstack/build/dc41cd17cba842e69a703a6f47d03e99 : SUCCESS in 5m 46s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/899e8862a5174bcdacbdb4c3400eba4f : SUCCESS in 6m 38s","accounts_in_message":[],"_revision_number":1},{"id":"2c8f1a0982259aa97d3a9ef26b530de346744ed7","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2024-11-19 15:57:25.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"3e897db193dca59a4390bf234a88672cf2ef3939","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2024-11-19 17:57:13.000000000","message":"Patch Set 1: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/42738e26eefb4a558de2ead2f3efd5c4\n\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/e8495abc061e44768a18c4f0efa68153 : SUCCESS in 1h 32m 49s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/df0e40632d4e432a8ef1849f5bff721b : SUCCESS in 3m 24s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/58cfbde08cd14b9684b1c110cee8742e : SUCCESS in 8m 10s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/f669e9013aa24694aeec706ee15f52a3 : SUCCESS in 10m 17s\n- openstacksdk-functional-devstack-tips https://zuul.opendev.org/t/openstack/build/588da297706b44daa766255373c88c4a : SUCCESS in 58m 50s\n- osc-tox-py39-tips https://zuul.opendev.org/t/openstack/build/3916db75ff5348629a979f54f0e06454 : SUCCESS in 4m 20s\n- osc-tox-py312-tips https://zuul.opendev.org/t/openstack/build/55c4cd6ab7d4437d9e6b1c73e563e0a5 : SUCCESS in 5m 50s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/94fa297eebb74b07adb02a079abb6b7a : SUCCESS in 7m 00s","accounts_in_message":[],"_revision_number":1},{"id":"abae0316ab362b583e6a999b79393ed3dd4a6c34","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2024-11-19 17:57:13.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":1},{"id":"3a1d36566790588fa84d6afb21132a0bca9e2280","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2024-11-19 17:59:21.000000000","message":"Patch Set 1:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/0489a4fd7e4941db9e4e3f4bc8db95ae\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/2e2853a169fa45b7bec7a1b46666ca8d : SUCCESS in 42s","accounts_in_message":[],"_revision_number":1},{"id":"8ef5f6bff0faefa07533be31dde229d8dd6c6307","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2024-11-20 11:29:27.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"92746dfde9ba1035a9fa257fbb71b5565f1379a1","revisions":{"92746dfde9ba1035a9fa257fbb71b5565f1379a1":{"kind":"REWORK","_number":1,"created":"2024-10-22 10:50:30.000000000","uploader":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"ref":"refs/changes/05/933005/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/keystoneauth","ref":"refs/changes/05/933005/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/keystoneauth refs/changes/05/933005/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/keystoneauth refs/changes/05/933005/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/keystoneauth refs/changes/05/933005/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/keystoneauth refs/changes/05/933005/1"}}},"commit":{"parents":[{"commit":"e26894c70853a8c7f84686fec7bb61b0b0a7ae71","subject":"Add py.typed file","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystoneauth/commit/e26894c70853a8c7f84686fec7bb61b0b0a7ae71"}]}],"author":{"name":"Stephen Finucane","email":"stephenfin@redhat.com","date":"2024-09-08 21:24:39.000000000","tz":540},"committer":{"name":"Stephen Finucane","email":"stephenfin@redhat.com","date":"2024-10-22 10:50:16.000000000","tz":60},"subject":"typing: Make loaders broadly generic","message":"typing: Make loaders broadly generic\n\nYet more fanciness. A Loader class always has a 1:1 relationship with a\ngiven Plugin class. The way to indicate this in the world of typing is\nvia a generic. Start doing this, allowing us to remove a whole load of\ncasts (including subclass methods that exist purely to allow us to cast\nthe return type) and generally tidy everything up a little.\n\nSigned-off-by: Stephen Finucane \u003cstephenfin@redhat.com\u003e\nChange-Id: Ic77def3da3453614944589d59a86ec9fef44c955\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystoneauth/commit/92746dfde9ba1035a9fa257fbb71b5565f1379a1"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystoneauth/commit/92746dfde9ba1035a9fa257fbb71b5565f1379a1"}]},"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":7414,"name":"David Wilde","email":"dwilde@redhat.com","username":"d34dh0r53"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":7414,"name":"David Wilde","email":"dwilde@redhat.com","username":"d34dh0r53"}}]}],"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":{}}}]}
