)]}'
{"mistral/api/controllers/v2/action.py":[{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"2936f4ce9895c150ed944595150f0e74b0645964","unresolved":false,"context_lines":[{"line_number":66,"context_line":"    def put(self, identifier\u003dNone):"},{"line_number":67,"context_line":"        \"\"\"Update one or more actions."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        :param identifier: Optional. If provided, it\u0027s UUID of an action."},{"line_number":70,"context_line":"            Only one action can be updated with identifier param."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"        NOTE: This text is allowed to have definitions"}],"source_content_type":"text/x-python","patch_set":1,"id":"1f1a1f67_f308fe2d","line":69,"range":{"start_line":69,"start_character":50,"end_line":69,"end_character":72},"updated":"2017-07-14 03:59:47.000000000","message":"Not quite true. I know it\u0027s slightly weird sounding but it can be either UUID or the name of the action. That\u0027s why it\u0027s called \"identifier\" and not ID. It\u0027s just a historical thing. Initially, for a user it was possible to identify actions and workflows only by names on API (the unique key is the pair \u003cproject_id, name\u003e), but at some point we decided to implement sharing resources (workflows, actions) between tenants and the problem was that there could be multiple actions/workflows in different tenants having same names so with many tenants names became not unique. That\u0027s why we made this temporary trade-off, being able to refer actions/workflows by using both IDs and names under the same parameter \"identifier\".","commit_id":"fbfa3d9c8923cec0a1295721bdd09c57688cf960"},{"author":{"_account_id":7065,"name":"Brad P. Crochet","email":"brad@redhat.com","username":"bcrochet"},"change_message_id":"b53f7f77e57e557308eb70d03a7e4a638b1f2663","unresolved":false,"context_lines":[{"line_number":66,"context_line":"    def put(self, identifier\u003dNone):"},{"line_number":67,"context_line":"        \"\"\"Update one or more actions."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        :param identifier: Optional. If provided, it\u0027s UUID of an action."},{"line_number":70,"context_line":"            Only one action can be updated with identifier param."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"        NOTE: This text is allowed to have definitions"}],"source_content_type":"text/x-python","patch_set":1,"id":"1f1a1f67_c2aac0d0","line":69,"in_reply_to":"1f1a1f67_f308fe2d","updated":"2017-07-14 13:35:02.000000000","message":"Done","commit_id":"fbfa3d9c8923cec0a1295721bdd09c57688cf960"},{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"65716c18eb23ddfb7cc14ae8bce8bb3abf274e4b","unresolved":false,"context_lines":[{"line_number":135,"context_line":"    def delete(self, identifier):"},{"line_number":136,"context_line":"        \"\"\"Delete the named action."},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"        :param identifier: Name of the action to delete"},{"line_number":139,"context_line":"        \"\"\""},{"line_number":140,"context_line":"        acl.enforce(\u0027actions:delete\u0027, context.ctx())"},{"line_number":141,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1f1a1f67_5893195c","line":138,"range":{"start_line":138,"start_character":15,"end_line":138,"end_character":25},"updated":"2017-07-17 05:27:56.000000000","message":"Same here. It\u0027s UUID or a name. Please also put a period in the end.","commit_id":"ff0309dd15d6aa9cf92b008e764a5bca0511b890"},{"author":{"_account_id":7065,"name":"Brad P. Crochet","email":"brad@redhat.com","username":"bcrochet"},"change_message_id":"543dc046bf796ae85f17fdcb509620b3493f31a1","unresolved":false,"context_lines":[{"line_number":135,"context_line":"    def delete(self, identifier):"},{"line_number":136,"context_line":"        \"\"\"Delete the named action."},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"        :param identifier: Name of the action to delete"},{"line_number":139,"context_line":"        \"\"\""},{"line_number":140,"context_line":"        acl.enforce(\u0027actions:delete\u0027, context.ctx())"},{"line_number":141,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1f1a1f67_fe6d23cc","line":138,"in_reply_to":"1f1a1f67_5893195c","updated":"2017-07-17 12:53:20.000000000","message":"Done","commit_id":"ff0309dd15d6aa9cf92b008e764a5bca0511b890"}],"mistral/api/controllers/v2/action_execution.py":[{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"2936f4ce9895c150ed944595150f0e74b0645964","unresolved":false,"context_lines":[{"line_number":118,"context_line":"    def get(self, id):"},{"line_number":119,"context_line":"        \"\"\"Return the specified action_execution."},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"        :param id: Name or ID of action execution to retrieve"},{"line_number":122,"context_line":"        \"\"\""},{"line_number":123,"context_line":"        acl.enforce(\u0027action_executions:get\u0027, context.ctx())"},{"line_number":124,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1f1a1f67_360c243a","line":121,"range":{"start_line":121,"start_character":19,"end_line":121,"end_character":61},"updated":"2017-07-14 03:59:47.000000000","message":"This is quite opposite to what I described in actions controller. If a parameter is called \"id\" it\u0027s always UUID, not a name. Semantically, execution objects can\u0027t ever be identified by names because even within one tenant we may and usually have many executions of one action/workflow.","commit_id":"fbfa3d9c8923cec0a1295721bdd09c57688cf960"},{"author":{"_account_id":7065,"name":"Brad P. Crochet","email":"brad@redhat.com","username":"bcrochet"},"change_message_id":"b53f7f77e57e557308eb70d03a7e4a638b1f2663","unresolved":false,"context_lines":[{"line_number":118,"context_line":"    def get(self, id):"},{"line_number":119,"context_line":"        \"\"\"Return the specified action_execution."},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"        :param id: Name or ID of action execution to retrieve"},{"line_number":122,"context_line":"        \"\"\""},{"line_number":123,"context_line":"        acl.enforce(\u0027action_executions:get\u0027, context.ctx())"},{"line_number":124,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1f1a1f67_0282f84f","line":121,"in_reply_to":"1f1a1f67_360c243a","updated":"2017-07-14 13:35:02.000000000","message":"Done","commit_id":"fbfa3d9c8923cec0a1295721bdd09c57688cf960"},{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"2936f4ce9895c150ed944595150f0e74b0645964","unresolved":false,"context_lines":[{"line_number":412,"context_line":""},{"line_number":413,"context_line":"    @rest_utils.wrap_wsme_controller_exception"},{"line_number":414,"context_line":"    @wsme_pecan.wsexpose(resources.ActionExecution, wtypes.text, wtypes.text)"},{"line_number":415,"context_line":"    def get(self, task_execution_id, action_ex_id):"},{"line_number":416,"context_line":"        \"\"\"Return the specified action_execution."},{"line_number":417,"context_line":""},{"line_number":418,"context_line":"        :param task_execution_id: Task execution ID"}],"source_content_type":"text/x-python","patch_set":1,"id":"1f1a1f67_367304b4","line":415,"range":{"start_line":415,"start_character":18,"end_line":415,"end_character":35},"updated":"2017-07-14 03:59:47.000000000","message":"Btw, just a side note: I don\u0027t remember why we still have this parameter. Action executions are uniquely identified by IDs so \"action_ex_id\" is enough. Maybe it\u0027s some backwards compatible thing?","commit_id":"fbfa3d9c8923cec0a1295721bdd09c57688cf960"},{"author":{"_account_id":7065,"name":"Brad P. Crochet","email":"brad@redhat.com","username":"bcrochet"},"change_message_id":"b53f7f77e57e557308eb70d03a7e4a638b1f2663","unresolved":false,"context_lines":[{"line_number":412,"context_line":""},{"line_number":413,"context_line":"    @rest_utils.wrap_wsme_controller_exception"},{"line_number":414,"context_line":"    @wsme_pecan.wsexpose(resources.ActionExecution, wtypes.text, wtypes.text)"},{"line_number":415,"context_line":"    def get(self, task_execution_id, action_ex_id):"},{"line_number":416,"context_line":"        \"\"\"Return the specified action_execution."},{"line_number":417,"context_line":""},{"line_number":418,"context_line":"        :param task_execution_id: Task execution ID"}],"source_content_type":"text/x-python","patch_set":1,"id":"1f1a1f67_02f798f7","line":415,"in_reply_to":"1f1a1f67_367304b4","updated":"2017-07-14 13:35:02.000000000","message":"Done","commit_id":"fbfa3d9c8923cec0a1295721bdd09c57688cf960"},{"author":{"_account_id":21970,"name":"Andras Kovi","email":"akovi@nokia.com","username":"andras.kovi"},"change_message_id":"1f58c69f9ed8025539e8f831cfbee2d2692b8675","unresolved":false,"context_lines":[{"line_number":132,"context_line":"    def post(self, action_ex):"},{"line_number":133,"context_line":"        \"\"\"Create new action_execution."},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"        :param action_ex: Action to execute"},{"line_number":136,"context_line":"        \"\"\""},{"line_number":137,"context_line":"        acl.enforce(\u0027action_executions:create\u0027, context.ctx())"},{"line_number":138,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1f1a1f67_8cd8207b","line":135,"range":{"start_line":135,"start_character":26,"end_line":135,"end_character":32},"updated":"2017-07-18 14:11:34.000000000","message":"Please elaborate on the expected data format and type or include link to doc.","commit_id":"6d34a0059f4aad82df61ee3f3bbd596cf441feb5"},{"author":{"_account_id":7065,"name":"Brad P. Crochet","email":"brad@redhat.com","username":"bcrochet"},"change_message_id":"3aea3975d56c04e250527bc1d16556b57f6607b4","unresolved":false,"context_lines":[{"line_number":132,"context_line":"    def post(self, action_ex):"},{"line_number":133,"context_line":"        \"\"\"Create new action_execution."},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"        :param action_ex: Action to execute"},{"line_number":136,"context_line":"        \"\"\""},{"line_number":137,"context_line":"        acl.enforce(\u0027action_executions:create\u0027, context.ctx())"},{"line_number":138,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1f1a1f67_91927456","line":135,"in_reply_to":"1f1a1f67_8cd8207b","updated":"2017-07-18 15:44:11.000000000","message":"Please look at the generated docs.","commit_id":"6d34a0059f4aad82df61ee3f3bbd596cf441feb5"},{"author":{"_account_id":21970,"name":"Andras Kovi","email":"akovi@nokia.com","username":"andras.kovi"},"change_message_id":"1f58c69f9ed8025539e8f831cfbee2d2692b8675","unresolved":false,"context_lines":[{"line_number":166,"context_line":"    def put(self, id, action_ex):"},{"line_number":167,"context_line":"        \"\"\"Update the specified action_execution."},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"        :param action_ex: Action execution to update"},{"line_number":170,"context_line":"        \"\"\""},{"line_number":171,"context_line":"        acl.enforce(\u0027action_executions:update\u0027, context.ctx())"},{"line_number":172,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1f1a1f67_4cce88b4","line":169,"range":{"start_line":169,"start_character":9,"end_line":169,"end_character":18},"updated":"2017-07-18 14:11:34.000000000","message":"Please add id.\nPlease elaborate on the expected data format and type or include link to doc.","commit_id":"6d34a0059f4aad82df61ee3f3bbd596cf441feb5"},{"author":{"_account_id":7065,"name":"Brad P. Crochet","email":"brad@redhat.com","username":"bcrochet"},"change_message_id":"3aea3975d56c04e250527bc1d16556b57f6607b4","unresolved":false,"context_lines":[{"line_number":166,"context_line":"    def put(self, id, action_ex):"},{"line_number":167,"context_line":"        \"\"\"Update the specified action_execution."},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"        :param action_ex: Action execution to update"},{"line_number":170,"context_line":"        \"\"\""},{"line_number":171,"context_line":"        acl.enforce(\u0027action_executions:update\u0027, context.ctx())"},{"line_number":172,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1f1a1f67_b1d21027","line":169,"in_reply_to":"1f1a1f67_4cce88b4","updated":"2017-07-18 15:44:11.000000000","message":"Please take a look at the actual doc output. There is an automatic link to the ActionExecution type.\n\nGood catch on the ID.","commit_id":"6d34a0059f4aad82df61ee3f3bbd596cf441feb5"},{"author":{"_account_id":21970,"name":"Andras Kovi","email":"akovi@nokia.com","username":"andras.kovi"},"change_message_id":"1f58c69f9ed8025539e8f831cfbee2d2692b8675","unresolved":false,"context_lines":[{"line_number":292,"context_line":"    def delete(self, id):"},{"line_number":293,"context_line":"        \"\"\"Delete the specified action_execution."},{"line_number":294,"context_line":""},{"line_number":295,"context_line":"        :param id: Action execution to delete"},{"line_number":296,"context_line":"        \"\"\""},{"line_number":297,"context_line":"        acl.enforce(\u0027action_executions:delete\u0027, context.ctx())"},{"line_number":298,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1f1a1f67_8c3dc090","line":295,"range":{"start_line":295,"start_character":19,"end_line":295,"end_character":25},"updated":"2017-07-18 14:11:34.000000000","message":"Please match with the description at get(). I\u0027d rather we add UUID everywhere to make it unambigous.","commit_id":"6d34a0059f4aad82df61ee3f3bbd596cf441feb5"},{"author":{"_account_id":7065,"name":"Brad P. Crochet","email":"brad@redhat.com","username":"bcrochet"},"change_message_id":"3aea3975d56c04e250527bc1d16556b57f6607b4","unresolved":false,"context_lines":[{"line_number":292,"context_line":"    def delete(self, id):"},{"line_number":293,"context_line":"        \"\"\"Delete the specified action_execution."},{"line_number":294,"context_line":""},{"line_number":295,"context_line":"        :param id: Action execution to delete"},{"line_number":296,"context_line":"        \"\"\""},{"line_number":297,"context_line":"        acl.enforce(\u0027action_executions:delete\u0027, context.ctx())"},{"line_number":298,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1f1a1f67_d19a2c60","line":295,"in_reply_to":"1f1a1f67_8c3dc090","updated":"2017-07-18 15:44:11.000000000","message":"Done","commit_id":"6d34a0059f4aad82df61ee3f3bbd596cf441feb5"}],"mistral/api/controllers/v2/cron_trigger.py":[{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"2936f4ce9895c150ed944595150f0e74b0645964","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    def get(self, name):"},{"line_number":36,"context_line":"        \"\"\"Returns the named cron_trigger."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"        :param name: Name or ID of cron trigger to retrieve"},{"line_number":39,"context_line":"        \"\"\""},{"line_number":40,"context_line":"        acl.enforce(\u0027cron_triggers:get\u0027, context.ctx())"},{"line_number":41,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1f1a1f67_36a8a4d9","line":38,"range":{"start_line":38,"start_character":29,"end_line":38,"end_character":32},"updated":"2017-07-14 03:59:47.000000000","message":"For cron triggers it\u0027s always names (didn\u0027t finish that \"identifier\" refactoring for them).","commit_id":"fbfa3d9c8923cec0a1295721bdd09c57688cf960"},{"author":{"_account_id":7065,"name":"Brad P. Crochet","email":"brad@redhat.com","username":"bcrochet"},"change_message_id":"b53f7f77e57e557308eb70d03a7e4a638b1f2663","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    def get(self, name):"},{"line_number":36,"context_line":"        \"\"\"Returns the named cron_trigger."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"        :param name: Name or ID of cron trigger to retrieve"},{"line_number":39,"context_line":"        \"\"\""},{"line_number":40,"context_line":"        acl.enforce(\u0027cron_triggers:get\u0027, context.ctx())"},{"line_number":41,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1f1a1f67_82e2882e","line":38,"in_reply_to":"1f1a1f67_36a8a4d9","updated":"2017-07-14 13:35:02.000000000","message":"Done","commit_id":"fbfa3d9c8923cec0a1295721bdd09c57688cf960"},{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"2936f4ce9895c150ed944595150f0e74b0645964","unresolved":false,"context_lines":[{"line_number":80,"context_line":"    def delete(self, name):"},{"line_number":81,"context_line":"        \"\"\"Delete cron trigger."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"        :param name: Name or ID of cron trigger to delete"},{"line_number":84,"context_line":"        \"\"\""},{"line_number":85,"context_line":"        acl.enforce(\u0027cron_triggers:delete\u0027, context.ctx())"},{"line_number":86,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1f1a1f67_b6b3944d","line":83,"range":{"start_line":83,"start_character":29,"end_line":83,"end_character":31},"updated":"2017-07-14 03:59:47.000000000","message":"Same","commit_id":"fbfa3d9c8923cec0a1295721bdd09c57688cf960"},{"author":{"_account_id":7065,"name":"Brad P. Crochet","email":"brad@redhat.com","username":"bcrochet"},"change_message_id":"b53f7f77e57e557308eb70d03a7e4a638b1f2663","unresolved":false,"context_lines":[{"line_number":80,"context_line":"    def delete(self, name):"},{"line_number":81,"context_line":"        \"\"\"Delete cron trigger."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"        :param name: Name or ID of cron trigger to delete"},{"line_number":84,"context_line":"        \"\"\""},{"line_number":85,"context_line":"        acl.enforce(\u0027cron_triggers:delete\u0027, context.ctx())"},{"line_number":86,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1f1a1f67_62d3ec61","line":83,"in_reply_to":"1f1a1f67_b6b3944d","updated":"2017-07-14 13:35:02.000000000","message":"Done","commit_id":"fbfa3d9c8923cec0a1295721bdd09c57688cf960"}],"mistral/api/controllers/v2/environment.py":[{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"2936f4ce9895c150ed944595150f0e74b0645964","unresolved":false,"context_lines":[{"line_number":104,"context_line":"    def get(self, name):"},{"line_number":105,"context_line":"        \"\"\"Return the named environment."},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"        :param name: Name or ID of environment to retrieve"},{"line_number":108,"context_line":"        \"\"\""},{"line_number":109,"context_line":"        acl.enforce(\u0027environments:get\u0027, context.ctx())"},{"line_number":110,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1f1a1f67_76873c63","line":107,"range":{"start_line":107,"start_character":29,"end_line":107,"end_character":31},"updated":"2017-07-14 03:59:47.000000000","message":"Same as for cron triggers, for environments it\u0027s always names.","commit_id":"fbfa3d9c8923cec0a1295721bdd09c57688cf960"},{"author":{"_account_id":7065,"name":"Brad P. Crochet","email":"brad@redhat.com","username":"bcrochet"},"change_message_id":"b53f7f77e57e557308eb70d03a7e4a638b1f2663","unresolved":false,"context_lines":[{"line_number":104,"context_line":"    def get(self, name):"},{"line_number":105,"context_line":"        \"\"\"Return the named environment."},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"        :param name: Name or ID of environment to retrieve"},{"line_number":108,"context_line":"        \"\"\""},{"line_number":109,"context_line":"        acl.enforce(\u0027environments:get\u0027, context.ctx())"},{"line_number":110,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1f1a1f67_e2c6dc9a","line":107,"in_reply_to":"1f1a1f67_76873c63","updated":"2017-07-14 13:35:02.000000000","message":"Done","commit_id":"fbfa3d9c8923cec0a1295721bdd09c57688cf960"},{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"2936f4ce9895c150ed944595150f0e74b0645964","unresolved":false,"context_lines":[{"line_number":171,"context_line":"    def delete(self, name):"},{"line_number":172,"context_line":"        \"\"\"Delete the named environment."},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"        :param name: Name or ID of environment to delete"},{"line_number":175,"context_line":"        \"\"\""},{"line_number":176,"context_line":"        acl.enforce(\u0027environments:delete\u0027, context.ctx())"},{"line_number":177,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1f1a1f67_567e806b","line":174,"range":{"start_line":174,"start_character":29,"end_line":174,"end_character":31},"updated":"2017-07-14 03:59:47.000000000","message":"same","commit_id":"fbfa3d9c8923cec0a1295721bdd09c57688cf960"},{"author":{"_account_id":7065,"name":"Brad P. Crochet","email":"brad@redhat.com","username":"bcrochet"},"change_message_id":"b53f7f77e57e557308eb70d03a7e4a638b1f2663","unresolved":false,"context_lines":[{"line_number":171,"context_line":"    def delete(self, name):"},{"line_number":172,"context_line":"        \"\"\"Delete the named environment."},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"        :param name: Name or ID of environment to delete"},{"line_number":175,"context_line":"        \"\"\""},{"line_number":176,"context_line":"        acl.enforce(\u0027environments:delete\u0027, context.ctx())"},{"line_number":177,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1f1a1f67_a2c0e47c","line":174,"in_reply_to":"1f1a1f67_567e806b","updated":"2017-07-14 13:35:02.000000000","message":"Done","commit_id":"fbfa3d9c8923cec0a1295721bdd09c57688cf960"}],"mistral/api/controllers/v2/execution.py":[{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"2936f4ce9895c150ed944595150f0e74b0645964","unresolved":false,"context_lines":[{"line_number":217,"context_line":"    def delete(self, id):"},{"line_number":218,"context_line":"        \"\"\"Delete the specified Execution."},{"line_number":219,"context_line":""},{"line_number":220,"context_line":"        :param id: Name or ID of execution to delete"},{"line_number":221,"context_line":"        \"\"\""},{"line_number":222,"context_line":"        acl.enforce(\u0027executions:delete\u0027, context.ctx())"},{"line_number":223,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1f1a1f67_169808be","line":220,"range":{"start_line":220,"start_character":19,"end_line":220,"end_character":23},"updated":"2017-07-14 03:59:47.000000000","message":"It\u0027s always ID for all executions. Names can\u0027t uniquely identify them even within one tenant.","commit_id":"fbfa3d9c8923cec0a1295721bdd09c57688cf960"},{"author":{"_account_id":7065,"name":"Brad P. Crochet","email":"brad@redhat.com","username":"bcrochet"},"change_message_id":"b53f7f77e57e557308eb70d03a7e4a638b1f2663","unresolved":false,"context_lines":[{"line_number":217,"context_line":"    def delete(self, id):"},{"line_number":218,"context_line":"        \"\"\"Delete the specified Execution."},{"line_number":219,"context_line":""},{"line_number":220,"context_line":"        :param id: Name or ID of execution to delete"},{"line_number":221,"context_line":"        \"\"\""},{"line_number":222,"context_line":"        acl.enforce(\u0027executions:delete\u0027, context.ctx())"},{"line_number":223,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1f1a1f67_22429411","line":220,"in_reply_to":"1f1a1f67_169808be","updated":"2017-07-14 13:35:02.000000000","message":"Done","commit_id":"fbfa3d9c8923cec0a1295721bdd09c57688cf960"},{"author":{"_account_id":21970,"name":"Andras Kovi","email":"akovi@nokia.com","username":"andras.kovi"},"change_message_id":"1f58c69f9ed8025539e8f831cfbee2d2692b8675","unresolved":false,"context_lines":[{"line_number":66,"context_line":"    def get(self, id):"},{"line_number":67,"context_line":"        \"\"\"Return the specified Execution."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        :param id: Execution UUID to retrieve"},{"line_number":70,"context_line":"        \"\"\""},{"line_number":71,"context_line":"        acl.enforce(\"executions:get\", context.ctx())"},{"line_number":72,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1f1a1f67_ecff94a8","line":69,"range":{"start_line":69,"start_character":19,"end_line":69,"end_character":33},"updated":"2017-07-18 14:11:34.000000000","message":"better: UUID of Execution","commit_id":"6d34a0059f4aad82df61ee3f3bbd596cf441feb5"},{"author":{"_account_id":7065,"name":"Brad P. Crochet","email":"brad@redhat.com","username":"bcrochet"},"change_message_id":"3aea3975d56c04e250527bc1d16556b57f6607b4","unresolved":false,"context_lines":[{"line_number":66,"context_line":"    def get(self, id):"},{"line_number":67,"context_line":"        \"\"\"Return the specified Execution."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        :param id: Execution UUID to retrieve"},{"line_number":70,"context_line":"        \"\"\""},{"line_number":71,"context_line":"        acl.enforce(\"executions:get\", context.ctx())"},{"line_number":72,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1f1a1f67_31f3a076","line":69,"in_reply_to":"1f1a1f67_ecff94a8","updated":"2017-07-18 15:44:11.000000000","message":"Done","commit_id":"6d34a0059f4aad82df61ee3f3bbd596cf441feb5"},{"author":{"_account_id":21970,"name":"Andras Kovi","email":"akovi@nokia.com","username":"andras.kovi"},"change_message_id":"1f58c69f9ed8025539e8f831cfbee2d2692b8675","unresolved":false,"context_lines":[{"line_number":91,"context_line":"    def put(self, id, wf_ex):"},{"line_number":92,"context_line":"        \"\"\"Update the specified workflow execution."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"        :param id: execution UUID."},{"line_number":95,"context_line":"        :param wf_ex: Execution object."},{"line_number":96,"context_line":"        \"\"\""},{"line_number":97,"context_line":"        acl.enforce(\u0027executions:update\u0027, context.ctx())"}],"source_content_type":"text/x-python","patch_set":5,"id":"1f1a1f67_8c34a094","line":94,"range":{"start_line":94,"start_character":19,"end_line":94,"end_character":33},"updated":"2017-07-18 14:11:34.000000000","message":"Let\u0027s be consistent . :)","commit_id":"6d34a0059f4aad82df61ee3f3bbd596cf441feb5"},{"author":{"_account_id":7065,"name":"Brad P. Crochet","email":"brad@redhat.com","username":"bcrochet"},"change_message_id":"3aea3975d56c04e250527bc1d16556b57f6607b4","unresolved":false,"context_lines":[{"line_number":91,"context_line":"    def put(self, id, wf_ex):"},{"line_number":92,"context_line":"        \"\"\"Update the specified workflow execution."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"        :param id: execution UUID."},{"line_number":95,"context_line":"        :param wf_ex: Execution object."},{"line_number":96,"context_line":"        \"\"\""},{"line_number":97,"context_line":"        acl.enforce(\u0027executions:update\u0027, context.ctx())"}],"source_content_type":"text/x-python","patch_set":5,"id":"1f1a1f67_3198401a","line":94,"in_reply_to":"1f1a1f67_8c34a094","updated":"2017-07-18 15:44:11.000000000","message":"Done","commit_id":"6d34a0059f4aad82df61ee3f3bbd596cf441feb5"},{"author":{"_account_id":21970,"name":"Andras Kovi","email":"akovi@nokia.com","username":"andras.kovi"},"change_message_id":"1f58c69f9ed8025539e8f831cfbee2d2692b8675","unresolved":false,"context_lines":[{"line_number":220,"context_line":"    def delete(self, id):"},{"line_number":221,"context_line":"        \"\"\"Delete the specified Execution."},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"        :param id: UUID of execution to delete"},{"line_number":224,"context_line":"        \"\"\""},{"line_number":225,"context_line":"        acl.enforce(\u0027executions:delete\u0027, context.ctx())"},{"line_number":226,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1f1a1f67_8cd94058","line":223,"range":{"start_line":223,"start_character":19,"end_line":223,"end_character":36},"updated":"2017-07-18 14:11:34.000000000","message":"3 places, 3 expression for the same concept in the same file.","commit_id":"6d34a0059f4aad82df61ee3f3bbd596cf441feb5"},{"author":{"_account_id":7065,"name":"Brad P. Crochet","email":"brad@redhat.com","username":"bcrochet"},"change_message_id":"3aea3975d56c04e250527bc1d16556b57f6607b4","unresolved":false,"context_lines":[{"line_number":220,"context_line":"    def delete(self, id):"},{"line_number":221,"context_line":"        \"\"\"Delete the specified Execution."},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"        :param id: UUID of execution to delete"},{"line_number":224,"context_line":"        \"\"\""},{"line_number":225,"context_line":"        acl.enforce(\u0027executions:delete\u0027, context.ctx())"},{"line_number":226,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1f1a1f67_518cdcd5","line":223,"in_reply_to":"1f1a1f67_8cd94058","updated":"2017-07-18 15:44:11.000000000","message":"Done","commit_id":"6d34a0059f4aad82df61ee3f3bbd596cf441feb5"}],"mistral/api/controllers/v2/task.py":[{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"2936f4ce9895c150ed944595150f0e74b0645964","unresolved":false,"context_lines":[{"line_number":139,"context_line":"    def get(self, id):"},{"line_number":140,"context_line":"        \"\"\"Return the specified task."},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"        :param id: Name or ID of task to retrieve"},{"line_number":143,"context_line":"        \"\"\""},{"line_number":144,"context_line":"        acl.enforce(\u0027tasks:get\u0027, context.ctx())"},{"line_number":145,"context_line":"        LOG.info(\"Fetch task [id\u003d%s]\" % id)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1f1a1f67_36f664fb","line":142,"range":{"start_line":142,"start_character":19,"end_line":142,"end_character":23},"updated":"2017-07-14 03:59:47.000000000","message":"In fact, although this controller is called TasksController it serves task executions. The name is legacy and should be changed to TaskExecutionsController in the next version of API. So again it\u0027s about execution objects and they can\u0027t be identified by names.","commit_id":"fbfa3d9c8923cec0a1295721bdd09c57688cf960"},{"author":{"_account_id":7065,"name":"Brad P. Crochet","email":"brad@redhat.com","username":"bcrochet"},"change_message_id":"b53f7f77e57e557308eb70d03a7e4a638b1f2663","unresolved":false,"context_lines":[{"line_number":139,"context_line":"    def get(self, id):"},{"line_number":140,"context_line":"        \"\"\"Return the specified task."},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"        :param id: Name or ID of task to retrieve"},{"line_number":143,"context_line":"        \"\"\""},{"line_number":144,"context_line":"        acl.enforce(\u0027tasks:get\u0027, context.ctx())"},{"line_number":145,"context_line":"        LOG.info(\"Fetch task [id\u003d%s]\" % id)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1f1a1f67_c26f6090","line":142,"in_reply_to":"1f1a1f67_36f664fb","updated":"2017-07-14 13:35:02.000000000","message":"Done","commit_id":"fbfa3d9c8923cec0a1295721bdd09c57688cf960"}],"mistral/api/controllers/v2/workbook.py":[{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"2936f4ce9895c150ed944595150f0e74b0645964","unresolved":false,"context_lines":[{"line_number":89,"context_line":"    def delete(self, name):"},{"line_number":90,"context_line":"        \"\"\"Delete the named workbook."},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"        :param name: Name or ID of workbook to delete"},{"line_number":93,"context_line":"        \"\"\""},{"line_number":94,"context_line":"        acl.enforce(\u0027workbooks:delete\u0027, context.ctx())"},{"line_number":95,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1f1a1f67_d6e61045","line":92,"range":{"start_line":92,"start_character":21,"end_line":92,"end_character":25},"updated":"2017-07-14 03:59:47.000000000","message":"As far as I remember, resource sharing is not implemented for workbooks so it\u0027s always name.","commit_id":"fbfa3d9c8923cec0a1295721bdd09c57688cf960"},{"author":{"_account_id":7065,"name":"Brad P. Crochet","email":"brad@redhat.com","username":"bcrochet"},"change_message_id":"b53f7f77e57e557308eb70d03a7e4a638b1f2663","unresolved":false,"context_lines":[{"line_number":89,"context_line":"    def delete(self, name):"},{"line_number":90,"context_line":"        \"\"\"Delete the named workbook."},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"        :param name: Name or ID of workbook to delete"},{"line_number":93,"context_line":"        \"\"\""},{"line_number":94,"context_line":"        acl.enforce(\u0027workbooks:delete\u0027, context.ctx())"},{"line_number":95,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1f1a1f67_c2f400d2","line":92,"in_reply_to":"1f1a1f67_d6e61045","updated":"2017-07-14 13:35:02.000000000","message":"Done","commit_id":"fbfa3d9c8923cec0a1295721bdd09c57688cf960"},{"author":{"_account_id":21970,"name":"Andras Kovi","email":"akovi@nokia.com","username":"andras.kovi"},"change_message_id":"1f58c69f9ed8025539e8f831cfbee2d2692b8675","unresolved":false,"context_lines":[{"line_number":111,"context_line":"                updated_at\u003dNone):"},{"line_number":112,"context_line":"        \"\"\"Return a list of workbooks."},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"        Return a list of workbooks where project_id is the same as the"},{"line_number":115,"context_line":"        requester or project_id is different but the scope is public."},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"        :param marker: Optional. Pagination marker for large data sets."},{"line_number":118,"context_line":"        :param limit: Optional. Maximum number of resources to return in a"}],"source_content_type":"text/x-python","patch_set":5,"id":"1f1a1f67_cc717846","line":115,"range":{"start_line":114,"start_character":8,"end_line":115,"end_character":69},"updated":"2017-07-18 14:11:34.000000000","message":"I think the rules can be a little more convoluted with shared resources and the new namespaces feature, which is just being developed. It may be better the internals of this function are left in haze.","commit_id":"6d34a0059f4aad82df61ee3f3bbd596cf441feb5"},{"author":{"_account_id":7065,"name":"Brad P. Crochet","email":"brad@redhat.com","username":"bcrochet"},"change_message_id":"3aea3975d56c04e250527bc1d16556b57f6607b4","unresolved":false,"context_lines":[{"line_number":112,"context_line":"        \"\"\"Return a list of workbooks."},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"        Return a list of workbooks where project_id is the same as the"},{"line_number":115,"context_line":"        requester or project_id is different but the scope is public."},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"        :param marker: Optional. Pagination marker for large data sets."},{"line_number":118,"context_line":"        :param limit: Optional. Maximum number of resources to return in a"}],"source_content_type":"text/x-python","patch_set":5,"id":"1f1a1f67_51a5fc45","line":115,"in_reply_to":"1f1a1f67_cc717846","updated":"2017-07-18 15:44:11.000000000","message":"Done","commit_id":"6d34a0059f4aad82df61ee3f3bbd596cf441feb5"}],"mistral/api/controllers/v2/workflow.py":[{"author":{"_account_id":15895,"name":"Adriano Petrich","email":"apetrich@redhat.com","username":"apetrich"},"change_message_id":"689ebd1b291692459232e4e128ddf76bf2a00425","unresolved":false,"context_lines":[{"line_number":80,"context_line":"    def get(self, identifier):"},{"line_number":81,"context_line":"        \"\"\"Return the named workflow."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"        :param identifier: Name or ID of the workflow to retrieve"},{"line_number":84,"context_line":"        \"\"\""},{"line_number":85,"context_line":"        acl.enforce(\u0027workflows:get\u0027, context.ctx())"},{"line_number":86,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1f1a1f67_9ecf4f55","line":83,"updated":"2017-07-17 13:06:46.000000000","message":"Do we need to change to UUID here also or ID is correct?","commit_id":"23d49ec9061c703d51534cb2979921162bd584f7"},{"author":{"_account_id":7065,"name":"Brad P. Crochet","email":"brad@redhat.com","username":"bcrochet"},"change_message_id":"7021ab5bdb5b02aa2c80a45c0424f023f319d0ee","unresolved":false,"context_lines":[{"line_number":80,"context_line":"    def get(self, identifier):"},{"line_number":81,"context_line":"        \"\"\"Return the named workflow."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"        :param identifier: Name or ID of the workflow to retrieve"},{"line_number":84,"context_line":"        \"\"\""},{"line_number":85,"context_line":"        acl.enforce(\u0027workflows:get\u0027, context.ctx())"},{"line_number":86,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1f1a1f67_a52097ad","line":83,"in_reply_to":"1f1a1f67_9ecf4f55","updated":"2017-07-18 12:02:49.000000000","message":"Done","commit_id":"23d49ec9061c703d51534cb2979921162bd584f7"},{"author":{"_account_id":21970,"name":"Andras Kovi","email":"akovi@nokia.com","username":"andras.kovi"},"change_message_id":"1f58c69f9ed8025539e8f831cfbee2d2692b8675","unresolved":false,"context_lines":[{"line_number":80,"context_line":"    def get(self, identifier):"},{"line_number":81,"context_line":"        \"\"\"Return the named workflow."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"        :param identifier: Name or UUID of the workflow to retrieve."},{"line_number":84,"context_line":"        \"\"\""},{"line_number":85,"context_line":"        acl.enforce(\u0027workflows:get\u0027, context.ctx())"},{"line_number":86,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1f1a1f67_8ce380d9","line":83,"range":{"start_line":83,"start_character":15,"end_line":83,"end_character":25},"updated":"2017-07-18 14:11:34.000000000","message":"Could we uniformize this in all APIs to `id`?","commit_id":"6d34a0059f4aad82df61ee3f3bbd596cf441feb5"},{"author":{"_account_id":7065,"name":"Brad P. Crochet","email":"brad@redhat.com","username":"bcrochet"},"change_message_id":"3aea3975d56c04e250527bc1d16556b57f6607b4","unresolved":false,"context_lines":[{"line_number":80,"context_line":"    def get(self, identifier):"},{"line_number":81,"context_line":"        \"\"\"Return the named workflow."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"        :param identifier: Name or UUID of the workflow to retrieve."},{"line_number":84,"context_line":"        \"\"\""},{"line_number":85,"context_line":"        acl.enforce(\u0027workflows:get\u0027, context.ctx())"},{"line_number":86,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1f1a1f67_9174b4d0","line":83,"in_reply_to":"1f1a1f67_8ce380d9","updated":"2017-07-18 15:44:11.000000000","message":"See Renat\u0027s earlier comments.","commit_id":"6d34a0059f4aad82df61ee3f3bbd596cf441feb5"},{"author":{"_account_id":21970,"name":"Andras Kovi","email":"akovi@nokia.com","username":"andras.kovi"},"change_message_id":"1f58c69f9ed8025539e8f831cfbee2d2692b8675","unresolved":false,"context_lines":[{"line_number":162,"context_line":"    def delete(self, identifier):"},{"line_number":163,"context_line":"        \"\"\"Delete a workflow."},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"        :param identifier: Name or ID of workflow to delete."},{"line_number":166,"context_line":"        \"\"\""},{"line_number":167,"context_line":"        acl.enforce(\u0027workflows:delete\u0027, context.ctx())"},{"line_number":168,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1f1a1f67_0ccf7056","line":165,"range":{"start_line":165,"start_character":15,"end_line":165,"end_character":25},"updated":"2017-07-18 14:11:34.000000000","message":"Could we uniformize this in all APIs to `id`?","commit_id":"6d34a0059f4aad82df61ee3f3bbd596cf441feb5"}]}
