)]}'
{"id":"openstack%2Fcliff~942993","triplet_id":"openstack%2Fcliff~master~If8c7deee307b61ee709b8bbefae7e93a9f651e4c","project":"openstack/cliff","branch":"master","topic":"bug/2100579","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":"2025-02-28 15:19:59.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"If8c7deee307b61ee709b8bbefae7e93a9f651e4c","subject":"hooks: Update type hints to reflect reality","status":"MERGED","created":"2025-02-28 11:38:36.000000000","updated":"2025-02-28 15:21:51.000000000","submitted":"2025-02-28 15:19:59.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":"942993-bug/2100579","meta_rev_id":"198e0fb950dc2aacc426c0a67f039519a6cad8a6","_number":942993,"virtual_id_number":942993,"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":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2025-02-28 15:19:59.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":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"all":[{"value":2,"date":"2025-02-28 12:02:58.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":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"all":[{"value":1,"date":"2025-02-28 12:02:58.000000000","permitted_voting_range":{"min":1,"max":1},"_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":{"REVIEWER":[{"_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":"2025-02-28 12:02:58.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":"2025-02-28 13:43:38.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":"3956c0268d16a5bb3d1877b3ac729474afba6e50","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2025-02-28 11:38:36.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"46c527a43d37d748f38474ad298576879b178c71","author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"date":"2025-02-28 12:02:58.000000000","message":"Patch Set 1: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":1},{"id":"425b7f286965025d6ed95a6e99c9584dd22f27cf","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-02-28 13:43:38.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/36460a17ecd940168e0295734b4ffe00\n\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/5fc67c1377584542a6fd14faf26bc97c : SUCCESS in 1h 45m 15s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/b25e03cf8b2243d99959999b11d78e1a : SUCCESS in 5m 23s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/0c49a59e303e4ab888f21044c422d101 : SUCCESS in 3m 48s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/0d776ebee32f440ea0fa11e2763d1e1e : SUCCESS in 3m 11s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/18c941e423d74c1087b214167129bebd : SUCCESS in 4m 16s\n- cliff-tox-py312-neutronclient-tip https://zuul.opendev.org/t/openstack/build/9fd50d268b294afeb96cccc9f9e04677 : SUCCESS in 5m 01s\n- osc-tox-py312-tips https://zuul.opendev.org/t/openstack/build/e8bde1cc648f4b64839874ffc7b1c610 : SUCCESS in 4m 30s","accounts_in_message":[],"_revision_number":1},{"id":"8ff96bf0f45adfbd411fc183afb16660ffd1399d","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-02-28 13:44:11.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"951fd4b934a4c5e83c70e4d8383a13e84e76f1bb","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-02-28 15:19:59.000000000","message":"Patch Set 1: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/73d9d92561674edabd77c29038d45f79\n\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/807b780a946e484281794d81e9387e2a : SUCCESS in 1h 31m 56s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/768809bc345b4601a77d0f041c13386f : SUCCESS in 2m 51s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/4db9962888cd43688454c3f28745968e : SUCCESS in 2m 48s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/0d438f4525704b4280b53e7e5b22435c : SUCCESS in 3m 10s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/31a234c1e13c4177bd464f5d2e5504c5 : SUCCESS in 2m 39s\n- cliff-tox-py312-neutronclient-tip https://zuul.opendev.org/t/openstack/build/5259002aedb44abca4906729842b4654 : SUCCESS in 3m 27s\n- osc-tox-py312-tips https://zuul.opendev.org/t/openstack/build/6af1a421cd4c479d814f78467c8c6a15 : SUCCESS in 7m 29s","accounts_in_message":[],"_revision_number":1},{"id":"e090935bd58d370da8d6200e383ca347b691599f","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-02-28 15:19:59.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":1},{"id":"198e0fb950dc2aacc426c0a67f039519a6cad8a6","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-02-28 15:21:51.000000000","message":"Patch Set 1:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/03d5e4c77cf0490fb89a63953bfab0a9\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/707fb4ef7bd14a18a6110b42642fc1f8 : SUCCESS in 35s","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"083572e74f896f47de6776e3bdd0a65283955c2d","revisions":{"083572e74f896f47de6776e3bdd0a65283955c2d":{"kind":"REWORK","_number":1,"created":"2025-02-28 11:38:36.000000000","uploader":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"ref":"refs/changes/93/942993/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cliff","ref":"refs/changes/93/942993/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cliff refs/changes/93/942993/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cliff refs/changes/93/942993/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cliff refs/changes/93/942993/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cliff refs/changes/93/942993/1"}}},"commit":{"parents":[{"commit":"28d56ea210e5c5e96c301ae84244cefa3c856e1a","subject":"command: Filter on empty epilog, not empty hooks","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cliff/commit/28d56ea210e5c5e96c301ae84244cefa3c856e1a"}]}],"author":{"name":"Stephen Finucane","email":"sfinucan@redhat.com","date":"2025-02-28 11:20:19.000000000","tz":0},"committer":{"name":"Stephen Finucane","email":"sfinucan@redhat.com","date":"2025-02-28 11:38:19.000000000","tz":0},"subject":"hooks: Update type hints to reflect reality","message":"hooks: Update type hints to reflect reality\n\nDespite the docstrings (and now type hints) indicating that \u0027get_epilog\u0027\nand \u0027get_parser\u0027 methods should return a \u0027str\u0027 and an\n\u0027argparse.ArgumentParser\u0027 instance, respectively, there are users in the\nwild (like Kayobe\u0027s \u0027HookDispatcher\u0027 returning None for both). This\nworks because there is logic within cliff itself to exclude \u0027None\u0027\nresults from the former, while the return result from the latter is\nnever used.\n\nUpdate the docs and type hints to reflect reality.\n\nChange-Id: If8c7deee307b61ee709b8bbefae7e93a9f651e4c\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/083572e74f896f47de6776e3bdd0a65283955c2d"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cliff/commit/083572e74f896f47de6776e3bdd0a65283955c2d"}]},"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":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"}}]}],"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":{}}}]}
