)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"0fa29850fb44c62625c0bdb1ac5027e76c71519e","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Ardar Martian \u003cardar@126.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-08-10 09:26:47 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"a bug when process jenkins url with prefix, like: http://yourIP:port/prefix/"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: I1b69adf121ee74e3336ac9bd1d4d55797fb72de5"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9ad45d7e_6bb607fa","line":7,"updated":"2016-08-11 15:52:17.000000000","message":"1. Is there a bug report?  If so, it should be referenced with a \"Closes-Bug\" footer.\n\n2. The first line of the commit message should be a summary of what the change does.  Ideally, that summary would be 50 characters long or less.\n\n3. There should be a paragraph describing how the change accomplishes its bug fix.\n\nYou may want to read [1] for more information on how we like commit messages structured.\n\n[1] https://wiki.openstack.org/wiki/GitCommitMessages","commit_id":"4b02232732d4e1421ac4fbb1056d6b236625e3b8"},{"author":{"_account_id":2475,"name":"Antoine Musso","email":"hashar@free.fr","username":"hashar"},"change_message_id":"2d3273e9b61958ae9c5b30f061aea0c192e0203f","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Ardar Martian \u003cardar@126.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-08-10 09:26:47 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"a bug when process jenkins url with prefix, like: http://yourIP:port/prefix/"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: I1b69adf121ee74e3336ac9bd1d4d55797fb72de5"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9a629dbe_9f36e501","line":7,"in_reply_to":"9ad45d7e_6bb607fa","updated":"2016-11-08 09:52:30.000000000","message":"Done. I rephrased the summary message in PS2.","commit_id":"4b02232732d4e1421ac4fbb1056d6b236625e3b8"}],"jenkins/__init__.py":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"0fa29850fb44c62625c0bdb1ac5027e76c71519e","unresolved":false,"context_lines":[{"line_number":1149,"context_line":"                    executor_number \u003d executor[\u0027number\u0027]"},{"line_number":1150,"context_line":"                    build_number \u003d executable[\u0027number\u0027]"},{"line_number":1151,"context_line":"                    url \u003d executable[\u0027url\u0027]"},{"line_number":1152,"context_line":"                    m \u003d re.match(r\u0027.*/job/([^/]+)/.*\u0027, urlparse(url).path)"},{"line_number":1153,"context_line":"                    job_name \u003d m.group(1)"},{"line_number":1154,"context_line":"                    builds.append({\u0027name\u0027: job_name,"},{"line_number":1155,"context_line":"                                   \u0027number\u0027: build_number,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9ad45d7e_eb99577a","line":1152,"updated":"2016-08-11 15:52:17.000000000","message":"Is this the only example of this problem?","commit_id":"4b02232732d4e1421ac4fbb1056d6b236625e3b8"},{"author":{"_account_id":2475,"name":"Antoine Musso","email":"hashar@free.fr","username":"hashar"},"change_message_id":"2d3273e9b61958ae9c5b30f061aea0c192e0203f","unresolved":false,"context_lines":[{"line_number":1149,"context_line":"                    executor_number \u003d executor[\u0027number\u0027]"},{"line_number":1150,"context_line":"                    build_number \u003d executable[\u0027number\u0027]"},{"line_number":1151,"context_line":"                    url \u003d executable[\u0027url\u0027]"},{"line_number":1152,"context_line":"                    m \u003d re.match(r\u0027.*/job/([^/]+)/.*\u0027, urlparse(url).path)"},{"line_number":1153,"context_line":"                    job_name \u003d m.group(1)"},{"line_number":1154,"context_line":"                    builds.append({\u0027name\u0027: job_name,"},{"line_number":1155,"context_line":"                                   \u0027number\u0027: build_number,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a629dbe_9f68a5f7","line":1152,"in_reply_to":"9ad45d7e_eb99577a","updated":"2016-11-08 09:52:30.000000000","message":"Almost.\n\n2aa1a5f1b8fce6fe8bdde3805748a97079da53dc introduced the test scenario system to have the test suite run with a server URL not having any path (eg: http://example.org/) and with a path (eg: http://example.org/ci/).\n\nBut for the scenario to be applied, the tests should not hardcode any URL and instead rely on the helper make_url() which would craft a url with or without a path depending on the scenario being played.\n\nPatchset 2 does the switch to make_url for the JenkinsListRunningBuildsTest class that covers get_running_builds() and would have caught the bug.  Would have to update the other tests.\n\nI changed from re.match() to re.search().","commit_id":"4b02232732d4e1421ac4fbb1056d6b236625e3b8"}]}
