)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"569d10801dc445dbb0567ecaf3344df38676a4df","unresolved":false,"context_lines":[{"line_number":16,"context_line":"  upon expanding the toggle for the failed test cases, the"},{"line_number":17,"context_line":"  text in the attachments table will be loaded along with the test"},{"line_number":18,"context_line":"  id."},{"line_number":19,"context_line":"  Note: The format of the fail data needs improvement."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Depends-On: I31468c825cf259b8df62134e578f31d96af6ac75"},{"line_number":22,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"df7087c5_0335128f","line":19,"updated":"2018-03-13 05:04:17.000000000","message":"yeah, it could be nicer. It should be suppressed if load_attachments \u003d False at least.","commit_id":"5b312a284d6351d37304be8890a198cdda47e7d1"},{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"e91d9e13ecad59554eded11f37a37f7babf8cd22","unresolved":false,"context_lines":[{"line_number":16,"context_line":"  upon expanding the toggle for the failed test cases, the"},{"line_number":17,"context_line":"  text in the attachments table will be loaded along with the test"},{"line_number":18,"context_line":"  id."},{"line_number":19,"context_line":"  Note: The format of the fail data needs improvement."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Depends-On: I31468c825cf259b8df62134e578f31d96af6ac75"},{"line_number":22,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"df7087c5_8bd28bff","line":19,"in_reply_to":"df7087c5_0335128f","updated":"2018-03-13 13:12:11.000000000","message":"I had thoughts on implementing an html formatter class for generating custom reports but allowing a custom formatter to be provided by the user for overriding.\n\nThe html formatter will be called in the subunit2sql\u0027s parse_outcome method. reports will be inserted as the attachment.","commit_id":"5b312a284d6351d37304be8890a198cdda47e7d1"},{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"a198c1df382b7c48f38ad881fcd2743cc95d8330","unresolved":false,"context_lines":[{"line_number":19,"context_line":"  test_runs is not defined, which directly correlates to the"},{"line_number":20,"context_line":"  load_attachments config option."},{"line_number":21,"context_line":"  * To improve the fail data output, the testtools Content"},{"line_number":22,"context_line":"    object is stored using it\u0027s as_text method."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Depends-On: I31468c825cf259b8df62134e578f31d96af6ac75"},{"line_number":25,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"df7087c5_6d582287","line":22,"range":{"start_line":22,"start_character":32,"end_line":22,"end_character":39},"updated":"2018-03-15 18:24:36.000000000","message":"sorry I forgot to provide a link:\nhttps://review.openstack.org/#/c/552152/4/subunit2sql/read_subunit.py@76","commit_id":"a8e0189ee3d77bdf6dfebc18d3469afccc779e1d"}],"app/styles/_openstack-health.scss":[{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"55234393bc45aad6abfcfe614a98ce17ff341f3d","unresolved":false,"context_lines":[{"line_number":43,"context_line":"    }"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    tbody {"},{"line_number":46,"context_line":"        td.pre-wrap{"},{"line_number":47,"context_line":"            white-space: pre-wrap;"},{"line_number":48,"context_line":"        }"},{"line_number":49,"context_line":"        td.nowrap{"},{"line_number":50,"context_line":"            white-space: nowrap;"},{"line_number":51,"context_line":"        }"},{"line_number":52,"context_line":"        td:not(.nowrap):not(.pre-wrap) {"},{"line_number":53,"context_line":"            white-space: normal !important;"},{"line_number":54,"context_line":"            word-wrap: break-word;"},{"line_number":55,"context_line":"            max-width: 650px;"}],"source_content_type":"text/x-scss","patch_set":8,"id":"1f769fc5_51e6d846","line":52,"range":{"start_line":46,"start_character":8,"end_line":52,"end_character":40},"updated":"2018-12-27 18:23:54.000000000","message":"This is not appearing in my git history. Not sure why this is here.","commit_id":"01167afcc1f4cc4f62efe82e4015e8477a2380a1"},{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"a51844d0deca3283a2ccc728888337e856a5be06","unresolved":false,"context_lines":[{"line_number":43,"context_line":"    }"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    tbody {"},{"line_number":46,"context_line":"        td.pre-wrap{"},{"line_number":47,"context_line":"            white-space: pre-wrap;"},{"line_number":48,"context_line":"        }"},{"line_number":49,"context_line":"        td.nowrap{"},{"line_number":50,"context_line":"            white-space: nowrap;"},{"line_number":51,"context_line":"        }"},{"line_number":52,"context_line":"        td:not(.nowrap):not(.pre-wrap) {"},{"line_number":53,"context_line":"            white-space: normal !important;"},{"line_number":54,"context_line":"            word-wrap: break-word;"},{"line_number":55,"context_line":"            max-width: 650px;"}],"source_content_type":"text/x-scss","patch_set":8,"id":"dfd5e7cf_883f59d5","line":52,"range":{"start_line":46,"start_character":8,"end_line":52,"end_character":40},"in_reply_to":"1f769fc5_51e6d846","updated":"2019-01-07 13:32:56.000000000","message":"wait maybe I meant to add this.. sorry, let me double check. I thought I added a css change, this is probably it.","commit_id":"01167afcc1f4cc4f62efe82e4015e8477a2380a1"},{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"5ebe64deb5caeeeec86fdffc5844763bd47c18f4","unresolved":false,"context_lines":[{"line_number":43,"context_line":"    }"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    tbody {"},{"line_number":46,"context_line":"        td.pre-wrap{"},{"line_number":47,"context_line":"            white-space: pre-wrap;"},{"line_number":48,"context_line":"        }"},{"line_number":49,"context_line":"        td.nowrap{"},{"line_number":50,"context_line":"            white-space: nowrap;"},{"line_number":51,"context_line":"        }"},{"line_number":52,"context_line":"        td:not(.nowrap):not(.pre-wrap) {"},{"line_number":53,"context_line":"            white-space: normal !important;"},{"line_number":54,"context_line":"            word-wrap: break-word;"},{"line_number":55,"context_line":"            max-width: 650px;"}],"source_content_type":"text/x-scss","patch_set":8,"id":"dfd5e7cf_944bf485","line":52,"range":{"start_line":46,"start_character":8,"end_line":52,"end_character":40},"in_reply_to":"dfd5e7cf_883f59d5","updated":"2019-01-07 16:05:40.000000000","message":"Nevermind, I was getting an error about not finding the provider I added, renaming the function with a suffix of Provider fixed the issue.","commit_id":"01167afcc1f4cc4f62efe82e4015e8477a2380a1"}],"app/views/templates/run-details.html":[{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"569d10801dc445dbb0567ecaf3344df38676a4df","unresolved":false,"context_lines":[{"line_number":16,"context_line":"            \u003ctd\u003e{{ v.start_time | date:\u0027M/d/yyyy HH:mm\u0027 }}\u003c/td\u003e"},{"line_number":17,"context_line":"            \u003ctd\u003e{{ v.stop_time | date:\u0027M/d/yyyy HH:mm\u0027 }}\u003c/td\u003e"},{"line_number":18,"context_line":"        \u003c/tr\u003e"},{"line_number":19,"context_line":"        \u003ctr\u003e"},{"line_number":20,"context_line":"            \u003ctd colspan\u003d\"3\"\u003eFail Data\u003c/td\u003e"},{"line_number":21,"context_line":"        \u003c/tr\u003e"},{"line_number":22,"context_line":"        \u003ctr\u003e"}],"source_content_type":"text/html","patch_set":1,"id":"df7087c5_a325465e","line":19,"updated":"2018-03-13 05:04:17.000000000","message":"I think it\u0027s nicer to suppress if load_attachments \u003d True.","commit_id":"5b312a284d6351d37304be8890a198cdda47e7d1"},{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"e91d9e13ecad59554eded11f37a37f7babf8cd22","unresolved":false,"context_lines":[{"line_number":16,"context_line":"            \u003ctd\u003e{{ v.start_time | date:\u0027M/d/yyyy HH:mm\u0027 }}\u003c/td\u003e"},{"line_number":17,"context_line":"            \u003ctd\u003e{{ v.stop_time | date:\u0027M/d/yyyy HH:mm\u0027 }}\u003c/td\u003e"},{"line_number":18,"context_line":"        \u003c/tr\u003e"},{"line_number":19,"context_line":"        \u003ctr\u003e"},{"line_number":20,"context_line":"            \u003ctd colspan\u003d\"3\"\u003eFail Data\u003c/td\u003e"},{"line_number":21,"context_line":"        \u003c/tr\u003e"},{"line_number":22,"context_line":"        \u003ctr\u003e"}],"source_content_type":"text/html","patch_set":1,"id":"df7087c5_eb9b0763","line":19,"in_reply_to":"df7087c5_a325465e","updated":"2018-03-13 13:12:11.000000000","message":"Right, i will apply a change similar to the likely bugs column.\n\nI will be updating this with label information as well.","commit_id":"5b312a284d6351d37304be8890a198cdda47e7d1"},{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"a464a6c61b2c2a2ef064a32d5abf38f9770bff52","unresolved":false,"context_lines":[{"line_number":16,"context_line":"            \u003ctd\u003e{{ v.start_time | date:\u0027M/d/yyyy HH:mm\u0027 }}\u003c/td\u003e"},{"line_number":17,"context_line":"            \u003ctd\u003e{{ v.stop_time | date:\u0027M/d/yyyy HH:mm\u0027 }}\u003c/td\u003e"},{"line_number":18,"context_line":"        \u003c/tr\u003e"},{"line_number":19,"context_line":"        \u003ctr\u003e"},{"line_number":20,"context_line":"            \u003ctd colspan\u003d\"3\"\u003eFail Data\u003c/td\u003e"},{"line_number":21,"context_line":"        \u003c/tr\u003e"},{"line_number":22,"context_line":"        \u003ctr\u003e"}],"source_content_type":"text/html","patch_set":1,"id":"bf659307_ef79372f","line":19,"in_reply_to":"df7087c5_eb9b0763","updated":"2018-04-06 17:00:45.000000000","message":"I think the change in PS2 satisfies the comment because v.attachments will be empty if load_attachments\u003dFalse thus supressing the rendering","commit_id":"5b312a284d6351d37304be8890a198cdda47e7d1"},{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"293aaa4850658fc63995de7e723bce91f63d1d93","unresolved":false,"context_lines":[{"line_number":17,"context_line":"            \u003ctd\u003e{{ v.stop_time | date:\u0027M/d/yyyy HH:mm\u0027 }}\u003c/td\u003e"},{"line_number":18,"context_line":"        \u003c/tr\u003e"},{"line_number":19,"context_line":"        \u003ctr ng-repeat\u003d\"obj in v.attachments\"\u003e"},{"line_number":20,"context_line":"            \u003ctd colspan\u003d\"1\"\u003e{{ obj.label }}\u003c/td\u003e"},{"line_number":21,"context_line":"            \u003ctd colspan\u003d\"2\"\u003e{{ obj.attachment }}\u003c/td\u003e"},{"line_number":22,"context_line":"        \u003c/tr\u003e"},{"line_number":23,"context_line":"    \u003c/tbody\u003e"},{"line_number":24,"context_line":"\u003c/table\u003e"}],"source_content_type":"text/html","patch_set":2,"id":"df7087c5_0ecf5b56","line":21,"range":{"start_line":20,"start_character":12,"end_line":21,"end_character":53},"updated":"2018-03-13 22:29:26.000000000","message":"I don\u0027t like how these are in the same row, but the nest directive expects a certain format that can be hard to work with. it uses logic like el.parent().parent() to get controller resources or something like that :/ https://github.com/openstack/openstack-health/blob/a10d099d23b5fb890ed19b8e89495d53faa01861/app/js/directives/nest.js#L50","commit_id":"a8e0189ee3d77bdf6dfebc18d3469afccc779e1d"},{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"ff57cbe739a6dad205573326aaf4dfc0e4ff8fcc","unresolved":false,"context_lines":[{"line_number":16,"context_line":"            \u003ctd\u003e{{ v.start_time | date:\u0027M/d/yyyy HH:mm\u0027 }}\u003c/td\u003e"},{"line_number":17,"context_line":"            \u003ctd\u003e{{ v.stop_time | date:\u0027M/d/yyyy HH:mm\u0027 }}\u003c/td\u003e"},{"line_number":18,"context_line":"        \u003c/tr\u003e"},{"line_number":19,"context_line":"        \u003ctr ng-repeat\u003d\"obj in v.attachments\"\u003e"},{"line_number":20,"context_line":"            \u003ctd colspan\u003d\"1\"\u003e{{ obj.label }}\u003c/td\u003e"},{"line_number":21,"context_line":"            \u003ctd colspan\u003d\"2\"\u003e{{ obj.attachment }}\u003c/td\u003e"},{"line_number":22,"context_line":"        \u003c/tr\u003e"}],"source_content_type":"text/html","patch_set":3,"id":"9f6a8fd7_2facc632","line":19,"updated":"2018-04-19 21:19:56.000000000","message":"Q: what is the max number of attachments we want loaded per job? I think the preferred way is to allow the user to close and open attachments where the label is next to the button per job so that the number of loaded attachments (in the frontend) is up to the user.","commit_id":"e4a52d1cd2dbf8fcc57a604b2a157097e5f34898"}],"openstack_health/api.py":[{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"a464a6c61b2c2a2ef064a32d5abf38f9770bff52","unresolved":false,"context_lines":[{"line_number":533,"context_line":"        bug_dict[run] \u003d elastic_recheck_cached(change_num, patch_num,"},{"line_number":534,"context_line":"                                               short_uuid)"},{"line_number":535,"context_line":""},{"line_number":536,"context_line":"    @region.cache_on_arguments()"},{"line_number":537,"context_line":"    def _get_recent(status):"},{"line_number":538,"context_line":"        with session_scope() as session:"},{"line_number":539,"context_line":"            failed_runs \u003d api.get_recent_failed_runs(num_runs, session)"}],"source_content_type":"text/x-python","patch_set":2,"id":"bf659307_2fb64fdb","line":536,"range":{"start_line":536,"start_character":4,"end_line":536,"end_character":32},"updated":"2018-04-06 17:00:45.000000000","message":"sorry im not too familiar with dogpile caching, i think this may be stopping the config option from switching if a reviewer is getting the same recent failed runs over and over for testing but im not sure.","commit_id":"a8e0189ee3d77bdf6dfebc18d3469afccc779e1d"},{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"16cf0d8beec01805add1c5d9fbaaffbc73f0626d","unresolved":false,"context_lines":[{"line_number":533,"context_line":"        bug_dict[run] \u003d elastic_recheck_cached(change_num, patch_num,"},{"line_number":534,"context_line":"                                               short_uuid)"},{"line_number":535,"context_line":""},{"line_number":536,"context_line":"    @region.cache_on_arguments()"},{"line_number":537,"context_line":"    def _get_recent(status):"},{"line_number":538,"context_line":"        with session_scope() as session:"},{"line_number":539,"context_line":"            failed_runs \u003d api.get_recent_failed_runs(num_runs, session)"}],"source_content_type":"text/x-python","patch_set":2,"id":"bf659307_cc0933dd","line":536,"range":{"start_line":536,"start_character":4,"end_line":536,"end_character":32},"in_reply_to":"bf659307_2fb64fdb","updated":"2018-04-13 18:42:38.000000000","message":"I found the config option for the expire, for testing we can reduce the time to merely update when we want. ill update the commit message with this info.","commit_id":"a8e0189ee3d77bdf6dfebc18d3469afccc779e1d"},{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"16cf0d8beec01805add1c5d9fbaaffbc73f0626d","unresolved":false,"context_lines":[{"line_number":573,"context_line":"                run[\u0027stop_time\u0027] \u003d run[\u0027stop_time\u0027].isoformat()"},{"line_number":574,"context_line":"                run[\u0027job_name\u0027] \u003d job_names.get(run[\u0027uuid\u0027])"},{"line_number":575,"context_line":"                if load_attachments:"},{"line_number":576,"context_line":"                    run[\u0027attachments\u0027] \u003d run[\u0027attachments\u0027]"},{"line_number":577,"context_line":"                output.append(run)"},{"line_number":578,"context_line":"            for thread in query_threads:"},{"line_number":579,"context_line":"                thread.join()"}],"source_content_type":"text/x-python","patch_set":2,"id":"bf659307_4c70c372","line":576,"range":{"start_line":576,"start_character":20,"end_line":576,"end_character":59},"updated":"2018-04-13 18:42:38.000000000","message":"also, attachments key isn\u0027t guaranteed to exist. If no attachments were queried, this will be a keyerror. So I\u0027m going to fix that first then make another patch after that one. Also using test_id for uniqueness of the attachments dict for the subunit2sql patch was not sufficient, trying to switch to uuid.","commit_id":"a8e0189ee3d77bdf6dfebc18d3469afccc779e1d"},{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"0f6fe756dc420c34f77f4056f55eb7716ce4c496","unresolved":false,"context_lines":[{"line_number":573,"context_line":"                run[\u0027stop_time\u0027] \u003d run[\u0027stop_time\u0027].isoformat()"},{"line_number":574,"context_line":"                run[\u0027job_name\u0027] \u003d job_names.get(run[\u0027uuid\u0027])"},{"line_number":575,"context_line":"                if load_attachments and \u0027attachments\u0027 in run:"},{"line_number":576,"context_line":"                    run[\u0027attachments\u0027] \u003d run[\u0027attachments\u0027]"},{"line_number":577,"context_line":"                output.append(run)"},{"line_number":578,"context_line":"            for thread in query_threads:"},{"line_number":579,"context_line":"                thread.join()"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_727b1c7a","line":576,"range":{"start_line":576,"start_character":20,"end_line":576,"end_character":59},"updated":"2018-04-13 20:09:11.000000000","message":"wait i dont think i even need to do this? haha :D","commit_id":"e4a52d1cd2dbf8fcc57a604b2a157097e5f34898"},{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"e0b10a91b34bb7932e542ed13f58ae12d7f2f0d6","unresolved":false,"context_lines":[{"line_number":598,"context_line":"                    for attachment in run[\u0027attachments\u0027]:"},{"line_number":599,"context_line":"                        content \u003d attachment[\u0027attachment\u0027]"},{"line_number":600,"context_line":"                        # try to parse value property"},{"line_number":601,"context_line":"                        if \u0027value\u003d\u0027 in content:"},{"line_number":602,"context_line":"                            content \u003d content.split(\u0027value\u003d\u0027, 1)[1]"},{"line_number":603,"context_line":"                            # remove trailing \u0027\u003e\u0027"},{"line_number":604,"context_line":"                            content \u003d content[:-1]"},{"line_number":605,"context_line":"                        content \u003d content.replace(\"\\\\n\", \"\u003cbr /\u003e\")"},{"line_number":606,"context_line":"                        attachment[\u0027attachment\u0027] \u003d content"},{"line_number":607,"context_line":"                output.append(run)"}],"source_content_type":"text/x-python","patch_set":6,"id":"1f769fc5_0b14b19f","line":604,"range":{"start_line":601,"start_character":24,"end_line":604,"end_character":50},"updated":"2018-12-27 15:29:23.000000000","message":"This part can go away once we merge, https://review.openstack.org/#/c/627409/","commit_id":"a6578c646fa13a7c934747f7f066ee82e6a73bfa"}]}
