)]}'
{"test-requirements.txt":[{"author":{"_account_id":20033,"name":"Artur Basiak","email":"artur.basiak@ts.fujitsu.com","username":"abasiak"},"change_message_id":"ab3d624001c316c5928b7cb9115f016a4dc8f91f","unresolved":false,"context_lines":[{"line_number":13,"context_line":"SQLAlchemy!\u003d1.1.5,!\u003d1.1.6,!\u003d1.1.7,!\u003d1.1.8,\u003e\u003d1.0.10 # MIT"},{"line_number":14,"context_line":"PyMySQL\u003e\u003d0.7.6 # MIT License"},{"line_number":15,"context_line":"psycopg2\u003e\u003d2.5 # LGPL/ZPL"},{"line_number":16,"context_line":"jira # BSD"},{"line_number":17,"context_line":"jinja2 # BSD"}],"source_content_type":"text/plain","patch_set":3,"id":"1f1a1f67_bb8c907f","line":17,"range":{"start_line":16,"start_character":0,"end_line":17,"end_character":12},"updated":"2017-07-14 11:56:56.000000000","message":"This should be only available if jira plugin is required.\nThis can be moved to setup.cfg and to tox. Installation should looks like:\n\n  pip install monasca-notification[jira-plugin]\n\nPlease search info how to extract specified installation for dependecies/plugins.","commit_id":"c857b236fc729682194daf02eccf90e64bfd5ffd"},{"author":{"_account_id":17981,"name":"Haruki Yamanashi","email":"h.yamanashi@jp.fujitsu.com","username":"Haruki"},"change_message_id":"1d0f5ebff3d57a18d86e6f6af4b7e82898408829","unresolved":false,"context_lines":[{"line_number":13,"context_line":"SQLAlchemy!\u003d1.1.5,!\u003d1.1.6,!\u003d1.1.7,!\u003d1.1.8,\u003e\u003d1.0.10 # MIT"},{"line_number":14,"context_line":"PyMySQL\u003e\u003d0.7.6 # MIT License"},{"line_number":15,"context_line":"psycopg2\u003e\u003d2.5 # LGPL/ZPL"},{"line_number":16,"context_line":"jira # BSD"},{"line_number":17,"context_line":"jinja2 # BSD"}],"source_content_type":"text/plain","patch_set":3,"id":"1f1a1f67_520ba828","line":17,"range":{"start_line":16,"start_character":0,"end_line":17,"end_character":12},"in_reply_to":"1f1a1f67_bb8c907f","updated":"2017-07-19 04:08:17.000000000","message":"Done","commit_id":"c857b236fc729682194daf02eccf90e64bfd5ffd"}],"tests/test_jira_notification.py":[{"author":{"_account_id":13702,"name":"yushiro","username":"yushiro","inactive":true},"change_message_id":"f46ee9530ce71325e28bdbc6debcab84c2b7e799","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":2,"context_line":"# you may not use this file except in compliance with the License."},{"line_number":3,"context_line":"# You may obtain a copy of the License at"},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f1a1f67_61d53843","line":1,"updated":"2017-07-14 04:44:09.000000000","message":"Missing copyright","commit_id":"c857b236fc729682194daf02eccf90e64bfd5ffd"},{"author":{"_account_id":17981,"name":"Haruki Yamanashi","email":"h.yamanashi@jp.fujitsu.com","username":"Haruki"},"change_message_id":"1d0f5ebff3d57a18d86e6f6af4b7e82898408829","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":2,"context_line":"# you may not use this file except in compliance with the License."},{"line_number":3,"context_line":"# You may obtain a copy of the License at"},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f1a1f67_3206ec21","line":1,"in_reply_to":"1f1a1f67_61d53843","updated":"2017-07-19 04:08:17.000000000","message":"Done","commit_id":"c857b236fc729682194daf02eccf90e64bfd5ffd"},{"author":{"_account_id":13702,"name":"yushiro","username":"yushiro","inactive":true},"change_message_id":"f46ee9530ce71325e28bdbc6debcab84c2b7e799","unresolved":false,"context_lines":[{"line_number":23,"context_line":"else:"},{"line_number":24,"context_line":"    import queue"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"def alarm(metrics):"},{"line_number":27,"context_line":"    return {\u0027tenantId\u0027: \u00270\u0027,"},{"line_number":28,"context_line":"            \u0027alarmId\u0027: \u00270\u0027,"},{"line_number":29,"context_line":"            \u0027alarmDefinitionId\u0027: 0,"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f1a1f67_9631b80e","line":26,"range":{"start_line":26,"start_character":10,"end_line":26,"end_character":17},"updated":"2017-07-14 04:44:09.000000000","message":"it looks unnecessary argument.  How about changing keyword argument?","commit_id":"c857b236fc729682194daf02eccf90e64bfd5ffd"},{"author":{"_account_id":17981,"name":"Haruki Yamanashi","email":"h.yamanashi@jp.fujitsu.com","username":"Haruki"},"change_message_id":"1d0f5ebff3d57a18d86e6f6af4b7e82898408829","unresolved":false,"context_lines":[{"line_number":23,"context_line":"else:"},{"line_number":24,"context_line":"    import queue"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"def alarm(metrics):"},{"line_number":27,"context_line":"    return {\u0027tenantId\u0027: \u00270\u0027,"},{"line_number":28,"context_line":"            \u0027alarmId\u0027: \u00270\u0027,"},{"line_number":29,"context_line":"            \u0027alarmDefinitionId\u0027: 0,"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f1a1f67_2602310b","line":26,"range":{"start_line":26,"start_character":10,"end_line":26,"end_character":17},"in_reply_to":"1f1a1f67_9631b80e","updated":"2017-07-19 04:08:17.000000000","message":"Done","commit_id":"c857b236fc729682194daf02eccf90e64bfd5ffd"},{"author":{"_account_id":13702,"name":"yushiro","username":"yushiro","inactive":true},"change_message_id":"f46ee9530ce71325e28bdbc6debcab84c2b7e799","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"def issue(component\u003dTrue, custom_config\u003dFalse):"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    issue \u003d {\u0027fields\u0027: {\u0027description\u0027: \u0027Monasca alaram\u0027,"},{"line_number":44,"context_line":"             \u0027issuetype\u0027: {\u0027name\u0027: \u0027Bug\u0027},"},{"line_number":45,"context_line":"             \u0027project\u0027: {\u0027key\u0027: \u0027MyProject\u0027},"},{"line_number":46,"context_line":"             \u0027summary\u0027: \u0027Monasca alarm for alarm_defintion test Alarm status \u0027 \\"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f1a1f67_2519b178","line":43,"updated":"2017-07-14 04:44:09.000000000","message":"It\u0027s better to nest for each dict","commit_id":"c857b236fc729682194daf02eccf90e64bfd5ffd"},{"author":{"_account_id":17981,"name":"Haruki Yamanashi","email":"h.yamanashi@jp.fujitsu.com","username":"Haruki"},"change_message_id":"1d0f5ebff3d57a18d86e6f6af4b7e82898408829","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"def issue(component\u003dTrue, custom_config\u003dFalse):"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    issue \u003d {\u0027fields\u0027: {\u0027description\u0027: \u0027Monasca alaram\u0027,"},{"line_number":44,"context_line":"             \u0027issuetype\u0027: {\u0027name\u0027: \u0027Bug\u0027},"},{"line_number":45,"context_line":"             \u0027project\u0027: {\u0027key\u0027: \u0027MyProject\u0027},"},{"line_number":46,"context_line":"             \u0027summary\u0027: \u0027Monasca alarm for alarm_defintion test Alarm status \u0027 \\"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f1a1f67_0605f510","line":43,"in_reply_to":"1f1a1f67_2519b178","updated":"2017-07-19 04:08:17.000000000","message":"Done","commit_id":"c857b236fc729682194daf02eccf90e64bfd5ffd"},{"author":{"_account_id":13702,"name":"yushiro","username":"yushiro","inactive":true},"change_message_id":"f46ee9530ce71325e28bdbc6debcab84c2b7e799","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        issue[\u0027fields\u0027].update({\u0027components\u0027: [{\u0027name\u0027: \u0027MyComponent\u0027}]})"},{"line_number":50,"context_line":"    if custom_config:"},{"line_number":51,"context_line":"        summary_format_string \u003d \u0027Alaram created for {0} with severity {1} for {2}\u0027"},{"line_number":52,"context_line":"        summary \u003d summary_format_string.format(alarm(\u0027metrics\u0027).get(\u0027alarmName\u0027),"},{"line_number":53,"context_line":"                                               alarm(\u0027metrics\u0027).get(\u0027newState\u0027),"},{"line_number":54,"context_line":"                                               alarm(\u0027metrics\u0027).get(\u0027alarmId\u0027))"},{"line_number":55,"context_line":"        issue[\u0027fields\u0027].update({\u0027summary\u0027: summary})"},{"line_number":56,"context_line":"    return issue"},{"line_number":57,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1f1a1f67_96be5863","line":54,"range":{"start_line":52,"start_character":47,"end_line":54,"end_character":79},"updated":"2017-07-14 04:44:09.000000000","message":"Is there any reason why you call alarm() at each case?  Isn\u0027t it enough to call once and refer \u0027alarmName\u0027, \u0027newState\u0027 and \u0027alarmId\u0027?\n\nIn addition, you should align with a type of value \u0027metrics\u0027 in alarm().  Whitch is correct type, list or string?  It looks list(Line#95)\n\n \u0027metrics\u0027: [{\u0027dimension\u0027: {\u0027hostname\u0027: \u0027foo1\u0027, \u0027service\u0027: \u0027bar1\u0027}}]","commit_id":"c857b236fc729682194daf02eccf90e64bfd5ffd"},{"author":{"_account_id":17981,"name":"Haruki Yamanashi","email":"h.yamanashi@jp.fujitsu.com","username":"Haruki"},"change_message_id":"1d0f5ebff3d57a18d86e6f6af4b7e82898408829","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        issue[\u0027fields\u0027].update({\u0027components\u0027: [{\u0027name\u0027: \u0027MyComponent\u0027}]})"},{"line_number":50,"context_line":"    if custom_config:"},{"line_number":51,"context_line":"        summary_format_string \u003d \u0027Alaram created for {0} with severity {1} for {2}\u0027"},{"line_number":52,"context_line":"        summary \u003d summary_format_string.format(alarm(\u0027metrics\u0027).get(\u0027alarmName\u0027),"},{"line_number":53,"context_line":"                                               alarm(\u0027metrics\u0027).get(\u0027newState\u0027),"},{"line_number":54,"context_line":"                                               alarm(\u0027metrics\u0027).get(\u0027alarmId\u0027))"},{"line_number":55,"context_line":"        issue[\u0027fields\u0027].update({\u0027summary\u0027: summary})"},{"line_number":56,"context_line":"    return issue"},{"line_number":57,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1f1a1f67_e6079917","line":54,"range":{"start_line":52,"start_character":47,"end_line":54,"end_character":79},"in_reply_to":"1f1a1f67_96be5863","updated":"2017-07-19 04:08:17.000000000","message":"Done","commit_id":"c857b236fc729682194daf02eccf90e64bfd5ffd"},{"author":{"_account_id":13702,"name":"yushiro","username":"yushiro","inactive":true},"change_message_id":"f46ee9530ce71325e28bdbc6debcab84c2b7e799","unresolved":false,"context_lines":[{"line_number":112,"context_line":""},{"line_number":113,"context_line":"        return mock_jira, mock_jira_obj, self._jr.send_notification(notification)"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"    def test_jira_issue_status_resolved(self):"},{"line_number":116,"context_line":"        mock_jira, mock_jira_obj, result \u003d self._notify(TestJira.default_transitions_value,"},{"line_number":117,"context_line":"                                                        TestJira.issue_status_resolved,"},{"line_number":118,"context_line":"                                                        self._jira_config,"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f1a1f67_21a860d9","line":115,"range":{"start_line":115,"start_character":8,"end_line":115,"end_character":23},"updated":"2017-07-14 04:44:09.000000000","message":"I\u0027m confusing what are you going to test.  You call \u0027self._notify\u0027 and check return values.  Finally, in \u0027self._notify\u0027, you call self._jr.send_notification().  Therefore, is this method tests \u0027send_notification\u0027?  If so, you should modify the name of test method to \u0027test_send_notification_...\u0027 for readability.\n(Class name already describes Jira so you don\u0027t need to specify \u0027jira\u0027 again)","commit_id":"c857b236fc729682194daf02eccf90e64bfd5ffd"},{"author":{"_account_id":17981,"name":"Haruki Yamanashi","email":"h.yamanashi@jp.fujitsu.com","username":"Haruki"},"change_message_id":"1d0f5ebff3d57a18d86e6f6af4b7e82898408829","unresolved":false,"context_lines":[{"line_number":112,"context_line":""},{"line_number":113,"context_line":"        return mock_jira, mock_jira_obj, self._jr.send_notification(notification)"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"    def test_jira_issue_status_resolved(self):"},{"line_number":116,"context_line":"        mock_jira, mock_jira_obj, result \u003d self._notify(TestJira.default_transitions_value,"},{"line_number":117,"context_line":"                                                        TestJira.issue_status_resolved,"},{"line_number":118,"context_line":"                                                        self._jira_config,"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f1a1f67_8610e54f","line":115,"range":{"start_line":115,"start_character":8,"end_line":115,"end_character":23},"in_reply_to":"1f1a1f67_21a860d9","updated":"2017-07-19 04:08:17.000000000","message":"Done","commit_id":"c857b236fc729682194daf02eccf90e64bfd5ffd"},{"author":{"_account_id":13702,"name":"yushiro","username":"yushiro","inactive":true},"change_message_id":"f46ee9530ce71325e28bdbc6debcab84c2b7e799","unresolved":false,"context_lines":[{"line_number":118,"context_line":"                                                        self._jira_config,"},{"line_number":119,"context_line":"                                                        TestJira.default_address)"},{"line_number":120,"context_line":"        self.assertTrue(result)"},{"line_number":121,"context_line":"        self.assertFalse(mock_jira_obj.create_issue.called)"},{"line_number":122,"context_line":"        self.assertEqual("},{"line_number":123,"context_line":"            \"project\u003dMyProject and reporter\u003d\u0027username\u0027 and summary ~ \u00270\u0027\","},{"line_number":124,"context_line":"            mock_jira_obj.search_issues.call_args[0][0])"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f1a1f67_81d2945b","line":121,"updated":"2017-07-14 04:44:09.000000000","message":"assert_not_called() is better.\n\n  mock_jira_obj.create_issue.assert_not_called()","commit_id":"c857b236fc729682194daf02eccf90e64bfd5ffd"},{"author":{"_account_id":17981,"name":"Haruki Yamanashi","email":"h.yamanashi@jp.fujitsu.com","username":"Haruki"},"change_message_id":"1d0f5ebff3d57a18d86e6f6af4b7e82898408829","unresolved":false,"context_lines":[{"line_number":118,"context_line":"                                                        self._jira_config,"},{"line_number":119,"context_line":"                                                        TestJira.default_address)"},{"line_number":120,"context_line":"        self.assertTrue(result)"},{"line_number":121,"context_line":"        self.assertFalse(mock_jira_obj.create_issue.called)"},{"line_number":122,"context_line":"        self.assertEqual("},{"line_number":123,"context_line":"            \"project\u003dMyProject and reporter\u003d\u0027username\u0027 and summary ~ \u00270\u0027\","},{"line_number":124,"context_line":"            mock_jira_obj.search_issues.call_args[0][0])"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f1a1f67_661b8972","line":121,"in_reply_to":"1f1a1f67_81d2945b","updated":"2017-07-19 04:08:17.000000000","message":"Done","commit_id":"c857b236fc729682194daf02eccf90e64bfd5ffd"},{"author":{"_account_id":13702,"name":"yushiro","username":"yushiro","inactive":true},"change_message_id":"f46ee9530ce71325e28bdbc6debcab84c2b7e799","unresolved":false,"context_lines":[{"line_number":244,"context_line":""},{"line_number":245,"context_line":"    def test_jira_custom_config_exception(self):"},{"line_number":246,"context_line":"        jira_config \u003d self._jira_config"},{"line_number":247,"context_line":"        jira_config.update("},{"line_number":248,"context_line":"            {\u0027custom_formatter\u0027: \u0027tests/not_exist_file.yml\u0027})"},{"line_number":249,"context_line":"        self.assertRaises(Exception, self._notify,"},{"line_number":250,"context_line":"                          TestJira.default_transitions_value,"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f1a1f67_0198c4bd","line":247,"updated":"2017-07-14 04:44:09.000000000","message":"unnecessary indent","commit_id":"c857b236fc729682194daf02eccf90e64bfd5ffd"},{"author":{"_account_id":17981,"name":"Haruki Yamanashi","email":"h.yamanashi@jp.fujitsu.com","username":"Haruki"},"change_message_id":"1d0f5ebff3d57a18d86e6f6af4b7e82898408829","unresolved":false,"context_lines":[{"line_number":244,"context_line":""},{"line_number":245,"context_line":"    def test_jira_custom_config_exception(self):"},{"line_number":246,"context_line":"        jira_config \u003d self._jira_config"},{"line_number":247,"context_line":"        jira_config.update("},{"line_number":248,"context_line":"            {\u0027custom_formatter\u0027: \u0027tests/not_exist_file.yml\u0027})"},{"line_number":249,"context_line":"        self.assertRaises(Exception, self._notify,"},{"line_number":250,"context_line":"                          TestJira.default_transitions_value,"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f1a1f67_46164d4b","line":247,"in_reply_to":"1f1a1f67_0198c4bd","updated":"2017-07-19 04:08:17.000000000","message":"Done","commit_id":"c857b236fc729682194daf02eccf90e64bfd5ffd"},{"author":{"_account_id":17331,"name":"Koji Nakazono","email":"nakazono_0507@jp.fujitsu.com","username":"Koji_Nakazono"},"change_message_id":"97b9b500a620408df92dcdb8960ec4130aa5f555","unresolved":false,"context_lines":[{"line_number":156,"context_line":"                                                        TestJira.default_address)"},{"line_number":157,"context_line":"        self.assertTrue(result)"},{"line_number":158,"context_line":"        mock_jira_obj.create_issue.assert_not_called()"},{"line_number":159,"context_line":"        mock_jira_obj.transitions_issue.assert_not_called()"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"    def test_send_notification_without_issue_list(self):"},{"line_number":162,"context_line":"        issue_status \u003d None"}],"source_content_type":"text/x-python","patch_set":5,"id":"1f1a1f67_66e5c937","line":159,"range":{"start_line":159,"start_character":22,"end_line":159,"end_character":39},"updated":"2017-07-19 04:16:47.000000000","message":"\"transition_issue\" should be correct.","commit_id":"d5b909919980d9c541593f1ef520e061bde95f0f"},{"author":{"_account_id":17981,"name":"Haruki Yamanashi","email":"h.yamanashi@jp.fujitsu.com","username":"Haruki"},"change_message_id":"c8bfdd7c4922b60e030cc33e011404764b5c8d7f","unresolved":false,"context_lines":[{"line_number":156,"context_line":"                                                        TestJira.default_address)"},{"line_number":157,"context_line":"        self.assertTrue(result)"},{"line_number":158,"context_line":"        mock_jira_obj.create_issue.assert_not_called()"},{"line_number":159,"context_line":"        mock_jira_obj.transitions_issue.assert_not_called()"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"    def test_send_notification_without_issue_list(self):"},{"line_number":162,"context_line":"        issue_status \u003d None"}],"source_content_type":"text/x-python","patch_set":5,"id":"1f1a1f67_e60d59e8","line":159,"range":{"start_line":159,"start_character":22,"end_line":159,"end_character":39},"in_reply_to":"1f1a1f67_66e5c937","updated":"2017-07-19 04:20:28.000000000","message":"Done","commit_id":"d5b909919980d9c541593f1ef520e061bde95f0f"}],"tests/test_jiraformat.yml":[{"author":{"_account_id":20033,"name":"Artur Basiak","email":"artur.basiak@ts.fujitsu.com","username":"abasiak"},"change_message_id":"ab3d624001c316c5928b7cb9115f016a4dc8f91f","unresolved":false,"context_lines":[{"line_number":1,"context_line":"jira_format:"},{"line_number":2,"context_line":"  summary: Alaram created for {{ notification.alarm_name }} with severity"},{"line_number":3,"context_line":"           {{ notification.state }} for {{ notification.alarm_id }}"},{"line_number":4,"context_line":"  description : \"{{ notification.alarm_name }}\""},{"line_number":5,"context_line":"  comments :  |"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"1f1a1f67_5b09fc29","line":2,"range":{"start_line":2,"start_character":11,"end_line":2,"end_character":17},"updated":"2017-07-14 11:56:56.000000000","message":"typo","commit_id":"c857b236fc729682194daf02eccf90e64bfd5ffd"}],"tests/test_jiraformat_without_comments.yml":[{"author":{"_account_id":20033,"name":"Artur Basiak","email":"artur.basiak@ts.fujitsu.com","username":"abasiak"},"change_message_id":"ab3d624001c316c5928b7cb9115f016a4dc8f91f","unresolved":false,"context_lines":[{"line_number":1,"context_line":"jira_format:"},{"line_number":2,"context_line":"  summary: Alaram created for {{ notification.alarm_name }} with severity"},{"line_number":3,"context_line":"           {{ notification.state }} for {{ notification.alarm_id }}"},{"line_number":4,"context_line":"  description : \"{{ notification.alarm_name }}\""}],"source_content_type":"text/x-yaml","patch_set":3,"id":"1f1a1f67_9b28b486","line":2,"range":{"start_line":2,"start_character":11,"end_line":2,"end_character":17},"updated":"2017-07-14 11:56:56.000000000","message":"typo","commit_id":"c857b236fc729682194daf02eccf90e64bfd5ffd"}],"tools/tox_install.sh":[{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"1ccdc86b900c306d39d0a67e1cce4dd2c8b7f3e7","unresolved":false,"context_lines":[{"line_number":59,"context_line":""},{"line_number":60,"context_line":"# Install plugin dependencies"},{"line_number":61,"context_line":"# Jira"},{"line_number":62,"context_line":"if [ -f $PLUGIN_DIR/jira_notifier.py ]; then"},{"line_number":63,"context_line":"$install_cmd $PACKAGE_NAME[jira_plugin]"},{"line_number":64,"context_line":"fi"},{"line_number":65,"context_line":""}],"source_content_type":"text/x-sh","patch_set":6,"id":"1f1a1f67_e9a3eafe","line":62,"updated":"2017-07-19 04:59:00.000000000","message":"That\u0027s not how you do it. You specify those dependencies in tox, similar to sth like this\n  \n  deps \u003d \n    .[jira-plugin]","commit_id":"f51a9213f7d0dd7453905f9f77f3e0e6ca105e64"},{"author":{"_account_id":17981,"name":"Haruki Yamanashi","email":"h.yamanashi@jp.fujitsu.com","username":"Haruki"},"change_message_id":"bd3914f7546f7f4f2ea5225a9a040260856be21f","unresolved":false,"context_lines":[{"line_number":59,"context_line":""},{"line_number":60,"context_line":"# Install plugin dependencies"},{"line_number":61,"context_line":"# Jira"},{"line_number":62,"context_line":"if [ -f $PLUGIN_DIR/jira_notifier.py ]; then"},{"line_number":63,"context_line":"$install_cmd $PACKAGE_NAME[jira_plugin]"},{"line_number":64,"context_line":"fi"},{"line_number":65,"context_line":""}],"source_content_type":"text/x-sh","patch_set":6,"id":"1f1a1f67_55d94d1f","line":62,"in_reply_to":"1f1a1f67_e9a3eafe","updated":"2017-07-19 08:11:32.000000000","message":"Done","commit_id":"f51a9213f7d0dd7453905f9f77f3e0e6ca105e64"}],"tox.ini":[{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"32a218873c6fe11d32c8bf4731d1e65abea84641","unresolved":false,"context_lines":[{"line_number":18,"context_line":"                      find"},{"line_number":19,"context_line":"                      rm"},{"line_number":20,"context_line":"deps \u003d -r{toxinidir}/test-requirements.txt"},{"line_number":21,"context_line":"       .[jira_plugin]"},{"line_number":22,"context_line":"commands \u003d"},{"line_number":23,"context_line":" find . -type f -name \"*.pyc\" -delete"},{"line_number":24,"context_line":" rm -Rf .testrepository/times.dbm"}],"source_content_type":"text/x-properties","patch_set":7,"id":"1f1a1f67_b50adcce","line":21,"updated":"2017-07-19 10:25:20.000000000","message":"+1","commit_id":"46a36adde04febeaa723e0b68de0d2045b9f9210"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"32a218873c6fe11d32c8bf4731d1e65abea84641","unresolved":false,"context_lines":[{"line_number":66,"context_line":"[testenv:flake8]"},{"line_number":67,"context_line":"commands \u003d"},{"line_number":68,"context_line":"  flake8 monasca_notification"},{"line_number":69,"context_line":"  flake8 tests"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"[testenv:bandit]"},{"line_number":72,"context_line":"commands \u003d"}],"source_content_type":"text/x-properties","patch_set":7,"id":"1f1a1f67_d50798c9","line":69,"updated":"2017-07-19 10:25:20.000000000","message":"+1","commit_id":"46a36adde04febeaa723e0b68de0d2045b9f9210"}]}
