)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"d80ceb397426f9246c6f2226150e320bc4cd013a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"d432efa8_ccb83a12","updated":"2022-03-29 22:43:18.000000000","message":"I think we can cover the key field as well. We also need test expansion to cover these cases and a release note.","commit_id":"ece612854ca149f4f28190119beb4cb81954b0bf"},{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"e6da410f1989410b25f5030c460a2764d94bd2b6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"52c3318a_3aeb5f7c","updated":"2022-03-28 07:55:17.000000000","message":"recheck","commit_id":"ece612854ca149f4f28190119beb4cb81954b0bf"},{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"2474f15d748ccb2bf404925a1212bf87d40badec","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"0d29a20b_26124e34","updated":"2022-03-30 14:23:23.000000000","message":"recheck","commit_id":"a2231b3d1b2591766f68ff1c29b8ae54f773b357"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"a43119a5b7f7ec66e5f1de02b76a4e28edcebdc1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"9d53b1d2_7d835be5","updated":"2022-05-05 12:53:54.000000000","message":"LGTM but the release note is missing","commit_id":"a86703b251138315cd53ebbf89db59c8617965f5"}],"octavia/api/v2/types/l7rule.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"d80ceb397426f9246c6f2226150e320bc4cd013a","unresolved":true,"context_lines":[{"line_number":69,"context_line":"    compare_type \u003d wtypes.wsattr("},{"line_number":70,"context_line":"        wtypes.Enum(str, *constants.SUPPORTED_L7RULE_COMPARE_TYPES),"},{"line_number":71,"context_line":"        mandatory\u003dTrue)"},{"line_number":72,"context_line":"    key \u003d wtypes.wsattr(wtypes.StringType(max_length\u003d255))"},{"line_number":73,"context_line":"    value \u003d wtypes.wsattr(wtypes.StringType(max_length\u003d255,"},{"line_number":74,"context_line":"                                            pattern\u003dr\u0027^[^\\r\\n]*$\u0027),"},{"line_number":75,"context_line":"                          mandatory\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":3,"id":"62d9346f_78044ad3","line":72,"updated":"2022-03-29 22:43:18.000000000","message":"What about the key field here?","commit_id":"ece612854ca149f4f28190119beb4cb81954b0bf"},{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"f195fdcc0169258209af7be2c0d0d7ba07ef4286","unresolved":false,"context_lines":[{"line_number":69,"context_line":"    compare_type \u003d wtypes.wsattr("},{"line_number":70,"context_line":"        wtypes.Enum(str, *constants.SUPPORTED_L7RULE_COMPARE_TYPES),"},{"line_number":71,"context_line":"        mandatory\u003dTrue)"},{"line_number":72,"context_line":"    key \u003d wtypes.wsattr(wtypes.StringType(max_length\u003d255))"},{"line_number":73,"context_line":"    value \u003d wtypes.wsattr(wtypes.StringType(max_length\u003d255,"},{"line_number":74,"context_line":"                                            pattern\u003dr\u0027^[^\\r\\n]*$\u0027),"},{"line_number":75,"context_line":"                          mandatory\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":3,"id":"bb6a734a_76fa8d9a","line":72,"in_reply_to":"62d9346f_78044ad3","updated":"2022-03-30 09:34:17.000000000","message":"Done","commit_id":"ece612854ca149f4f28190119beb4cb81954b0bf"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"d80ceb397426f9246c6f2226150e320bc4cd013a","unresolved":true,"context_lines":[{"line_number":92,"context_line":"    compare_type \u003d wtypes.wsattr("},{"line_number":93,"context_line":"        wtypes.Enum(str,"},{"line_number":94,"context_line":"                    *constants.SUPPORTED_L7RULE_COMPARE_TYPES))"},{"line_number":95,"context_line":"    key \u003d wtypes.wsattr(wtypes.StringType(max_length\u003d255))"},{"line_number":96,"context_line":"    value \u003d wtypes.wsattr(wtypes.StringType(max_length\u003d255,"},{"line_number":97,"context_line":"                                            pattern\u003dr\u0027^[^\\r\\n]*$\u0027))"},{"line_number":98,"context_line":"    invert \u003d wtypes.wsattr(bool)"}],"source_content_type":"text/x-python","patch_set":3,"id":"db2747ff_9ddd5d90","line":95,"updated":"2022-03-29 22:43:18.000000000","message":"Same, what about key here?","commit_id":"ece612854ca149f4f28190119beb4cb81954b0bf"},{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"f195fdcc0169258209af7be2c0d0d7ba07ef4286","unresolved":false,"context_lines":[{"line_number":92,"context_line":"    compare_type \u003d wtypes.wsattr("},{"line_number":93,"context_line":"        wtypes.Enum(str,"},{"line_number":94,"context_line":"                    *constants.SUPPORTED_L7RULE_COMPARE_TYPES))"},{"line_number":95,"context_line":"    key \u003d wtypes.wsattr(wtypes.StringType(max_length\u003d255))"},{"line_number":96,"context_line":"    value \u003d wtypes.wsattr(wtypes.StringType(max_length\u003d255,"},{"line_number":97,"context_line":"                                            pattern\u003dr\u0027^[^\\r\\n]*$\u0027))"},{"line_number":98,"context_line":"    invert \u003d wtypes.wsattr(bool)"}],"source_content_type":"text/x-python","patch_set":3,"id":"e3bd15ec_98fcdf9e","line":95,"in_reply_to":"db2747ff_9ddd5d90","updated":"2022-03-30 09:34:17.000000000","message":"Done","commit_id":"ece612854ca149f4f28190119beb4cb81954b0bf"}],"releasenotes/notes/add-API-validation-for-L7-rules-and-session-cookies-cb88f3f1b90171f9.yaml":[{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"58015b3ccbd7c226f6b2825c404917d69406ed70","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"issues:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Added validations in L7 rule and session cookie APIs in order to prevent"},{"line_number":5,"context_line":"    authenticated and authorized users to inject code into HAProxy"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"1f6bbb76_1c3214ef","line":2,"range":{"start_line":2,"start_character":0,"end_line":2,"end_character":6},"updated":"2022-05-07 08:03:17.000000000","message":"\"add smth\" in release notes usually means \"features\" section or you can go here with \"fix\" as well.","commit_id":"3b9fbe77e837ede93ed92e7fb1f24f6ccf7c94b1"},{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"4666639a2fddf43aebbd31c693ab77c3146f0f32","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"issues:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Added validations in L7 rule and session cookie APIs in order to prevent"},{"line_number":5,"context_line":"    authenticated and authorized users to inject code into HAProxy"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"adf36b71_d142edf9","line":2,"range":{"start_line":2,"start_character":0,"end_line":2,"end_character":6},"in_reply_to":"1f6bbb76_1c3214ef","updated":"2022-05-09 08:53:14.000000000","message":"Done","commit_id":"3b9fbe77e837ede93ed92e7fb1f24f6ccf7c94b1"}]}
