)]}'
{"jenkins/__init__.py":[{"author":{"_account_id":24162,"name":"Sorin Sbârnea","display_name":"zbr","email":"ssbarnea@redhat.com","username":"ssbarnea","status":"do not feed the troll 🥕"},"change_message_id":"c60fe65ab31727a39951409ea9ef2f27e0c13c35","unresolved":false,"context_lines":[{"line_number":1303,"context_line":"        if not result.endswith(magic_str):"},{"line_number":1304,"context_line":"            raise JenkinsException(result)"},{"line_number":1305,"context_line":""},{"line_number":1306,"context_line":"        return result.replace(magic_str, \u0027\u0027)"},{"line_number":1307,"context_line":""},{"line_number":1308,"context_line":"    def install_plugin(self, name, include_dependencies\u003dTrue):"},{"line_number":1309,"context_line":"        \u0027\u0027\u0027Install a plugin and its dependencies from the Jenkins public"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_a9efe5af","line":1306,"updated":"2018-06-14 18:58:53.000000000","message":"This is not safe, need to remove it from the end of string, a replace could modify to  much, especially as current magic string seems to be very short.","commit_id":"f3a03e499aa32ee1b2a36dbe52caf7fc30371c3f"},{"author":{"_account_id":13807,"name":"Thanh Ha","display_name":"zxiiro","email":"zxiiro@gmail.com","username":"zxiiro"},"change_message_id":"b3e242fc099941bf7e5f08156ed8b58699babfe8","unresolved":false,"context_lines":[{"line_number":1303,"context_line":"        if not result.endswith(magic_str):"},{"line_number":1304,"context_line":"            raise JenkinsException(result)"},{"line_number":1305,"context_line":""},{"line_number":1306,"context_line":"        return result.replace(magic_str, \u0027\u0027)"},{"line_number":1307,"context_line":""},{"line_number":1308,"context_line":"    def install_plugin(self, name, include_dependencies\u003dTrue):"},{"line_number":1309,"context_line":"        \u0027\u0027\u0027Install a plugin and its dependencies from the Jenkins public"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_a542930e","line":1306,"in_reply_to":"5f7c97a3_a9efe5af","updated":"2018-06-15 15:44:24.000000000","message":"Done","commit_id":"f3a03e499aa32ee1b2a36dbe52caf7fc30371c3f"}],"tests/test_script.py":[{"author":{"_account_id":13807,"name":"Thanh Ha","display_name":"zxiiro","email":"zxiiro@gmail.com","username":"zxiiro"},"change_message_id":"7b9c98a307bbcff8be0f1f05c60791d45c84f5b9","unresolved":false,"context_lines":[{"line_number":23,"context_line":"        self.assertEqual("},{"line_number":24,"context_line":"            jenkins_mock.call_args[0][0].url,"},{"line_number":25,"context_line":"            self.make_url(\u0027scriptText\u0027))"},{"line_number":26,"context_line":"        self.assertIn(quote(\u0027\u0026\u0026\u0027), jenkins_mock.call_args[0][0].data.decode(\u0027utf8\u0027))"},{"line_number":27,"context_line":"        self._check_requests(jenkins_mock.call_args_list)"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    @patch.object(jenkins.Jenkins, \u0027jenkins_open\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_26559bc2","side":"PARENT","line":26,"updated":"2018-06-11 17:21:11.000000000","message":"We no longer need this since using a dictionary method we don\u0027t need to encode with quote().","commit_id":"a3c3672a6fa7b77ade89bac138442f39cf281af4"}]}
