)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":27947,"name":"Egor Panfilov","email":"edpanfilov@sbcloud.ru","username":"erakli"},"change_message_id":"b32819028626b1275112a19cfacba0b09fc30d0f","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"we need to make it easy to understand"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"POST /v1/action_plans/action"},{"line_number":19,"context_line":"the action should be start in above case."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Change-Id: I5353e4aa58d1675d8afb94bea35d9b953514129a"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"9f6a8fd7_b21a3bc9","line":18,"range":{"start_line":18,"start_character":0,"end_line":18,"end_character":28},"updated":"2018-04-23 19:09:19.000000000","message":"Consider update commit message with last changes. For example, isn\u0027t it better to use \u0027POST /v1/action_plans/{action_plan_uuid}/action\u003dstart\u0027 as example?","commit_id":"874ad22a25c1e893784b659516191db190720086"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"cb9abf5608bcc4021b96da7e89759e961c79a82d","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"POST /v1/action_plans/{action_plan_uuid}/start"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"the action should be start in above case."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Change-Id: I5353e4aa58d1675d8afb94bea35d9b953514129a"},{"line_number":23,"context_line":"Closes-Bug: #1756274"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"9f6a8fd7_1f55f0f9","line":20,"updated":"2018-04-26 04:29:31.000000000","message":"remove this line also","commit_id":"9fa3d53ad55bdeb685ad58479992c522b4f6d116"}],"watcher/api/controllers/v1/action_plan.py":[{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"6e8a01594a813b50183d94cfe6cf92ea605059bd","unresolved":false,"context_lines":[{"line_number":89,"context_line":""},{"line_number":90,"context_line":"    efficacyindicator \u003d wtypes.wsattr(types.jsontype, mandatory\u003dFalse,"},{"line_number":91,"context_line":"                                      default\u003d[])"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"    strategy \u003d wtypes.wsattr(wtypes.text, mandatory\u003dFalse)"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"    def as_actionplan(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f6a8fd7_36a49108","line":92,"updated":"2018-04-16 07:13:27.000000000","message":"please check the utility of this method","commit_id":"9c58cb8fc0225011ff71d631f1a5c9725d855556"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"6e8a01594a813b50183d94cfe6cf92ea605059bd","unresolved":false,"context_lines":[{"line_number":516,"context_line":"                action_plan_dict, patch))"},{"line_number":517,"context_line":"        except api_utils.JSONPATCH_EXCEPTIONS as e:"},{"line_number":518,"context_line":"            raise exception.PatchError(patch\u003dpatch, reason\u003de)"},{"line_number":519,"context_line":""},{"line_number":520,"context_line":"        launch_action_plan \u003d False"},{"line_number":521,"context_line":"        cancel_action_plan \u003d False"},{"line_number":522,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9f6a8fd7_56a905dd","line":519,"updated":"2018-04-16 07:13:27.000000000","message":"remove action plan launch logic from here","commit_id":"9c58cb8fc0225011ff71d631f1a5c9725d855556"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"0340a41b37b9ef4334acd1ded76347c278165739","unresolved":false,"context_lines":[{"line_number":569,"context_line":""},{"line_number":570,"context_line":"    @wsme_pecan.wsexpose(ActionPlan, types.uuid)"},{"line_number":571,"context_line":"    def start(self, action_plan_uuid, **kwargs):"},{"line_number":572,"context_line":"        \"\"\"Start an action_plan"},{"line_number":573,"context_line":""},{"line_number":574,"context_line":"        :param action_plan_uuid: UUID  of an action_plan."},{"line_number":575,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":7,"id":"9f6a8fd7_ea3c93c0","line":572,"updated":"2018-04-19 06:31:38.000000000","message":"we cannot start all action plans, the action plan in \u0027RECOMMENDED\u0027 state can only be . started, you should check the current state of action  plan if it is \u0027RECOMMENDED\u0027 then only start action plan otherwise raise exception","commit_id":"feca9831a1610367a36161ce14f0a65bf21c292c"},{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"0340a41b37b9ef4334acd1ded76347c278165739","unresolved":false,"context_lines":[{"line_number":580,"context_line":""},{"line_number":581,"context_line":"        policy.enforce(context, \u0027action_plan:start\u0027, action_plan_to_start,"},{"line_number":582,"context_line":"                       action\u003d\u0027action_plan:start\u0027)"},{"line_number":583,"context_line":""},{"line_number":584,"context_line":"        action_plan_to_start[\u0027state\u0027] \u003d objects.action_plan.State.PENDING"},{"line_number":585,"context_line":"        action_plan_to_start.save()"},{"line_number":586,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"9f6a8fd7_8ab9572f","line":583,"updated":"2018-04-19 06:31:38.000000000","message":"if action_plan_to_start[\u0027state\u0027] !\u003d objects.action_plan.State.RECOMMENDED:\n     raise Exception \n\nsee delete api, for more details","commit_id":"feca9831a1610367a36161ce14f0a65bf21c292c"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"b497c75651493dd31ee2587a91fe0dc892ed91cb","unresolved":false,"context_lines":[{"line_number":572,"context_line":"    def start(self, action_plan_uuid, **kwargs):"},{"line_number":573,"context_line":"        \"\"\"Start an action_plan"},{"line_number":574,"context_line":""},{"line_number":575,"context_line":"        :param action_plan_uuid: UUID  of an action_plan."},{"line_number":576,"context_line":"        \"\"\""},{"line_number":577,"context_line":""},{"line_number":578,"context_line":"        action_plan_to_start \u003d api_utils.get_resource("}],"source_content_type":"text/x-python","patch_set":12,"id":"5f7c97a3_890f44e0","line":575,"range":{"start_line":575,"start_character":37,"end_line":575,"end_character":39},"updated":"2018-05-08 04:14:06.000000000","message":"double space?","commit_id":"fb3814694ea8923af8a655da0a20cd1a1676f62c"},{"author":{"_account_id":13111,"name":"Hidekazu Nakamura","email":"hidekazuna@gmail.com","username":"hid-nakamura"},"change_message_id":"b497c75651493dd31ee2587a91fe0dc892ed91cb","unresolved":false,"context_lines":[{"line_number":572,"context_line":"    def start(self, action_plan_uuid, **kwargs):"},{"line_number":573,"context_line":"        \"\"\"Start an action_plan"},{"line_number":574,"context_line":""},{"line_number":575,"context_line":"        :param action_plan_uuid: UUID  of an action_plan."},{"line_number":576,"context_line":"        \"\"\""},{"line_number":577,"context_line":""},{"line_number":578,"context_line":"        action_plan_to_start \u003d api_utils.get_resource("}],"source_content_type":"text/x-python","patch_set":12,"id":"5f7c97a3_a9124008","line":575,"range":{"start_line":575,"start_character":56,"end_line":575,"end_character":57},"updated":"2018-05-08 04:14:06.000000000","message":"remove .","commit_id":"fb3814694ea8923af8a655da0a20cd1a1676f62c"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"1c24e2fe857732ab8d3bd55b259bcbf6f4608a1e","unresolved":false,"context_lines":[{"line_number":339,"context_line":"    _custom_actions \u003d {"},{"line_number":340,"context_line":"        \u0027start\u0027: [\u0027POST\u0027],"},{"line_number":341,"context_line":"        \u0027detail\u0027: [\u0027GET\u0027]"},{"line_number":342,"context_line":""},{"line_number":343,"context_line":"    }"},{"line_number":344,"context_line":""},{"line_number":345,"context_line":"    def _get_action_plans_collection(self, marker, limit,"}],"source_content_type":"text/x-python","patch_set":13,"id":"5f7c97a3_9f121609","line":342,"updated":"2018-05-08 07:10:40.000000000","message":"remove this space","commit_id":"d9c9bbf71c0d094176126a0d9069f4a4ddcd6f12"}],"watcher/common/policies/action_plan.py":[{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"6e8a01594a813b50183d94cfe6cf92ea605059bd","unresolved":false,"context_lines":[{"line_number":79,"context_line":"        operations\u003d["},{"line_number":80,"context_line":"            {"},{"line_number":81,"context_line":"                \u0027path\u0027: \u0027/v1/action_plans/{action_plan_uuid}\u0027,"},{"line_number":82,"context_line":"                \u0027method\u0027: \u0027POST\u0027"},{"line_number":83,"context_line":"            }"},{"line_number":84,"context_line":"        ]"},{"line_number":85,"context_line":"    )"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f6a8fd7_c306b921","line":82,"updated":"2018-04-16 07:13:27.000000000","message":"This path is not valid for action plan start,\nwe need something like this\nPOST /v1/action_plans/{action_plan_uuid}/action\u003dstart","commit_id":"9c58cb8fc0225011ff71d631f1a5c9725d855556"}],"watcher/tests/api/base.py":[{"author":{"_account_id":19457,"name":"aditi sharma","email":"adi.sky17@gmail.com","username":"aditi"},"change_message_id":"cb9abf5608bcc4021b96da7e89759e961c79a82d","unresolved":false,"context_lines":[{"line_number":44,"context_line":"    Used for functional tests of Pecan controllers where you need to"},{"line_number":45,"context_line":"    test your literal application and its integration with the"},{"line_number":46,"context_line":"    framework."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    \"\"\""},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    SOURCE_DATA \u003d {\u0027test_source\u0027: {\u0027somekey\u0027: \u0027666\u0027}}"}],"source_content_type":"text/x-python","patch_set":10,"id":"9f6a8fd7_5f4fe869","line":47,"updated":"2018-04-26 04:29:31.000000000","message":"remove  blank line","commit_id":"9fa3d53ad55bdeb685ad58479992c522b4f6d116"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"1c24e2fe857732ab8d3bd55b259bcbf6f4608a1e","unresolved":false,"context_lines":[{"line_number":173,"context_line":"        :param extra_environ: a dictionary of environ variables to send along"},{"line_number":174,"context_line":"                              with the request"},{"line_number":175,"context_line":"        :param status: expected status code of response"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"        \"\"\""},{"line_number":178,"context_line":"        return self._request_json(path\u003dpath, params\u003dparams,"},{"line_number":179,"context_line":"                                  expect_errors\u003dexpect_errors,"}],"source_content_type":"text/x-python","patch_set":13,"id":"5f7c97a3_5f1d5e0d","line":176,"updated":"2018-05-08 07:10:40.000000000","message":"shouldn\u0027t we remove it?","commit_id":"d9c9bbf71c0d094176126a0d9069f4a4ddcd6f12"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"1c24e2fe857732ab8d3bd55b259bcbf6f4608a1e","unresolved":false,"context_lines":[{"line_number":193,"context_line":"        :param status: expected status code of response"},{"line_number":194,"context_line":"        :param path_prefix: prefix of the url path"},{"line_number":195,"context_line":"        \"\"\""},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"        full_path \u003d path_prefix + path"},{"line_number":198,"context_line":"        print(\u0027DELETE: %s\u0027 % (full_path))"},{"line_number":199,"context_line":"        response \u003d self.app.delete(str(full_path),"}],"source_content_type":"text/x-python","patch_set":13,"id":"5f7c97a3_1f17e6ef","line":196,"updated":"2018-05-08 07:10:40.000000000","message":"ditto","commit_id":"d9c9bbf71c0d094176126a0d9069f4a4ddcd6f12"}]}
