)]}'
{"id":"openstack%2Fcliff~992012","triplet_id":"openstack%2Fcliff~master~Ia634036cbcaacd7b4856ee4793ed844f093d063a","project":"openstack/cliff","branch":"master","topic":"docutils","attention_set":{"39077":{"account":{"_account_id":39077,"name":"Steve Traylen","display_name":"frisbee","email":"steve.traylen@cern.ch","username":"frisbee"},"last_update":"2026-06-09 18:20:57.000000000","reason":"A robot voted negatively on a label"},"15334":{"account":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"last_update":"2026-06-09 18:55:33.000000000","reason":"Votes got outdated and were removed: Code-Review+2, Workflow+1"}},"removed_from_attention_set":{},"hashtags":[],"change_id":"Ia634036cbcaacd7b4856ee4793ed844f093d063a","subject":"Make sphinx and docutils optional dependencies for sphinxext","status":"NEW","created":"2026-06-07 19:52:29.000000000","updated":"2026-06-09 19:51:33.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":true,"submittable":false,"total_comment_count":7,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"6bff7112ce6a38c956a1fef21df0a7e2bed25c58","_number":992012,"virtual_id_number":992012,"owner":{"_account_id":39077,"name":"Steve Traylen","display_name":"frisbee","email":"steve.traylen@cern.ch","username":"frisbee"},"actions":{},"labels":{"Verified":{"disliked":{"_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:check","value":-1,"date":"2026-06-09 19:51:33.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":"","value":-1,"default_value":0,"optional":true},"Code-Review":{"all":[{"value":0,"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":{"all":[{"value":0,"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-07 20:25:52.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":"2026-06-08 12:53:34.000000000","updated_by":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"reviewer":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"state":"REVIEWER"}],"messages":[{"id":"2a40ebb7854b954803bdd373be1d91b9d31728d6","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39077,"name":"Steve Traylen","display_name":"frisbee","email":"steve.traylen@cern.ch","username":"frisbee"},"date":"2026-06-07 19:52:29.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"36308f7f92d903d973ff9fc061f6451602cabc6c","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39077,"name":"Steve Traylen","display_name":"frisbee","email":"steve.traylen@cern.ch","username":"frisbee"},"date":"2026-06-07 20:02:11.000000000","message":"Patch Set 2: Commit message was updated.","accounts_in_message":[],"_revision_number":2},{"id":"9911ad1e0f0bf9f77ded87b5f7cc897449fb74c5","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-07 20:25:52.000000000","message":"Patch Set 2: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/92351bc22432435c9affeaae0c1fa8a1\n\n- requirements-check https://zuul.opendev.org/t/openstack/build/28bad0bb7f11409d94d3adb5195fa011 : SUCCESS in 2m 24s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/17c0bc6b18054ad3a7dd81b08e4536b7 : FAILURE in 17m 13s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/ff6f54647fe64572a904fd562a4e5baa : FAILURE in 2m 40s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/de84f878186c432fa0c49a0658e5a900 : FAILURE in 1m 59s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/e7a535d6071041ac952cbacba0033818 : FAILURE in 2m 19s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/dca595b0f6a1441e886722cf601c3b1d : FAILURE in 4m 53s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/fa693a42b23d43f8888b997b1b3bea51 : SUCCESS in 3m 19s\n- cliff-tox-py313-neutronclient-tip https://zuul.opendev.org/t/openstack/build/f29996f8dcec46b8a4f1d860a2b49e34 : FAILURE in 2m 26s\n- osc-tox-py313-tips https://zuul.opendev.org/t/openstack/build/23c0599e86814ae5b7232b7f7a92d21a : FAILURE in 4m 21s","accounts_in_message":[],"_revision_number":2},{"id":"fb485440707d17688e4eff1ac613bac51afaeb1a","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-06-08 12:53:34.000000000","message":"Patch Set 2: Code-Review-1\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"faf7144fdae11ec073f5dbfa5a7dcee766b476c5","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-06-08 12:54:02.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"81af6630b8d7d79ae6f51eba6ea1078a4384d3ed","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39077,"name":"Steve Traylen","display_name":"frisbee","email":"steve.traylen@cern.ch","username":"frisbee"},"date":"2026-06-09 17:19:13.000000000","message":"Uploaded patch set 3.\n\nOutdated Votes:\n* Code-Review-1 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":3},{"id":"d8400d79d230830fbd3ced0d24e5e4cd055edd99","author":{"_account_id":39077,"name":"Steve Traylen","display_name":"frisbee","email":"steve.traylen@cern.ch","username":"frisbee"},"date":"2026-06-09 17:20:28.000000000","message":"Patch Set 3:\n\n(2 comments)","accounts_in_message":[],"_revision_number":3},{"id":"171fbe233c3ea357f7496ffa5ab728c1d38f1b3b","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-06-09 17:23:26.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"1921d8a60f70e95057b70420b9f83c77a4a09eec","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-06-09 17:24:49.000000000","message":"Patch Set 3: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":3},{"id":"5822d124731e1544b1246d0d5d76ec31b74ec66a","author":{"_account_id":39077,"name":"Steve Traylen","display_name":"frisbee","email":"steve.traylen@cern.ch","username":"frisbee"},"date":"2026-06-09 17:28:56.000000000","message":"Patch Set 3:\n\n(2 comments)","accounts_in_message":[],"_revision_number":3},{"id":"5ae65faeb6046b02c41a00e68654b72a78516c7f","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-09 18:20:57.000000000","message":"Patch Set 3: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/4a9c584538d54929ac22ec7869c81c1d\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/acc2d38a3a714a94b8174fdcbc876611 : SUCCESS in 3m 15s\n- requirements-check https://zuul.opendev.org/t/openstack/build/250f149e9ec94b1f9c5ad0cf326456ea : FAILURE in 1m 42s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/e1a42f16f9224585b11c171c19633322 : SUCCESS in 55m 46s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/721ae5202d6440be93436a6430af731c : FAILURE in 5m 45s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/5a53b0ce7af24691a5df12afe3620a60 : SUCCESS in 4m 40s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/0c6ae073e29d4fc9b6454e1aa1351136 : SUCCESS in 4m 03s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/e588781359d54ec6a6d1ce1d26caa0a6 : SUCCESS in 5m 41s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/f59085131622490eb3ddd5eb29e89ab1 : SUCCESS in 2m 41s\n- cliff-tox-py313-neutronclient-tip https://zuul.opendev.org/t/openstack/build/20886397afbc4ea79e584ab9c41dc3b2 : SUCCESS in 3m 43s\n- osc-tox-py313-tips https://zuul.opendev.org/t/openstack/build/75746991de3a4d8591f0dc09507edd35 : SUCCESS in 4m 45s\n\nWarning:\n  Comments left for invalid file cliff/interactive.py","accounts_in_message":[],"_revision_number":3},{"id":"a7c91586a8d9a22a16f78ce7a0d4922802a648dc","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39077,"name":"Steve Traylen","display_name":"frisbee","email":"steve.traylen@cern.ch","username":"frisbee"},"date":"2026-06-09 18:55:33.000000000","message":"Uploaded patch set 4.\n\nOutdated Votes:\n* Code-Review+2 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified-1 (copy condition: \"NEVER\")\n* Workflow+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":4},{"id":"6bff7112ce6a38c956a1fef21df0a7e2bed25c58","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-09 19:51:33.000000000","message":"Patch Set 4: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/1a4cc16799574771a5d818b44e7407a9\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/1575e5481aaf405193e649db6f4d4db4 : SUCCESS in 3m 05s\n- requirements-check https://zuul.opendev.org/t/openstack/build/a41d3f9e7648472991ad9ce69b7bdcdc : SUCCESS in 2m 06s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/955a6f484a4c46c48014b89530e3db12 : SUCCESS in 54m 21s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/9eb97b9802e84656892eacaec21d32da : FAILURE in 3m 18s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/2eff4d6fed604f2fb05f539142863fd5 : SUCCESS in 1m 53s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/de20c2f89e5747d3b0117a553ce54fb5 : SUCCESS in 5m 59s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/35d26af50cfd4ad3810e067087e05b61 : SUCCESS in 5m 38s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/48c0eb7ad75241fabe867bd21ab94346 : SUCCESS in 2m 50s\n- cliff-tox-py313-neutronclient-tip https://zuul.opendev.org/t/openstack/build/1f8d03f4627942f79e3439d02b8728cb : SUCCESS in 3m 28s\n- osc-tox-py313-tips https://zuul.opendev.org/t/openstack/build/66d54092eac541e387df0819210e13c2 : SUCCESS in 4m 54s\n\nWarning:\n  Comments left for invalid file cliff/interactive.py","accounts_in_message":[],"_revision_number":4}],"current_revision_number":4,"current_revision":"542f5027e9f71bc5ccfef8eec88ad6b5df40cc26","revisions":{"c896ef98a2ed7f9205aa0af9c456c789ce2bedb2":{"kind":"REWORK","_number":1,"created":"2026-06-07 19:52:29.000000000","uploader":{"_account_id":39077,"name":"Steve Traylen","display_name":"frisbee","email":"steve.traylen@cern.ch","username":"frisbee"},"ref":"refs/changes/12/992012/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cliff","ref":"refs/changes/12/992012/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cliff refs/changes/12/992012/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cliff refs/changes/12/992012/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cliff refs/changes/12/992012/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cliff refs/changes/12/992012/1"}}},"commit":{"parents":[{"commit":"4b0ecb973e08063d0af484c229cb4076be34d601","subject":"Drop support for Python 3.10","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cliff/commit/4b0ecb973e08063d0af484c229cb4076be34d601"}]}],"author":{"name":"Steve Traylen","email":"steve.traylen@cern.ch","date":"2026-06-07 19:49:12.000000000","tz":120},"committer":{"name":"Steve Traylen","email":"steve.traylen@cern.ch","date":"2026-06-07 19:52:27.000000000","tz":120},"subject":"Add docutils as requirement for cliff.sphinxnext","message":"Add docutils as requirement for cliff.sphinxnext\n\nThe cliff.spinxnext module imports docutils.\n\nAdd docutils the runtime requirements.\n\nChange-Id: Ia634036cbcaacd7b4856ee4793ed844f093d063a\nSigned-off-by: Steve Traylen \u003csteve.traylen@cern.ch\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cliff/commit/c896ef98a2ed7f9205aa0af9c456c789ce2bedb2"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cliff/commit/c896ef98a2ed7f9205aa0af9c456c789ce2bedb2"}]},"branch":"refs/heads/master"},"31bb5722d2a5232e2bf453e8b6040bd12ef44f35":{"kind":"NO_CODE_CHANGE","_number":2,"created":"2026-06-07 20:02:11.000000000","uploader":{"_account_id":39077,"name":"Steve Traylen","display_name":"frisbee","email":"steve.traylen@cern.ch","username":"frisbee"},"ref":"refs/changes/12/992012/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cliff","ref":"refs/changes/12/992012/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cliff refs/changes/12/992012/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cliff refs/changes/12/992012/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cliff refs/changes/12/992012/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cliff refs/changes/12/992012/2"}}},"commit":{"parents":[{"commit":"4b0ecb973e08063d0af484c229cb4076be34d601","subject":"Drop support for Python 3.10","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cliff/commit/4b0ecb973e08063d0af484c229cb4076be34d601"}]}],"author":{"name":"Steve Traylen","email":"steve.traylen@cern.ch","date":"2026-06-07 19:49:12.000000000","tz":120},"committer":{"name":"Steve Traylen","email":"steve.traylen@cern.ch","date":"2026-06-07 20:02:11.000000000","tz":0},"subject":"Add docutils as requirement for cliff.sphinxnext","message":"Add docutils as requirement for cliff.sphinxnext\n\nThe cliff.spinxnext module imports docutils.\n\nAdd docutils to the runtime requirements.\n\nChange-Id: Ia634036cbcaacd7b4856ee4793ed844f093d063a\nSigned-off-by: Steve Traylen \u003csteve.traylen@cern.ch\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cliff/commit/31bb5722d2a5232e2bf453e8b6040bd12ef44f35"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cliff/commit/31bb5722d2a5232e2bf453e8b6040bd12ef44f35"}]},"branch":"refs/heads/master","description":"Edit commit message"},"370db3e67cb91ed542b3e1e689374789f920f150":{"kind":"REWORK","_number":3,"created":"2026-06-09 17:19:13.000000000","uploader":{"_account_id":39077,"name":"Steve Traylen","display_name":"frisbee","email":"steve.traylen@cern.ch","username":"frisbee"},"ref":"refs/changes/12/992012/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cliff","ref":"refs/changes/12/992012/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cliff refs/changes/12/992012/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cliff refs/changes/12/992012/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cliff refs/changes/12/992012/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cliff refs/changes/12/992012/3"}}},"commit":{"parents":[{"commit":"4b0ecb973e08063d0af484c229cb4076be34d601","subject":"Drop support for Python 3.10","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cliff/commit/4b0ecb973e08063d0af484c229cb4076be34d601"}]}],"author":{"name":"Steve Traylen","email":"steve.traylen@cern.ch","date":"2026-06-07 19:49:12.000000000","tz":120},"committer":{"name":"Steve Traylen","email":"steve.traylen@cern.ch","date":"2026-06-09 17:15:37.000000000","tz":120},"subject":"Make sphinx and docutils optional dependencies for sphinxext","message":"Make sphinx and docutils optional dependencies for sphinxext\n\ncliff/sphinxext.py imports sphinx and docutils at module level, but\nthese are doc-build dependencies that should not be required for normal\nuse of cliff. Introduce a \u0027sphinxext\u0027 extra so that consumers needing\nthe Sphinx extension can opt in via cliff[sphinxext].\n\nChange-Id: Ia634036cbcaacd7b4856ee4793ed844f093d063a\nSigned-off-by: Steve Traylen \u003csteve.traylen@cern.ch\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cliff/commit/370db3e67cb91ed542b3e1e689374789f920f150"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cliff/commit/370db3e67cb91ed542b3e1e689374789f920f150"}]},"branch":"refs/heads/master"},"542f5027e9f71bc5ccfef8eec88ad6b5df40cc26":{"kind":"REWORK","_number":4,"created":"2026-06-09 18:55:33.000000000","uploader":{"_account_id":39077,"name":"Steve Traylen","display_name":"frisbee","email":"steve.traylen@cern.ch","username":"frisbee"},"ref":"refs/changes/12/992012/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cliff","ref":"refs/changes/12/992012/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cliff refs/changes/12/992012/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cliff refs/changes/12/992012/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cliff refs/changes/12/992012/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cliff refs/changes/12/992012/4"}}},"commit":{"parents":[{"commit":"4b0ecb973e08063d0af484c229cb4076be34d601","subject":"Drop support for Python 3.10","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cliff/commit/4b0ecb973e08063d0af484c229cb4076be34d601"}]}],"author":{"name":"Steve Traylen","email":"steve.traylen@cern.ch","date":"2026-06-07 19:49:12.000000000","tz":120},"committer":{"name":"Steve Traylen","email":"steve.traylen@cern.ch","date":"2026-06-09 18:55:17.000000000","tz":120},"subject":"Make sphinx and docutils optional dependencies for sphinxext","message":"Make sphinx and docutils optional dependencies for sphinxext\n\ncliff/sphinxext.py imports sphinx and docutils at module level, but\nthese are doc-build dependencies that should not be required for normal\nuse of cliff. Introduce a \u0027sphinxext\u0027 extra so that consumers needing\nthe Sphinx extension can opt in via cliff[sphinxext].\n\nChange-Id: Ia634036cbcaacd7b4856ee4793ed844f093d063a\nSigned-off-by: Steve Traylen \u003csteve.traylen@cern.ch\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cliff/commit/542f5027e9f71bc5ccfef8eec88ad6b5df40cc26"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cliff/commit/542f5027e9f71bc5ccfef8eec88ad6b5df40cc26"}]},"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"},{"label":"Workflow","status":"MAY"}]}],"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":[],"failing_atoms":["label:Verified\u003dMAX","label:Verified\u003dMIN"],"atom_explanations":{"label:Verified\u003dMAX":"","label:Verified\u003dMIN":""}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Code-Review\u003dMAX","label:Code-Review\u003dMIN"],"atom_explanations":{"label:Code-Review\u003dMAX":"","label:Code-Review\u003dMIN":""}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Workflow\u003dMAX","label:Workflow\u003dMIN"],"atom_explanations":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
