)]}'
{"id":"openstack%2Fgrian-ui~950402","triplet_id":"openstack%2Fgrian-ui~master~I091d42c669f8320c6eee2d13bfc6abdde3d27d5c","project":"openstack/grian-ui","branch":"master","topic":"bootstraping","attention_set":{},"removed_from_attention_set":{"6413":{"account":{"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"},"last_update":"2025-05-21 09:06:37.000000000","reason":"\u003cGERRIT_ACCOUNT_6413\u003e replied on the change","reason_account":{"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"}},"11604":{"account":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"last_update":"2025-05-21 09:17:21.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"I091d42c669f8320c6eee2d13bfc6abdde3d27d5c","subject":"Stub out basic plugin folder layout","status":"MERGED","created":"2025-05-20 11:23:08.000000000","updated":"2025-05-21 11:58:07.000000000","submitted":"2025-05-21 09:17:21.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":14,"unresolved_comment_count":1,"has_review_started":true,"submission_id":"950402-bootstraping","meta_rev_id":"970cb22b0224e29bfa315f0ec17e591deedb9263","_number":950402,"virtual_id_number":950402,"owner":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:gate","value":2,"date":"2025-05-21 09:17:21.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"}],"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":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"},"all":[{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":2,"date":"2025-05-21 09:06:37.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"}],"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":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"},"all":[{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":1,"date":"2025-05-21 09:06:37.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2025-05-20 11:28:41.000000000","updated_by":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"reviewer":{"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"},"state":"REVIEWER"},{"updated":"2025-05-20 11:35:31.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":"000ca9e4f7c045f2829a235875619e1e2cfe392e","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2025-05-20 11:23:08.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"34a35bf2d2876f2d90a0130fb4fe8830d11a59b6","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-05-20 11:35:31.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/adfb1444b624433ea67b84e3261840fb\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/d5fff9f8f87540569d831ee38692113a : SUCCESS in 3m 32s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/7b1925e4a1e443ad8cf2ae2944e5da2a : SUCCESS in 2m 20s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/0b7e26bee3a04793b23d128f101a6fe5 : SUCCESS in 6m 49s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/e3e034aa62084f07a5d80c4b7c07ab14 : SUCCESS in 3m 51s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/5365ea0f27844ee9b5033760b9c5740e : SUCCESS in 6m 53s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/9217bf555b294f2a8a43b951a3ae9a3a : SUCCESS in 9m 40s (non-voting)\n- openstack-tox-functional https://zuul.opendev.org/t/openstack/build/63eafa84b7a84acd908f3813e6bb8ae0 : SUCCESS in 4m 11s","accounts_in_message":[],"_revision_number":1},{"id":"dd1dac13a6b860c738142c8cbaf9dacdd00a8d55","author":{"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"},"date":"2025-05-20 15:29:44.000000000","message":"Patch Set 1:\n\n(3 comments)","accounts_in_message":[],"_revision_number":1},{"id":"f482c6d9b086ad28d61eded6e21253c409bf7462","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2025-05-20 17:52:08.000000000","message":"Patch Set 1:\n\n(2 comments)","accounts_in_message":[],"_revision_number":1},{"id":"d019e804df232c38e71cb558857612232740702c","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2025-05-20 18:00:34.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"2229d7f9f98e2a2c63a864e1fc146fe8caa6807f","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2025-05-20 18:19:06.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"ff4717d64c33f5c55bc16fdb0c2ca4b545956a46","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2025-05-20 18:20:41.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"ab4a10f53d783723d1e36794a4cdfebe4cdecbe7","author":{"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"},"date":"2025-05-21 09:06:37.000000000","message":"Patch Set 1: Code-Review+2 Workflow+1\n\n(4 comments)","accounts_in_message":[],"_revision_number":1},{"id":"10e072585a829a6153ce51366744a3e64510fb51","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-05-21 09:06:52.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"ff2f9723394fa194426fa0adc7bd9d80eddd7005","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-05-21 09:17:21.000000000","message":"Patch Set 1: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/6faba56312df4bf48d1bcfa2a5cbbada\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/47a0edfdb4cb4b8a9d759d3178939704 : SUCCESS in 3m 48s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/e0fd24a101c343c285c3f4e2671b00ab : SUCCESS in 3m 02s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/5ca121a67cb04be9af9530c4b3f489f2 : SUCCESS in 7m 18s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/80eb52abc2594c3693e64fb171267ab1 : SUCCESS in 2m 12s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/6842a2a4048541699cd1e1fc7a27e39f : SUCCESS in 6m 39s\n- openstack-tox-functional https://zuul.opendev.org/t/openstack/build/227c8f0a7daf4e51b052885b06485781 : SUCCESS in 4m 14s","accounts_in_message":[],"_revision_number":1},{"id":"38e68ad449df9a9b2c6548887ffa94c98b23aeb2","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-05-21 09:17:21.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":1},{"id":"9569898f5820f97de8fc9719df6b784d298da6a3","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-05-21 09:18:34.000000000","message":"Patch Set 1:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/8e58d9dc50b949bcabc2b29791a62787\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/11a997a5b86449a08d5200010c5a123b : SUCCESS in 34s\n- promote-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/44ac11a8804d4af7a9d644f40810dbb5 : SUCCESS in 35s","accounts_in_message":[],"_revision_number":1},{"id":"970cb22b0224e29bfa315f0ec17e591deedb9263","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2025-05-21 11:58:07.000000000","message":"Patch Set 1:\n\n(2 comments)","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"0cbf75560221e852125a715dddc419434ff95666","revisions":{"0cbf75560221e852125a715dddc419434ff95666":{"kind":"REWORK","_number":1,"created":"2025-05-20 11:23:08.000000000","uploader":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"ref":"refs/changes/02/950402/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/grian-ui","ref":"refs/changes/02/950402/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/grian-ui refs/changes/02/950402/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/grian-ui refs/changes/02/950402/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/grian-ui refs/changes/02/950402/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/grian-ui refs/changes/02/950402/1"}}},"commit":{"parents":[{"commit":"8346769c9b5fd5e33de9d49fd07d25db0caad321","subject":"set up basic unittesting","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/grian-ui/commit/8346769c9b5fd5e33de9d49fd07d25db0caad321"}]}],"author":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2025-05-20 11:09:51.000000000","tz":0},"committer":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2025-05-20 11:22:16.000000000","tz":0},"subject":"Stub out basic plugin folder layout","message":"Stub out basic plugin folder layout\n\nThis change add a basic folder structure for\nthe plugin.\nIn the src tree the following folders are created\n\nviews: the django application views\napi: the apis exposed to the the views\ndatasource: a module to encapsulate how data is retrived\nstatic: static content including any javascript\ntemplates: django templates\n\nthe tests folder are extened to also add functional\ntests.\n\nunit tests test indiviual functions within a single module\nmocking most of there depencies. i.e. any calls into horizon.\n\nfunctional tests will prefer less mocks allowing more complciate\nlogic but will not requrie an external web server to host the\nplugin.\n\nlater cypress tests will be added to test end to end functionaltiy.\n\nThe atoms of the plugin shoudl be tested with unit tests\nThe workflows and over all logic with funtional tests\nThe end to end functionality with cypress tests.\n\neach will build on each other with more complexity\nbut getting closer and closer to the end user workflow.\n\nWhile the cypress tests will likely use the fake datasouce\nit will not use any mocking.\n\nChange-Id: I091d42c669f8320c6eee2d13bfc6abdde3d27d5c\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/grian-ui/commit/0cbf75560221e852125a715dddc419434ff95666"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/grian-ui/commit/0cbf75560221e852125a715dddc419434ff95666"}]},"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":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"}}]}],"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":{}}}]}
