)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":34539,"name":"minwoo seo","email":"alsdn1211@naver.com","username":"minwooseo"},"change_message_id":"caf5627ab3573b772ae7a02d9de010c7372b2b0f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"be7aaec4_5205ed19","updated":"2025-02-28 08:44:57.000000000","message":"Recheck Plz","commit_id":"f31f92b641b5441b5d6f24f954ad4a0fb1ae8e3b"},{"author":{"_account_id":34539,"name":"minwoo seo","email":"alsdn1211@naver.com","username":"minwooseo"},"change_message_id":"30ee5666bcb2434a8ad21c9934c93cc219e6264c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"d439dfdf_978396c8","updated":"2025-02-28 07:48:59.000000000","message":"Recheck Plz","commit_id":"f31f92b641b5441b5d6f24f954ad4a0fb1ae8e3b"},{"author":{"_account_id":34539,"name":"minwoo seo","email":"alsdn1211@naver.com","username":"minwooseo"},"change_message_id":"e95748043b96538ad1e7276e90f291c1b10f3eac","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"675f3bfc_79619750","updated":"2025-03-01 02:13:34.000000000","message":"recheck plz","commit_id":"f31f92b641b5441b5d6f24f954ad4a0fb1ae8e3b"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"cc6d4ff81d3ba4e8d4da473e88bc58287883a37e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"4219ed59_2a6e02b4","updated":"2025-04-08 18:48:59.000000000","message":"This was reviewed as part of the PTG review jam.\n\nWe really like this feature, but the ironic-inspector project is no longer maintained and it\u0027s functionality -- including newly added features -- have been absorbed by openstack/ironic. I encourage you in the strongest terms to repush this change adapted for the Ironic repo.\n\nAgain, thank you, and I\u0027m sorry to have to block this.","commit_id":"b67ba91825543e60e80e4536a1b367eea23d1c54"},{"author":{"_account_id":34539,"name":"minwoo seo","email":"alsdn1211@naver.com","username":"minwooseo"},"change_message_id":"4768811805bb0904a335d0964272099d227e04ec","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"c685b2ec_8d2fec7e","in_reply_to":"4219ed59_2a6e02b4","updated":"2025-04-21 11:15:34.000000000","message":"\u003e This was reviewed as part of the PTG review jam.\n\u003e \n\u003e We really like this feature, but the ironic-inspector project is no longer maintained and it\u0027s functionality -- including newly added features -- have been absorbed by openstack/ironic. I encourage you in the strongest terms to repush this change adapted for the Ironic repo.\n\u003e \n\u003e Again, thank you, and I\u0027m sorry to have to block this.\n\nThank you so much for the positive review and helpful guidance during the PTG review jam\n\nFollowing your advice, I’ve ported this change to the openstack/ironic repository as you suggested.\n\nHere’s the new review: https://review.opendev.org/c/openstack/ironic/+/946741","commit_id":"b67ba91825543e60e80e4536a1b367eea23d1c54"}],"ironic_inspector/plugins/rules.py":[{"author":{"_account_id":34539,"name":"minwoo seo","email":"alsdn1211@naver.com","username":"minwooseo"},"change_message_id":"289e02c772137db856568e867847b71a1e178433","unresolved":false,"context_lines":[{"line_number":201,"context_line":"    def apply(self, node_info, params, **kwargs):"},{"line_number":202,"context_line":"        node_info.remove_trait(params[\u0027name\u0027])"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"class CallAPIHook(base.RuleActionPlugin):"},{"line_number":205,"context_line":"    REQUIRED_PARAMS \u003d {\u0027url\u0027, \u0027method\u0027}"},{"line_number":206,"context_line":"    OPTIONAL_PARAMS \u003d {\u0027headers\u0027, \u0027data\u0027, \u0027json\u0027, \u0027params\u0027, \u0027auth\u0027, \u0027timeout\u0027,"},{"line_number":207,"context_line":"                      \u0027allow_redirects\u0027, \u0027verify\u0027, \u0027proxies\u0027}"}],"source_content_type":"text/x-python","patch_set":2,"id":"668c50b4_12895fcc","line":204,"in_reply_to":"40b2b1a6_24aa9d5f","updated":"2025-02-28 05:14:31.000000000","message":"\u003e pep8: E302 expected 2 blank lines, found 1\n\nPlease fix.","commit_id":"5de6062f74ed75cf4ac421459c5cb64ed2c3c3cb"},{"author":{"_account_id":34539,"name":"minwoo seo","email":"alsdn1211@naver.com","username":"minwooseo"},"change_message_id":"30ee5666bcb2434a8ad21c9934c93cc219e6264c","unresolved":false,"context_lines":[{"line_number":201,"context_line":"    def apply(self, node_info, params, **kwargs):"},{"line_number":202,"context_line":"        node_info.remove_trait(params[\u0027name\u0027])"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"class CallAPIHook(base.RuleActionPlugin):"},{"line_number":205,"context_line":"    REQUIRED_PARAMS \u003d {\u0027url\u0027, \u0027method\u0027}"},{"line_number":206,"context_line":"    OPTIONAL_PARAMS \u003d {\u0027headers\u0027, \u0027data\u0027, \u0027json\u0027, \u0027params\u0027, \u0027auth\u0027, \u0027timeout\u0027,"},{"line_number":207,"context_line":"                      \u0027allow_redirects\u0027, \u0027verify\u0027, \u0027proxies\u0027}"}],"source_content_type":"text/x-python","patch_set":2,"id":"aca1affa_c832b044","line":204,"in_reply_to":"668c50b4_12895fcc","updated":"2025-02-28 07:48:59.000000000","message":"Fix","commit_id":"5de6062f74ed75cf4ac421459c5cb64ed2c3c3cb"},{"author":{"_account_id":34539,"name":"minwoo seo","email":"alsdn1211@naver.com","username":"minwooseo"},"change_message_id":"30ee5666bcb2434a8ad21c9934c93cc219e6264c","unresolved":false,"context_lines":[{"line_number":204,"context_line":"class CallAPIHook(base.RuleActionPlugin):"},{"line_number":205,"context_line":"    REQUIRED_PARAMS \u003d {\u0027url\u0027, \u0027method\u0027}"},{"line_number":206,"context_line":"    OPTIONAL_PARAMS \u003d {\u0027headers\u0027, \u0027data\u0027, \u0027json\u0027, \u0027params\u0027, \u0027auth\u0027, \u0027timeout\u0027,"},{"line_number":207,"context_line":"                      \u0027allow_redirects\u0027, \u0027verify\u0027, \u0027proxies\u0027}"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"    def apply(self, node_info, params, **kwargs):"},{"line_number":210,"context_line":"        import requests"}],"source_content_type":"text/x-python","patch_set":2,"id":"975e15fc_97e6a8e2","line":207,"in_reply_to":"14b2d65a_5b5deac7","updated":"2025-02-28 07:48:59.000000000","message":"Fix","commit_id":"5de6062f74ed75cf4ac421459c5cb64ed2c3c3cb"},{"author":{"_account_id":34539,"name":"minwoo seo","email":"alsdn1211@naver.com","username":"minwooseo"},"change_message_id":"289e02c772137db856568e867847b71a1e178433","unresolved":false,"context_lines":[{"line_number":204,"context_line":"class CallAPIHook(base.RuleActionPlugin):"},{"line_number":205,"context_line":"    REQUIRED_PARAMS \u003d {\u0027url\u0027, \u0027method\u0027}"},{"line_number":206,"context_line":"    OPTIONAL_PARAMS \u003d {\u0027headers\u0027, \u0027data\u0027, \u0027json\u0027, \u0027params\u0027, \u0027auth\u0027, \u0027timeout\u0027,"},{"line_number":207,"context_line":"                      \u0027allow_redirects\u0027, \u0027verify\u0027, \u0027proxies\u0027}"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"    def apply(self, node_info, params, **kwargs):"},{"line_number":210,"context_line":"        import requests"}],"source_content_type":"text/x-python","patch_set":2,"id":"14b2d65a_5b5deac7","line":207,"in_reply_to":"68f9172f_2bd1b212","updated":"2025-02-28 05:14:31.000000000","message":"\u003e pep8: E128 continuation line under-indented for visual indent\n\nPlease fix.","commit_id":"5de6062f74ed75cf4ac421459c5cb64ed2c3c3cb"},{"author":{"_account_id":34539,"name":"minwoo seo","email":"alsdn1211@naver.com","username":"minwooseo"},"change_message_id":"caf5627ab3573b772ae7a02d9de010c7372b2b0f","unresolved":false,"context_lines":[{"line_number":201,"context_line":"    def apply(self, node_info, params, **kwargs):"},{"line_number":202,"context_line":"        node_info.remove_trait(params[\u0027name\u0027])"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"class CallAPIHook(base.RuleActionPlugin):"},{"line_number":205,"context_line":"    REQUIRED_PARAMS \u003d {\u0027url\u0027, \u0027method\u0027}"},{"line_number":206,"context_line":"    OPTIONAL_PARAMS \u003d {\u0027headers\u0027, \u0027data\u0027, \u0027json\u0027, \u0027params\u0027, \u0027auth\u0027, \u0027timeout\u0027, \u0027allow_redirects\u0027, \u0027verify\u0027, \u0027proxies\u0027}"},{"line_number":207,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"8294bca6_5b854e4c","line":204,"in_reply_to":"0616d493_cf541b6d","updated":"2025-02-28 08:44:57.000000000","message":"\u003e pep8: E302 expected 2 blank lines, found 1\n\nPlease fix.","commit_id":"992fa850923f76437ef55eeb41244f94fc92e30b"},{"author":{"_account_id":34539,"name":"minwoo seo","email":"alsdn1211@naver.com","username":"minwooseo"},"change_message_id":"caf5627ab3573b772ae7a02d9de010c7372b2b0f","unresolved":false,"context_lines":[{"line_number":203,"context_line":""},{"line_number":204,"context_line":"class CallAPIHook(base.RuleActionPlugin):"},{"line_number":205,"context_line":"    REQUIRED_PARAMS \u003d {\u0027url\u0027, \u0027method\u0027}"},{"line_number":206,"context_line":"    OPTIONAL_PARAMS \u003d {\u0027headers\u0027, \u0027data\u0027, \u0027json\u0027, \u0027params\u0027, \u0027auth\u0027, \u0027timeout\u0027, \u0027allow_redirects\u0027, \u0027verify\u0027, \u0027proxies\u0027}"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"    def apply(self, params, **kwargs):"},{"line_number":209,"context_line":"        import requests"}],"source_content_type":"text/x-python","patch_set":5,"id":"30eaaa25_06085c15","line":206,"in_reply_to":"ed09345c_94146299","updated":"2025-02-28 08:44:57.000000000","message":"\u003e pep8: E501 line too long (118 \u003e 79 characters)\n\nPlease fix.","commit_id":"992fa850923f76437ef55eeb41244f94fc92e30b"},{"author":{"_account_id":34539,"name":"minwoo seo","email":"alsdn1211@naver.com","username":"minwooseo"},"change_message_id":"e95748043b96538ad1e7276e90f291c1b10f3eac","unresolved":false,"context_lines":[{"line_number":201,"context_line":"    def apply(self, node_info, params, **kwargs):"},{"line_number":202,"context_line":"        node_info.remove_trait(params[\u0027name\u0027])"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"class CallAPIHook(base.RuleActionPlugin):"},{"line_number":205,"context_line":"    REQUIRED_PARAMS \u003d {\u0027url\u0027}"},{"line_number":206,"context_line":"    OPTIONAL_PARAMS \u003d {\u0027headers\u0027, \u0027proxies\u0027}"},{"line_number":207,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"d886b461_01c9a73e","line":204,"in_reply_to":"9f008793_787b7b0d","updated":"2025-03-01 02:13:34.000000000","message":"\u003e pep8: E302 expected 2 blank lines, found 1\n\nPlease fix.","commit_id":"f31f92b641b5441b5d6f24f954ad4a0fb1ae8e3b"}]}
