)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1054,"name":"Darragh Bailey","email":"daragh.bailey@gmail.com","username":"dbailey-k"},"change_message_id":"f74ff4be173edfb8245c02a6b2941c40d9098122","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix run_script method."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Appending magic string is done without \u0027\\n\u0027 before println() command. This results in wrong parsing of the groovy script."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: I39021f1058e7434d487efb4bc7aca18416b2c08e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"5f7c97a3_ce44b5a1","line":9,"range":{"start_line":9,"start_character":70,"end_line":9,"end_character":121},"updated":"2018-07-10 13:27:19.000000000","message":"This could do with some rewording, I had to read this and the code a few times to understand what you meant.\n\nI believe the problem is the existing code assumes the script sent by the user is terminated with a newline already, which is bad, as that\u0027s not a reasonable assumption to make.","commit_id":"c45999f63364f975d84a4c32a6c8c4a554b90fad"},{"author":{"_account_id":1054,"name":"Darragh Bailey","email":"daragh.bailey@gmail.com","username":"dbailey-k"},"change_message_id":"f74ff4be173edfb8245c02a6b2941c40d9098122","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix run_script method."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Appending magic string is done without \u0027\\n\u0027 before println() command. This results in wrong parsing of the groovy script."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: I39021f1058e7434d487efb4bc7aca18416b2c08e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"5f7c97a3_aed4d9ea","line":9,"range":{"start_line":9,"start_character":69,"end_line":9,"end_character":70},"updated":"2018-07-10 13:27:19.000000000","message":"minor nit, but could you split this to put the rest of this line on a new line as otherwise it goes off the side of the viewer for me.","commit_id":"c45999f63364f975d84a4c32a6c8c4a554b90fad"},{"author":{"_account_id":27105,"name":"Richard Felkl","email":"rfelkl@mirantis.com","username":"rfelkl"},"change_message_id":"96f9028498589bcb23b99db252f75f1ac5f8d0c1","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix run_script method."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Appending magic string is done without \u0027\\n\u0027 before println() command. This results in wrong parsing of the groovy script."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: I39021f1058e7434d487efb4bc7aca18416b2c08e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"5f7c97a3_990609cd","line":9,"range":{"start_line":9,"start_character":69,"end_line":9,"end_character":70},"in_reply_to":"5f7c97a3_aed4d9ea","updated":"2018-07-10 13:40:44.000000000","message":"Done","commit_id":"c45999f63364f975d84a4c32a6c8c4a554b90fad"},{"author":{"_account_id":27105,"name":"Richard Felkl","email":"rfelkl@mirantis.com","username":"rfelkl"},"change_message_id":"96f9028498589bcb23b99db252f75f1ac5f8d0c1","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix run_script method."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Appending magic string is done without \u0027\\n\u0027 before println() command. This results in wrong parsing of the groovy script."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: I39021f1058e7434d487efb4bc7aca18416b2c08e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"5f7c97a3_3909f5da","line":9,"range":{"start_line":9,"start_character":70,"end_line":9,"end_character":121},"in_reply_to":"5f7c97a3_ce44b5a1","updated":"2018-07-10 13:40:44.000000000","message":"Done","commit_id":"c45999f63364f975d84a4c32a6c8c4a554b90fad"}],"jenkins/__init__.py":[{"author":{"_account_id":1054,"name":"Darragh Bailey","email":"daragh.bailey@gmail.com","username":"dbailey-k"},"change_message_id":"f74ff4be173edfb8245c02a6b2941c40d9098122","unresolved":false,"context_lines":[{"line_number":1299,"context_line":"            Plugin:maven-plugin, Plugin:pam-auth]\u0027"},{"line_number":1300,"context_line":"        \u0027\u0027\u0027"},{"line_number":1301,"context_line":"        magic_str \u003d \u0027)]}.\u0027"},{"line_number":1302,"context_line":"        print_magic_str \u003d \u0027\\nprint(\"{}\")\u0027.format(magic_str)"},{"line_number":1303,"context_line":"        data \u003d {\u0027script\u0027: script.encode(\u0027utf-8\u0027) + print_magic_str.encode(\u0027utf-8\u0027)}"},{"line_number":1304,"context_line":"        if node:"},{"line_number":1305,"context_line":"            url \u003d self._build_url(NODE_SCRIPT_TEXT, locals())"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_2e99a91c","line":1302,"range":{"start_line":1302,"start_character":27,"end_line":1302,"end_character":29},"updated":"2018-07-10 13:27:19.000000000","message":"Maybe the better approach is to make sure the two strings below are joined with a \u0027\\n\u0027 before encoding the final result to utf-8. That should make it obvious in the future in case anyone is looking at this and wondering why there needs to be a newline at the start, that it\u0027s actually that it needs to be between the two scripts.","commit_id":"c45999f63364f975d84a4c32a6c8c4a554b90fad"},{"author":{"_account_id":27105,"name":"Richard Felkl","email":"rfelkl@mirantis.com","username":"rfelkl"},"change_message_id":"96f9028498589bcb23b99db252f75f1ac5f8d0c1","unresolved":false,"context_lines":[{"line_number":1299,"context_line":"            Plugin:maven-plugin, Plugin:pam-auth]\u0027"},{"line_number":1300,"context_line":"        \u0027\u0027\u0027"},{"line_number":1301,"context_line":"        magic_str \u003d \u0027)]}.\u0027"},{"line_number":1302,"context_line":"        print_magic_str \u003d \u0027\\nprint(\"{}\")\u0027.format(magic_str)"},{"line_number":1303,"context_line":"        data \u003d {\u0027script\u0027: script.encode(\u0027utf-8\u0027) + print_magic_str.encode(\u0027utf-8\u0027)}"},{"line_number":1304,"context_line":"        if node:"},{"line_number":1305,"context_line":"            url \u003d self._build_url(NODE_SCRIPT_TEXT, locals())"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_590cf1e9","line":1302,"range":{"start_line":1302,"start_character":27,"end_line":1302,"end_character":29},"in_reply_to":"5f7c97a3_2e99a91c","updated":"2018-07-10 13:40:44.000000000","message":"Done","commit_id":"c45999f63364f975d84a4c32a6c8c4a554b90fad"}]}
