)]}'
{"doc/source/dsl/dsl_v2.rst":[{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"f1cbbc55036320399520db032ab39bd8e83f5c7e","unresolved":false,"context_lines":[{"line_number":1070,"context_line":"**user_name**, **project_name**, **roles**, **is_admin** properties."},{"line_number":1071,"context_line":""},{"line_number":1072,"context_line":""},{"line_number":1073,"context_line":"Tasks"},{"line_number":1074,"context_line":"^^^^^"},{"line_number":1075,"context_line":""},{"line_number":1076,"context_line":"Tasks function"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa31d9ce_68911147","line":1073,"range":{"start_line":1073,"start_character":0,"end_line":1073,"end_character":5},"updated":"2017-02-14 05:55:56.000000000","message":"I think we need to have a section called \"Functions in expressions\" (or just \"Expression functions\"?) and then list functions with their descriptions like:\n\n\nFunctions in expressions\n\n\ntasks()\n\n\nSignature:\n\ntasks(workflow_execution_id\u003dnull, recursive\u003dfalse, state\u003dnull, flat\u003dfalse)\n\n\nDescription:\n....\n\n\nParameters:\n....\n#. state (optional) - ... Possible values: ERROR, RUNNING...\n....","commit_id":"110d4737b11081c779c45384741c5004de6751e2"},{"author":{"_account_id":9408,"name":"Michal Gershenzon","email":"michal.gershenzon@gmail.com","username":"Mgershen"},"change_message_id":"53db810c1e6ed8d7915b62b4bf3a8aab164c09b6","unresolved":false,"context_lines":[{"line_number":1070,"context_line":"**user_name**, **project_name**, **roles**, **is_admin** properties."},{"line_number":1071,"context_line":""},{"line_number":1072,"context_line":""},{"line_number":1073,"context_line":"Tasks"},{"line_number":1074,"context_line":"^^^^^"},{"line_number":1075,"context_line":""},{"line_number":1076,"context_line":"Tasks function"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa31d9ce_d97f2664","line":1073,"range":{"start_line":1073,"start_character":0,"end_line":1073,"end_character":5},"in_reply_to":"fa31d9ce_68911147","updated":"2017-02-14 13:08:58.000000000","message":"Done","commit_id":"110d4737b11081c779c45384741c5004de6751e2"},{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"f1cbbc55036320399520db032ab39bd8e83f5c7e","unresolved":false,"context_lines":[{"line_number":1075,"context_line":""},{"line_number":1076,"context_line":"Tasks function"},{"line_number":1077,"context_line":"\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027"},{"line_number":1078,"context_line":"Tasks function, available from within an expression (Yaql, Jinja2). This"},{"line_number":1079,"context_line":"function allows to filter all tasks of a user by workflow execution id and/or"},{"line_number":1080,"context_line":"state. In addition it is possible to get tasks recursively and flatten the"},{"line_number":1081,"context_line":"tasks list."}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa31d9ce_e8cc216c","line":1078,"range":{"start_line":1078,"start_character":16,"end_line":1078,"end_character":66},"updated":"2017-02-14 05:55:56.000000000","message":"According to my previous comment, we need to put some general information about functions under the header \"Functions in expressions\".","commit_id":"110d4737b11081c779c45384741c5004de6751e2"},{"author":{"_account_id":9408,"name":"Michal Gershenzon","email":"michal.gershenzon@gmail.com","username":"Mgershen"},"change_message_id":"53db810c1e6ed8d7915b62b4bf3a8aab164c09b6","unresolved":false,"context_lines":[{"line_number":1075,"context_line":""},{"line_number":1076,"context_line":"Tasks function"},{"line_number":1077,"context_line":"\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027"},{"line_number":1078,"context_line":"Tasks function, available from within an expression (Yaql, Jinja2). This"},{"line_number":1079,"context_line":"function allows to filter all tasks of a user by workflow execution id and/or"},{"line_number":1080,"context_line":"state. In addition it is possible to get tasks recursively and flatten the"},{"line_number":1081,"context_line":"tasks list."}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa31d9ce_f9d30a02","line":1078,"range":{"start_line":1078,"start_character":16,"end_line":1078,"end_character":66},"in_reply_to":"fa31d9ce_e8cc216c","updated":"2017-02-14 13:08:58.000000000","message":"Done","commit_id":"110d4737b11081c779c45384741c5004de6751e2"},{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"f1cbbc55036320399520db032ab39bd8e83f5c7e","unresolved":false,"context_lines":[{"line_number":1076,"context_line":"Tasks function"},{"line_number":1077,"context_line":"\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027"},{"line_number":1078,"context_line":"Tasks function, available from within an expression (Yaql, Jinja2). This"},{"line_number":1079,"context_line":"function allows to filter all tasks of a user by workflow execution id and/or"},{"line_number":1080,"context_line":"state. In addition it is possible to get tasks recursively and flatten the"},{"line_number":1081,"context_line":"tasks list."},{"line_number":1082,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa31d9ce_48c0cd2a","line":1079,"range":{"start_line":1079,"start_character":30,"end_line":1079,"end_character":35},"updated":"2017-02-14 05:55:56.000000000","message":"I think we need to use \"task execution\" instead of just \"task\" to avoid confusion about task definition (YAML describing a task) and task execution.","commit_id":"110d4737b11081c779c45384741c5004de6751e2"},{"author":{"_account_id":9408,"name":"Michal Gershenzon","email":"michal.gershenzon@gmail.com","username":"Mgershen"},"change_message_id":"53db810c1e6ed8d7915b62b4bf3a8aab164c09b6","unresolved":false,"context_lines":[{"line_number":1076,"context_line":"Tasks function"},{"line_number":1077,"context_line":"\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027"},{"line_number":1078,"context_line":"Tasks function, available from within an expression (Yaql, Jinja2). This"},{"line_number":1079,"context_line":"function allows to filter all tasks of a user by workflow execution id and/or"},{"line_number":1080,"context_line":"state. In addition it is possible to get tasks recursively and flatten the"},{"line_number":1081,"context_line":"tasks list."},{"line_number":1082,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa31d9ce_f9ddcae0","line":1079,"range":{"start_line":1079,"start_character":30,"end_line":1079,"end_character":35},"in_reply_to":"fa31d9ce_48c0cd2a","updated":"2017-02-14 13:08:58.000000000","message":"Done","commit_id":"110d4737b11081c779c45384741c5004de6751e2"},{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"f1cbbc55036320399520db032ab39bd8e83f5c7e","unresolved":false,"context_lines":[{"line_number":1077,"context_line":"\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027"},{"line_number":1078,"context_line":"Tasks function, available from within an expression (Yaql, Jinja2). This"},{"line_number":1079,"context_line":"function allows to filter all tasks of a user by workflow execution id and/or"},{"line_number":1080,"context_line":"state. In addition it is possible to get tasks recursively and flatten the"},{"line_number":1081,"context_line":"tasks list."},{"line_number":1082,"context_line":""},{"line_number":1083,"context_line":"Parameters:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa31d9ce_880ba58d","line":1080,"updated":"2017-02-14 05:55:56.000000000","message":"comma after \"In addition\".","commit_id":"110d4737b11081c779c45384741c5004de6751e2"},{"author":{"_account_id":9408,"name":"Michal Gershenzon","email":"michal.gershenzon@gmail.com","username":"Mgershen"},"change_message_id":"53db810c1e6ed8d7915b62b4bf3a8aab164c09b6","unresolved":false,"context_lines":[{"line_number":1077,"context_line":"\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027"},{"line_number":1078,"context_line":"Tasks function, available from within an expression (Yaql, Jinja2). This"},{"line_number":1079,"context_line":"function allows to filter all tasks of a user by workflow execution id and/or"},{"line_number":1080,"context_line":"state. In addition it is possible to get tasks recursively and flatten the"},{"line_number":1081,"context_line":"tasks list."},{"line_number":1082,"context_line":""},{"line_number":1083,"context_line":"Parameters:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa31d9ce_598fb6cb","line":1080,"in_reply_to":"fa31d9ce_880ba58d","updated":"2017-02-14 13:08:58.000000000","message":"Done","commit_id":"110d4737b11081c779c45384741c5004de6751e2"},{"author":{"_account_id":9712,"name":"Dougal Matthews","email":"dougal.matthews@canonical.com","username":"dougal"},"change_message_id":"4554b6a1481d21bc2dfdd0f39d99dcffcc11c020","unresolved":false,"context_lines":[{"line_number":1078,"context_line":"Tasks function, available from within an expression (Yaql, Jinja2). This"},{"line_number":1079,"context_line":"function allows to filter all tasks of a user by workflow execution id and/or"},{"line_number":1080,"context_line":"state. In addition it is possible to get tasks recursively and flatten the"},{"line_number":1081,"context_line":"tasks list."},{"line_number":1082,"context_line":""},{"line_number":1083,"context_line":"Parameters:"},{"line_number":1084,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa31d9ce_63a06b44","line":1081,"updated":"2017-02-14 08:34:21.000000000","message":"rewording suggestion.\n\n\"This function allows to filter all tasks of a user by workflow execution id and/or state.\" -\u003e \n\"This function allows users to filter all tasks by workflow execution id and/or state.\"","commit_id":"110d4737b11081c779c45384741c5004de6751e2"},{"author":{"_account_id":9408,"name":"Michal Gershenzon","email":"michal.gershenzon@gmail.com","username":"Mgershen"},"change_message_id":"53db810c1e6ed8d7915b62b4bf3a8aab164c09b6","unresolved":false,"context_lines":[{"line_number":1078,"context_line":"Tasks function, available from within an expression (Yaql, Jinja2). This"},{"line_number":1079,"context_line":"function allows to filter all tasks of a user by workflow execution id and/or"},{"line_number":1080,"context_line":"state. In addition it is possible to get tasks recursively and flatten the"},{"line_number":1081,"context_line":"tasks list."},{"line_number":1082,"context_line":""},{"line_number":1083,"context_line":"Parameters:"},{"line_number":1084,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa31d9ce_3980428b","line":1081,"in_reply_to":"fa31d9ce_63a06b44","updated":"2017-02-14 13:08:58.000000000","message":"Done","commit_id":"110d4737b11081c779c45384741c5004de6751e2"},{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"f1cbbc55036320399520db032ab39bd8e83f5c7e","unresolved":false,"context_lines":[{"line_number":1082,"context_line":""},{"line_number":1083,"context_line":"Parameters:"},{"line_number":1084,"context_line":""},{"line_number":1085,"context_line":"#. workflow_execution_id (optional) - Workflow execution ID parameter will"},{"line_number":1086,"context_line":"   allow to get tasks information from a specific workflow execution (either"},{"line_number":1087,"context_line":"   the current execution or a different one), if not passed, it will list all"},{"line_number":1088,"context_line":"   tasks that match the other parameters."}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa31d9ce_281f19b8","line":1085,"range":{"start_line":1085,"start_character":26,"end_line":1085,"end_character":34},"updated":"2017-02-14 05:55:56.000000000","message":"\"optional\" should be in the end in italic as in the sections above.","commit_id":"110d4737b11081c779c45384741c5004de6751e2"},{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"f1cbbc55036320399520db032ab39bd8e83f5c7e","unresolved":false,"context_lines":[{"line_number":1082,"context_line":""},{"line_number":1083,"context_line":"Parameters:"},{"line_number":1084,"context_line":""},{"line_number":1085,"context_line":"#. workflow_execution_id (optional) - Workflow execution ID parameter will"},{"line_number":1086,"context_line":"   allow to get tasks information from a specific workflow execution (either"},{"line_number":1087,"context_line":"   the current execution or a different one), if not passed, it will list all"},{"line_number":1088,"context_line":"   tasks that match the other parameters."}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa31d9ce_e828a1e4","line":1085,"range":{"start_line":1085,"start_character":3,"end_line":1085,"end_character":24},"updated":"2017-02-14 05:55:56.000000000","message":"If you look at some previous section where we have a list of attributes/parameters you\u0027ll see that all of them are in bold. Let\u0027s do the same here so that we have a consistent style.","commit_id":"110d4737b11081c779c45384741c5004de6751e2"},{"author":{"_account_id":9408,"name":"Michal Gershenzon","email":"michal.gershenzon@gmail.com","username":"Mgershen"},"change_message_id":"53db810c1e6ed8d7915b62b4bf3a8aab164c09b6","unresolved":false,"context_lines":[{"line_number":1082,"context_line":""},{"line_number":1083,"context_line":"Parameters:"},{"line_number":1084,"context_line":""},{"line_number":1085,"context_line":"#. workflow_execution_id (optional) - Workflow execution ID parameter will"},{"line_number":1086,"context_line":"   allow to get tasks information from a specific workflow execution (either"},{"line_number":1087,"context_line":"   the current execution or a different one), if not passed, it will list all"},{"line_number":1088,"context_line":"   tasks that match the other parameters."}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa31d9ce_947bb38b","line":1085,"range":{"start_line":1085,"start_character":26,"end_line":1085,"end_character":34},"in_reply_to":"fa31d9ce_281f19b8","updated":"2017-02-14 13:08:58.000000000","message":"Done","commit_id":"110d4737b11081c779c45384741c5004de6751e2"},{"author":{"_account_id":9408,"name":"Michal Gershenzon","email":"michal.gershenzon@gmail.com","username":"Mgershen"},"change_message_id":"53db810c1e6ed8d7915b62b4bf3a8aab164c09b6","unresolved":false,"context_lines":[{"line_number":1082,"context_line":""},{"line_number":1083,"context_line":"Parameters:"},{"line_number":1084,"context_line":""},{"line_number":1085,"context_line":"#. workflow_execution_id (optional) - Workflow execution ID parameter will"},{"line_number":1086,"context_line":"   allow to get tasks information from a specific workflow execution (either"},{"line_number":1087,"context_line":"   the current execution or a different one), if not passed, it will list all"},{"line_number":1088,"context_line":"   tasks that match the other parameters."}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa31d9ce_1468a3b8","line":1085,"range":{"start_line":1085,"start_character":3,"end_line":1085,"end_character":24},"in_reply_to":"fa31d9ce_e828a1e4","updated":"2017-02-14 13:08:58.000000000","message":"Done","commit_id":"110d4737b11081c779c45384741c5004de6751e2"},{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"f1cbbc55036320399520db032ab39bd8e83f5c7e","unresolved":false,"context_lines":[{"line_number":1085,"context_line":"#. workflow_execution_id (optional) - Workflow execution ID parameter will"},{"line_number":1086,"context_line":"   allow to get tasks information from a specific workflow execution (either"},{"line_number":1087,"context_line":"   the current execution or a different one), if not passed, it will list all"},{"line_number":1088,"context_line":"   tasks that match the other parameters."},{"line_number":1089,"context_line":"#. recursive (optional. Default: false) - if true treat all tasks in nested"},{"line_number":1090,"context_line":"   workflows as if they where also a part of all higher level workflow"},{"line_number":1091,"context_line":"   executions. Relevant mostly when filtering using workflow execution ID."}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa31d9ce_a8330961","line":1088,"range":{"start_line":1088,"start_character":3,"end_line":1088,"end_character":8},"updated":"2017-02-14 05:55:56.000000000","message":"Same as before, let\u0027s use \"task executions\".","commit_id":"110d4737b11081c779c45384741c5004de6751e2"},{"author":{"_account_id":9712,"name":"Dougal Matthews","email":"dougal.matthews@canonical.com","username":"dougal"},"change_message_id":"4554b6a1481d21bc2dfdd0f39d99dcffcc11c020","unresolved":false,"context_lines":[{"line_number":1085,"context_line":"#. workflow_execution_id (optional) - Workflow execution ID parameter will"},{"line_number":1086,"context_line":"   allow to get tasks information from a specific workflow execution (either"},{"line_number":1087,"context_line":"   the current execution or a different one), if not passed, it will list all"},{"line_number":1088,"context_line":"   tasks that match the other parameters."},{"line_number":1089,"context_line":"#. recursive (optional. Default: false) - if true treat all tasks in nested"},{"line_number":1090,"context_line":"   workflows as if they where also a part of all higher level workflow"},{"line_number":1091,"context_line":"   executions. Relevant mostly when filtering using workflow execution ID."}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa31d9ce_06b6dd3c","line":1088,"updated":"2017-02-14 08:34:21.000000000","message":"rewording suggestion. I think this can be shorter.\n\n\"Workflow execution ID parameter will allow to get tasks information from a specific workflow execution (either the current execution or a different one), if not passed, it will list all tasks that match the other parameters\"\n\n-\u003e\n\n\"If provided the tasks function will return all the tasks for the given Workflow execution ID. If no execution ID is provided, all tasks from all workflows will be returned.\"","commit_id":"110d4737b11081c779c45384741c5004de6751e2"},{"author":{"_account_id":9408,"name":"Michal Gershenzon","email":"michal.gershenzon@gmail.com","username":"Mgershen"},"change_message_id":"53db810c1e6ed8d7915b62b4bf3a8aab164c09b6","unresolved":false,"context_lines":[{"line_number":1085,"context_line":"#. workflow_execution_id (optional) - Workflow execution ID parameter will"},{"line_number":1086,"context_line":"   allow to get tasks information from a specific workflow execution (either"},{"line_number":1087,"context_line":"   the current execution or a different one), if not passed, it will list all"},{"line_number":1088,"context_line":"   tasks that match the other parameters."},{"line_number":1089,"context_line":"#. recursive (optional. Default: false) - if true treat all tasks in nested"},{"line_number":1090,"context_line":"   workflows as if they where also a part of all higher level workflow"},{"line_number":1091,"context_line":"   executions. Relevant mostly when filtering using workflow execution ID."}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa31d9ce_54ee9bb4","line":1088,"in_reply_to":"fa31d9ce_06b6dd3c","updated":"2017-02-14 13:08:58.000000000","message":"Dougal,\n\ndo you insist on this wording? I see your point about this needs rewording, but I fear if I change it, it might misslead the user. since if the state filter is passed, only task executions that match that state will be returned, and not all.\n\nI think the reason this is a bit hard to describe is that 3 of 4 parameters filter out things from the full task execution list (by: workflow execution ID, state or flat), and the last parameter (recursive) is basically like a flavor of the workflow execution ID filter (get only tasks directly under the workflow execution or get all task execution under the workflow execution recursively recursively).\n\nwhat do you think?","commit_id":"110d4737b11081c779c45384741c5004de6751e2"},{"author":{"_account_id":9408,"name":"Michal Gershenzon","email":"michal.gershenzon@gmail.com","username":"Mgershen"},"change_message_id":"53db810c1e6ed8d7915b62b4bf3a8aab164c09b6","unresolved":false,"context_lines":[{"line_number":1085,"context_line":"#. workflow_execution_id (optional) - Workflow execution ID parameter will"},{"line_number":1086,"context_line":"   allow to get tasks information from a specific workflow execution (either"},{"line_number":1087,"context_line":"   the current execution or a different one), if not passed, it will list all"},{"line_number":1088,"context_line":"   tasks that match the other parameters."},{"line_number":1089,"context_line":"#. recursive (optional. Default: false) - if true treat all tasks in nested"},{"line_number":1090,"context_line":"   workflows as if they where also a part of all higher level workflow"},{"line_number":1091,"context_line":"   executions. Relevant mostly when filtering using workflow execution ID."}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa31d9ce_346127d4","line":1088,"range":{"start_line":1088,"start_character":3,"end_line":1088,"end_character":8},"in_reply_to":"fa31d9ce_a8330961","updated":"2017-02-14 13:08:58.000000000","message":"Done","commit_id":"110d4737b11081c779c45384741c5004de6751e2"},{"author":{"_account_id":9712,"name":"Dougal Matthews","email":"dougal.matthews@canonical.com","username":"dougal"},"change_message_id":"4554b6a1481d21bc2dfdd0f39d99dcffcc11c020","unresolved":false,"context_lines":[{"line_number":1097,"context_line":""},{"line_number":1098,"context_line":"     * tasks of type action"},{"line_number":1099,"context_line":"     * tasks of type workflow, that also have a different state than the one of"},{"line_number":1100,"context_line":"       the nested workflow execution that was executed because of the task."},{"line_number":1101,"context_line":""},{"line_number":1102,"context_line":"usage: **tasks(\u003cwf_execution_id\u003e, \u003crecursive_flag(true/false)\u003e, \u003cstate(ERROR/SUCCESS/RUNNING/null)\u003e, \u003cflat_flag(true/false)\u003e)**"},{"line_number":1103,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa31d9ce_1757d026","line":1100,"updated":"2017-02-14 08:34:21.000000000","message":"I don\u0027t understand this condition.","commit_id":"110d4737b11081c779c45384741c5004de6751e2"},{"author":{"_account_id":9408,"name":"Michal Gershenzon","email":"michal.gershenzon@gmail.com","username":"Mgershen"},"change_message_id":"53db810c1e6ed8d7915b62b4bf3a8aab164c09b6","unresolved":false,"context_lines":[{"line_number":1097,"context_line":""},{"line_number":1098,"context_line":"     * tasks of type action"},{"line_number":1099,"context_line":"     * tasks of type workflow, that also have a different state than the one of"},{"line_number":1100,"context_line":"       the nested workflow execution that was executed because of the task."},{"line_number":1101,"context_line":""},{"line_number":1102,"context_line":"usage: **tasks(\u003cwf_execution_id\u003e, \u003crecursive_flag(true/false)\u003e, \u003cstate(ERROR/SUCCESS/RUNNING/null)\u003e, \u003cflat_flag(true/false)\u003e)**"},{"line_number":1103,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa31d9ce_16e0a8f9","line":1100,"in_reply_to":"fa31d9ce_1757d026","updated":"2017-02-14 13:08:58.000000000","message":"one of the reasons we needed this feature is to understand why did a workflow execution failed as fast as possible.\n\n\nthe 2 condition should give it to us. the first one is for the next usecase - std.http action failed in a sub-workflow of a sub-workflow.\n\nthe second one (that you said you don\u0027t understand) is for the next usecase - a sub-workflow of a sub-workflow finished successfully, but the task that called it in from the first sub-workflow failed on publish and is in ERROR. in this case we want to get the task that failed to publish, but not the task in the main workflow that filed because the sub-workflow failed (because it contained a task that failed on publish).\n\nby calling tasks(\u003cWF_EX_ID\u003e, true, ERROR, true)\nwe can get what we need.\n\nI can write an example workflow if you like. let me know.","commit_id":"110d4737b11081c779c45384741c5004de6751e2"},{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"f1cbbc55036320399520db032ab39bd8e83f5c7e","unresolved":false,"context_lines":[{"line_number":1098,"context_line":"     * tasks of type action"},{"line_number":1099,"context_line":"     * tasks of type workflow, that also have a different state than the one of"},{"line_number":1100,"context_line":"       the nested workflow execution that was executed because of the task."},{"line_number":1101,"context_line":""},{"line_number":1102,"context_line":"usage: **tasks(\u003cwf_execution_id\u003e, \u003crecursive_flag(true/false)\u003e, \u003cstate(ERROR/SUCCESS/RUNNING/null)\u003e, \u003cflat_flag(true/false)\u003e)**"},{"line_number":1103,"context_line":""},{"line_number":1104,"context_line":".. note::"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa31d9ce_a8e6a9ad","line":1101,"updated":"2017-02-14 05:55:56.000000000","message":"Along with an explicit list of parameters we should also have a section for return value that formally describes what kind of object it returns and how it looks like (structure).","commit_id":"110d4737b11081c779c45384741c5004de6751e2"},{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"f1cbbc55036320399520db032ab39bd8e83f5c7e","unresolved":false,"context_lines":[{"line_number":1099,"context_line":"     * tasks of type workflow, that also have a different state than the one of"},{"line_number":1100,"context_line":"       the nested workflow execution that was executed because of the task."},{"line_number":1101,"context_line":""},{"line_number":1102,"context_line":"usage: **tasks(\u003cwf_execution_id\u003e, \u003crecursive_flag(true/false)\u003e, \u003cstate(ERROR/SUCCESS/RUNNING/null)\u003e, \u003cflat_flag(true/false)\u003e)**"},{"line_number":1103,"context_line":""},{"line_number":1104,"context_line":".. note::"},{"line_number":1105,"context_line":"  Keyword arguments are possible only with Jinja2 expression as of now."}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa31d9ce_c8867dda","line":1102,"range":{"start_line":1102,"start_character":102,"end_line":1102,"end_character":111},"updated":"2017-02-14 05:55:56.000000000","message":"\"flat\" or \"flat_flag\"? In the list of parameters it\u0027s just \"flat\".","commit_id":"110d4737b11081c779c45384741c5004de6751e2"},{"author":{"_account_id":9408,"name":"Michal Gershenzon","email":"michal.gershenzon@gmail.com","username":"Mgershen"},"change_message_id":"53db810c1e6ed8d7915b62b4bf3a8aab164c09b6","unresolved":false,"context_lines":[{"line_number":1099,"context_line":"     * tasks of type workflow, that also have a different state than the one of"},{"line_number":1100,"context_line":"       the nested workflow execution that was executed because of the task."},{"line_number":1101,"context_line":""},{"line_number":1102,"context_line":"usage: **tasks(\u003cwf_execution_id\u003e, \u003crecursive_flag(true/false)\u003e, \u003cstate(ERROR/SUCCESS/RUNNING/null)\u003e, \u003cflat_flag(true/false)\u003e)**"},{"line_number":1103,"context_line":""},{"line_number":1104,"context_line":".. note::"},{"line_number":1105,"context_line":"  Keyword arguments are possible only with Jinja2 expression as of now."}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa31d9ce_36a5aca1","line":1102,"range":{"start_line":1102,"start_character":102,"end_line":1102,"end_character":111},"in_reply_to":"fa31d9ce_c8867dda","updated":"2017-02-14 13:08:58.000000000","message":"flat, but I\u0027ll just delete it since we have the signature section.","commit_id":"110d4737b11081c779c45384741c5004de6751e2"},{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"f1cbbc55036320399520db032ab39bd8e83f5c7e","unresolved":false,"context_lines":[{"line_number":1101,"context_line":""},{"line_number":1102,"context_line":"usage: **tasks(\u003cwf_execution_id\u003e, \u003crecursive_flag(true/false)\u003e, \u003cstate(ERROR/SUCCESS/RUNNING/null)\u003e, \u003cflat_flag(true/false)\u003e)**"},{"line_number":1103,"context_line":""},{"line_number":1104,"context_line":".. note::"},{"line_number":1105,"context_line":"  Keyword arguments are possible only with Jinja2 expression as of now."},{"line_number":1106,"context_line":""},{"line_number":1107,"context_line":".. warning::"},{"line_number":1108,"context_line":"  what information will return for each task hasn\u0027t been finalized yet."}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa31d9ce_c85d9d7a","line":1105,"range":{"start_line":1104,"start_character":0,"end_line":1105,"end_character":71},"updated":"2017-02-14 05:55:56.000000000","message":"Since this is about functions in general (not about \u0027tasks()\u0027 specifically) it should be in the parent section (Functions in expressions).","commit_id":"110d4737b11081c779c45384741c5004de6751e2"},{"author":{"_account_id":9408,"name":"Michal Gershenzon","email":"michal.gershenzon@gmail.com","username":"Mgershen"},"change_message_id":"82667a2f20e99b7b44316959c06e8baae4f8a571","unresolved":false,"context_lines":[{"line_number":1105,"context_line":"  Keyword arguments are possible only with Jinja2 expression as of now."},{"line_number":1106,"context_line":""},{"line_number":1107,"context_line":".. warning::"},{"line_number":1108,"context_line":"  what information will return for each task hasn\u0027t been finalized yet."},{"line_number":1109,"context_line":""},{"line_number":1110,"context_line":"Example:"},{"line_number":1111,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa31d9ce_9fecdd90","line":1108,"updated":"2017-02-13 14:58:25.000000000","message":"reviewers, what do you think the warning should be?\nI am not sure we want to commit to always return the \"heavy\" fields (state_info, spec, result and published).\n\nI wanted to add another field called something like \"detailed\" (not in the design https://github.com/openstack/mistral-specs/blob/master/specs/ocata/approved/yaql-tasks-function.rst), but didn\u0027t have the time.","commit_id":"110d4737b11081c779c45384741c5004de6751e2"},{"author":{"_account_id":9408,"name":"Michal Gershenzon","email":"michal.gershenzon@gmail.com","username":"Mgershen"},"change_message_id":"53db810c1e6ed8d7915b62b4bf3a8aab164c09b6","unresolved":false,"context_lines":[{"line_number":1105,"context_line":"  Keyword arguments are possible only with Jinja2 expression as of now."},{"line_number":1106,"context_line":""},{"line_number":1107,"context_line":".. warning::"},{"line_number":1108,"context_line":"  what information will return for each task hasn\u0027t been finalized yet."},{"line_number":1109,"context_line":""},{"line_number":1110,"context_line":"Example:"},{"line_number":1111,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa31d9ce_d6e370d7","line":1108,"in_reply_to":"fa31d9ce_28571927","updated":"2017-02-14 13:08:58.000000000","message":"not sure I understand, let\u0027s continue discussion in the next PS.","commit_id":"110d4737b11081c779c45384741c5004de6751e2"},{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"f1cbbc55036320399520db032ab39bd8e83f5c7e","unresolved":false,"context_lines":[{"line_number":1105,"context_line":"  Keyword arguments are possible only with Jinja2 expression as of now."},{"line_number":1106,"context_line":""},{"line_number":1107,"context_line":".. warning::"},{"line_number":1108,"context_line":"  what information will return for each task hasn\u0027t been finalized yet."},{"line_number":1109,"context_line":""},{"line_number":1110,"context_line":"Example:"},{"line_number":1111,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa31d9ce_28571927","line":1108,"in_reply_to":"fa31d9ce_9fecdd90","updated":"2017-02-14 05:55:56.000000000","message":"See my comment on line 1101. I think we need to have a section for return value and in this section we can clearly describe what the function will return for what input parameters. If it can return a different thing (which is something I don\u0027t like actually, it\u0027s always better to have one return value type flexible enough to fit different use cases) it\u0027s ok, we just need to describe it in a structured way.","commit_id":"110d4737b11081c779c45384741c5004de6751e2"},{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"f1cbbc55036320399520db032ab39bd8e83f5c7e","unresolved":false,"context_lines":[{"line_number":1113,"context_line":""},{"line_number":1114,"context_line":"    ---"},{"line_number":1115,"context_line":"    version: \"v2.0\""},{"line_number":1116,"context_line":"    wf:"},{"line_number":1117,"context_line":"    tasks:"},{"line_number":1118,"context_line":"    task:"},{"line_number":1119,"context_line":"      action: std.noop"},{"line_number":1120,"context_line":"      publish:"},{"line_number":1121,"context_line":"        all_tasks_in_this_wf_yaql: \u003c% tasks(execution().id) %\u003e"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa31d9ce_c8159d49","line":1118,"range":{"start_line":1116,"start_character":4,"end_line":1118,"end_character":9},"updated":"2017-02-14 05:55:56.000000000","message":"Indents don\u0027t look right here. It should be 2 chars for each next level.","commit_id":"110d4737b11081c779c45384741c5004de6751e2"},{"author":{"_account_id":9408,"name":"Michal Gershenzon","email":"michal.gershenzon@gmail.com","username":"Mgershen"},"change_message_id":"53db810c1e6ed8d7915b62b4bf3a8aab164c09b6","unresolved":false,"context_lines":[{"line_number":1113,"context_line":""},{"line_number":1114,"context_line":"    ---"},{"line_number":1115,"context_line":"    version: \"v2.0\""},{"line_number":1116,"context_line":"    wf:"},{"line_number":1117,"context_line":"    tasks:"},{"line_number":1118,"context_line":"    task:"},{"line_number":1119,"context_line":"      action: std.noop"},{"line_number":1120,"context_line":"      publish:"},{"line_number":1121,"context_line":"        all_tasks_in_this_wf_yaql: \u003c% tasks(execution().id) %\u003e"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa31d9ce_d60a9089","line":1118,"range":{"start_line":1116,"start_character":4,"end_line":1118,"end_character":9},"in_reply_to":"fa31d9ce_c8159d49","updated":"2017-02-14 13:08:58.000000000","message":"Done","commit_id":"110d4737b11081c779c45384741c5004de6751e2"},{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"f1cbbc55036320399520db032ab39bd8e83f5c7e","unresolved":false,"context_lines":[{"line_number":1118,"context_line":"    task:"},{"line_number":1119,"context_line":"      action: std.noop"},{"line_number":1120,"context_line":"      publish:"},{"line_number":1121,"context_line":"        all_tasks_in_this_wf_yaql: \u003c% tasks(execution().id) %\u003e"},{"line_number":1122,"context_line":"        all_tasks_in_this_wf_jinja: \"{{ tasks(execution().id) }}\""},{"line_number":1123,"context_line":""},{"line_number":1124,"context_line":"        all_tasks_in_error_yaql: \u003c% tasks(null, false, ERROR) %\u003e"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa31d9ce_28055913","line":1121,"range":{"start_line":1121,"start_character":8,"end_line":1121,"end_character":33},"updated":"2017-02-14 05:55:56.000000000","message":"I would shorten it to \"all_tasks_yaql\". \"in_this_wf\" doesn\u0027t carry any useful semantics, it\u0027s already clear enough from the context that we\u0027re working with a workflow.","commit_id":"110d4737b11081c779c45384741c5004de6751e2"},{"author":{"_account_id":9408,"name":"Michal Gershenzon","email":"michal.gershenzon@gmail.com","username":"Mgershen"},"change_message_id":"53db810c1e6ed8d7915b62b4bf3a8aab164c09b6","unresolved":false,"context_lines":[{"line_number":1118,"context_line":"    task:"},{"line_number":1119,"context_line":"      action: std.noop"},{"line_number":1120,"context_line":"      publish:"},{"line_number":1121,"context_line":"        all_tasks_in_this_wf_yaql: \u003c% tasks(execution().id) %\u003e"},{"line_number":1122,"context_line":"        all_tasks_in_this_wf_jinja: \"{{ tasks(execution().id) }}\""},{"line_number":1123,"context_line":""},{"line_number":1124,"context_line":"        all_tasks_in_error_yaql: \u003c% tasks(null, false, ERROR) %\u003e"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa31d9ce_36412caa","line":1121,"range":{"start_line":1121,"start_character":8,"end_line":1121,"end_character":33},"in_reply_to":"fa31d9ce_28055913","updated":"2017-02-14 13:08:58.000000000","message":"but I have a \"all tasks yaql\" in lines 1128-1129","commit_id":"110d4737b11081c779c45384741c5004de6751e2"},{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"f1cbbc55036320399520db032ab39bd8e83f5c7e","unresolved":false,"context_lines":[{"line_number":1119,"context_line":"      action: std.noop"},{"line_number":1120,"context_line":"      publish:"},{"line_number":1121,"context_line":"        all_tasks_in_this_wf_yaql: \u003c% tasks(execution().id) %\u003e"},{"line_number":1122,"context_line":"        all_tasks_in_this_wf_jinja: \"{{ tasks(execution().id) }}\""},{"line_number":1123,"context_line":""},{"line_number":1124,"context_line":"        all_tasks_in_error_yaql: \u003c% tasks(null, false, ERROR) %\u003e"},{"line_number":1125,"context_line":"        all_tasks_in_error_jinja: \"{{ tasks(None, false, \u0027ERROR\u0027) }}\""}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa31d9ce_6b010b05","line":1122,"range":{"start_line":1122,"start_character":8,"end_line":1122,"end_character":34},"updated":"2017-02-14 05:55:56.000000000","message":"Similar: \"all_tasks_jinja\"","commit_id":"110d4737b11081c779c45384741c5004de6751e2"},{"author":{"_account_id":9408,"name":"Michal Gershenzon","email":"michal.gershenzon@gmail.com","username":"Mgershen"},"change_message_id":"53db810c1e6ed8d7915b62b4bf3a8aab164c09b6","unresolved":false,"context_lines":[{"line_number":1119,"context_line":"      action: std.noop"},{"line_number":1120,"context_line":"      publish:"},{"line_number":1121,"context_line":"        all_tasks_in_this_wf_yaql: \u003c% tasks(execution().id) %\u003e"},{"line_number":1122,"context_line":"        all_tasks_in_this_wf_jinja: \"{{ tasks(execution().id) }}\""},{"line_number":1123,"context_line":""},{"line_number":1124,"context_line":"        all_tasks_in_error_yaql: \u003c% tasks(null, false, ERROR) %\u003e"},{"line_number":1125,"context_line":"        all_tasks_in_error_jinja: \"{{ tasks(None, false, \u0027ERROR\u0027) }}\""}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa31d9ce_563ea028","line":1122,"range":{"start_line":1122,"start_character":8,"end_line":1122,"end_character":34},"in_reply_to":"fa31d9ce_6b010b05","updated":"2017-02-14 13:08:58.000000000","message":"see lines 1130-1131","commit_id":"110d4737b11081c779c45384741c5004de6751e2"},{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"f1cbbc55036320399520db032ab39bd8e83f5c7e","unresolved":false,"context_lines":[{"line_number":1130,"context_line":"        all_tasks_jinja_option1: \"{{ tasks() }}\""},{"line_number":1131,"context_line":"        all_tasks_jinja_option2: \"{{ tasks(None, false, None, false) }}\""},{"line_number":1132,"context_line":""},{"line_number":1133,"context_line":"Task result"},{"line_number":1134,"context_line":"\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027"},{"line_number":1135,"context_line":""},{"line_number":1136,"context_line":"Task result is available by **task(\u003ctask_name\u003e).result**. It contains task result"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa31d9ce_eb433b40","line":1133,"range":{"start_line":1133,"start_character":0,"end_line":1133,"end_character":11},"updated":"2017-02-14 05:55:56.000000000","message":"Starting from this line it can be addressed in a separate patch. Basically, if you agree with my suggestion on the structure (header \"Expression functions\" first and then headers looking like exact function names with details) then we need to align all the existing section with this style.","commit_id":"110d4737b11081c779c45384741c5004de6751e2"},{"author":{"_account_id":9408,"name":"Michal Gershenzon","email":"michal.gershenzon@gmail.com","username":"Mgershen"},"change_message_id":"53db810c1e6ed8d7915b62b4bf3a8aab164c09b6","unresolved":false,"context_lines":[{"line_number":1130,"context_line":"        all_tasks_jinja_option1: \"{{ tasks() }}\""},{"line_number":1131,"context_line":"        all_tasks_jinja_option2: \"{{ tasks(None, false, None, false) }}\""},{"line_number":1132,"context_line":""},{"line_number":1133,"context_line":"Task result"},{"line_number":1134,"context_line":"\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027"},{"line_number":1135,"context_line":""},{"line_number":1136,"context_line":"Task result is available by **task(\u003ctask_name\u003e).result**. It contains task result"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa31d9ce_961bb8c9","line":1133,"range":{"start_line":1133,"start_character":0,"end_line":1133,"end_character":11},"in_reply_to":"fa31d9ce_eb433b40","updated":"2017-02-14 13:08:58.000000000","message":"I agree.\nI would prefer to finish tasks function first if it\u0027s OK with you.","commit_id":"110d4737b11081c779c45384741c5004de6751e2"},{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"1d9e5b5c1a74a3be2780225e5b2076dd71533c5f","unresolved":false,"context_lines":[{"line_number":1070,"context_line":"**user_name**, **project_name**, **roles**, **is_admin** properties."},{"line_number":1071,"context_line":""},{"line_number":1072,"context_line":""},{"line_number":1073,"context_line":"Builtin Functions in expressions"},{"line_number":1074,"context_line":"^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"},{"line_number":1075,"context_line":""},{"line_number":1076,"context_line":"In addition to getting inputs as part of an expression, user can also call some"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa31d9ce_a962c43b","line":1073,"range":{"start_line":1073,"start_character":8,"end_line":1073,"end_character":9},"updated":"2017-02-16 05:02:40.000000000","message":"Do we need a capital here?","commit_id":"534c19e70bf65ef2dc94c3b5b5fd5c01cb07b1a2"},{"author":{"_account_id":9408,"name":"Michal Gershenzon","email":"michal.gershenzon@gmail.com","username":"Mgershen"},"change_message_id":"1ab9249d7ca23f6111937405cbd3fcc7c5c17712","unresolved":false,"context_lines":[{"line_number":1070,"context_line":"**user_name**, **project_name**, **roles**, **is_admin** properties."},{"line_number":1071,"context_line":""},{"line_number":1072,"context_line":""},{"line_number":1073,"context_line":"Builtin Functions in expressions"},{"line_number":1074,"context_line":"^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"},{"line_number":1075,"context_line":""},{"line_number":1076,"context_line":"In addition to getting inputs as part of an expression, user can also call some"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa31d9ce_383febd7","line":1073,"range":{"start_line":1073,"start_character":8,"end_line":1073,"end_character":9},"in_reply_to":"fa31d9ce_a962c43b","updated":"2017-02-16 15:16:23.000000000","message":"Done","commit_id":"534c19e70bf65ef2dc94c3b5b5fd5c01cb07b1a2"},{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"1d9e5b5c1a74a3be2780225e5b2076dd71533c5f","unresolved":false,"context_lines":[{"line_number":1077,"context_line":"predefined functions and get the result of that call."},{"line_number":1078,"context_line":"This section will describe the builtin functions."},{"line_number":1079,"context_line":""},{"line_number":1080,"context_line":"All expression type support all functions."},{"line_number":1081,"context_line":""},{"line_number":1082,"context_line":".. note::"},{"line_number":1083,"context_line":"  Keyword arguments are possible only with Jinja2 expression as of now."}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa31d9ce_2957b458","line":1080,"range":{"start_line":1080,"start_character":15,"end_line":1080,"end_character":19},"updated":"2017-02-16 05:02:40.000000000","message":"type -\u003e types (I\u0027d even change \u0027types\u0027 to \u0027languages\u0027 here)","commit_id":"534c19e70bf65ef2dc94c3b5b5fd5c01cb07b1a2"},{"author":{"_account_id":9408,"name":"Michal Gershenzon","email":"michal.gershenzon@gmail.com","username":"Mgershen"},"change_message_id":"1ab9249d7ca23f6111937405cbd3fcc7c5c17712","unresolved":false,"context_lines":[{"line_number":1077,"context_line":"predefined functions and get the result of that call."},{"line_number":1078,"context_line":"This section will describe the builtin functions."},{"line_number":1079,"context_line":""},{"line_number":1080,"context_line":"All expression type support all functions."},{"line_number":1081,"context_line":""},{"line_number":1082,"context_line":".. note::"},{"line_number":1083,"context_line":"  Keyword arguments are possible only with Jinja2 expression as of now."}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa31d9ce_982e17a4","line":1080,"range":{"start_line":1080,"start_character":15,"end_line":1080,"end_character":19},"in_reply_to":"fa31d9ce_2957b458","updated":"2017-02-16 15:16:23.000000000","message":"Done","commit_id":"534c19e70bf65ef2dc94c3b5b5fd5c01cb07b1a2"},{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"1d9e5b5c1a74a3be2780225e5b2076dd71533c5f","unresolved":false,"context_lines":[{"line_number":1100,"context_line":"     get task executions information only from a specific workflow execution"},{"line_number":1101,"context_line":"     (either the current execution or a different one), if not passed, it will"},{"line_number":1102,"context_line":"     list all task executions that match the other parameters."},{"line_number":1103,"context_line":"     *optional*"},{"line_number":1104,"context_line":"  #. **recursive** - if true treat all task executions in nested workflows as"},{"line_number":1105,"context_line":"     if they where also a part of all higher level workflow executions."},{"line_number":1106,"context_line":"     Relevant mostly when filtering using workflow execution ID. *optional*"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa31d9ce_89f6e05a","line":1103,"range":{"start_line":1103,"start_character":6,"end_line":1103,"end_character":7},"updated":"2017-02-16 05:02:40.000000000","message":"Capital","commit_id":"534c19e70bf65ef2dc94c3b5b5fd5c01cb07b1a2"},{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"1d9e5b5c1a74a3be2780225e5b2076dd71533c5f","unresolved":false,"context_lines":[{"line_number":1100,"context_line":"     get task executions information only from a specific workflow execution"},{"line_number":1101,"context_line":"     (either the current execution or a different one), if not passed, it will"},{"line_number":1102,"context_line":"     list all task executions that match the other parameters."},{"line_number":1103,"context_line":"     *optional*"},{"line_number":1104,"context_line":"  #. **recursive** - if true treat all task executions in nested workflows as"},{"line_number":1105,"context_line":"     if they where also a part of all higher level workflow executions."},{"line_number":1106,"context_line":"     Relevant mostly when filtering using workflow execution ID. *optional*"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa31d9ce_a99724ea","line":1103,"range":{"start_line":1103,"start_character":13,"end_line":1103,"end_character":14},"updated":"2017-02-16 05:02:40.000000000","message":"Missing a period.","commit_id":"534c19e70bf65ef2dc94c3b5b5fd5c01cb07b1a2"},{"author":{"_account_id":9408,"name":"Michal Gershenzon","email":"michal.gershenzon@gmail.com","username":"Mgershen"},"change_message_id":"1ab9249d7ca23f6111937405cbd3fcc7c5c17712","unresolved":false,"context_lines":[{"line_number":1100,"context_line":"     get task executions information only from a specific workflow execution"},{"line_number":1101,"context_line":"     (either the current execution or a different one), if not passed, it will"},{"line_number":1102,"context_line":"     list all task executions that match the other parameters."},{"line_number":1103,"context_line":"     *optional*"},{"line_number":1104,"context_line":"  #. **recursive** - if true treat all task executions in nested workflows as"},{"line_number":1105,"context_line":"     if they where also a part of all higher level workflow executions."},{"line_number":1106,"context_line":"     Relevant mostly when filtering using workflow execution ID. *optional*"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa31d9ce_db2409b4","line":1103,"range":{"start_line":1103,"start_character":13,"end_line":1103,"end_character":14},"in_reply_to":"fa31d9ce_a99724ea","updated":"2017-02-16 15:16:23.000000000","message":"Done","commit_id":"534c19e70bf65ef2dc94c3b5b5fd5c01cb07b1a2"},{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"1d9e5b5c1a74a3be2780225e5b2076dd71533c5f","unresolved":false,"context_lines":[{"line_number":1108,"context_line":"  #. **state** - Possible values are all the states (for example: ERROR,"},{"line_number":1109,"context_line":"     RUNNING etc). When passed the function only gets task executions with the"},{"line_number":1110,"context_line":"     given state, for example all ERROR task executions. If not passed, it will"},{"line_number":1111,"context_line":"     list all task executions that match the other parameters. *optional*"},{"line_number":1112,"context_line":"  #. **flat** - if true, only list the task executions that match at least one"},{"line_number":1113,"context_line":"     of the next conditions:"},{"line_number":1114,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa31d9ce_298c14d9","line":1111,"range":{"start_line":1111,"start_character":63,"end_line":1111,"end_character":73},"updated":"2017-02-16 05:02:40.000000000","message":"Same (capital and period)","commit_id":"534c19e70bf65ef2dc94c3b5b5fd5c01cb07b1a2"},{"author":{"_account_id":9408,"name":"Michal Gershenzon","email":"michal.gershenzon@gmail.com","username":"Mgershen"},"change_message_id":"1ab9249d7ca23f6111937405cbd3fcc7c5c17712","unresolved":false,"context_lines":[{"line_number":1108,"context_line":"  #. **state** - Possible values are all the states (for example: ERROR,"},{"line_number":1109,"context_line":"     RUNNING etc). When passed the function only gets task executions with the"},{"line_number":1110,"context_line":"     given state, for example all ERROR task executions. If not passed, it will"},{"line_number":1111,"context_line":"     list all task executions that match the other parameters. *optional*"},{"line_number":1112,"context_line":"  #. **flat** - if true, only list the task executions that match at least one"},{"line_number":1113,"context_line":"     of the next conditions:"},{"line_number":1114,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa31d9ce_fb29cd8a","line":1111,"range":{"start_line":1111,"start_character":63,"end_line":1111,"end_character":73},"in_reply_to":"fa31d9ce_298c14d9","updated":"2017-02-16 15:16:23.000000000","message":"Done","commit_id":"534c19e70bf65ef2dc94c3b5b5fd5c01cb07b1a2"},{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"1d9e5b5c1a74a3be2780225e5b2076dd71533c5f","unresolved":false,"context_lines":[{"line_number":1117,"context_line":"         than the one of the nested workflow execution that was executed"},{"line_number":1118,"context_line":"         because of the task execution."},{"line_number":1119,"context_line":""},{"line_number":1120,"context_line":"     *optional* False by default"},{"line_number":1121,"context_line":""},{"line_number":1122,"context_line":"Example:"},{"line_number":1123,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa31d9ce_297a54bd","line":1120,"range":{"start_line":1120,"start_character":6,"end_line":1120,"end_character":14},"updated":"2017-02-16 05:02:40.000000000","message":"Capital and period.","commit_id":"534c19e70bf65ef2dc94c3b5b5fd5c01cb07b1a2"},{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"1d9e5b5c1a74a3be2780225e5b2076dd71533c5f","unresolved":false,"context_lines":[{"line_number":1117,"context_line":"         than the one of the nested workflow execution that was executed"},{"line_number":1118,"context_line":"         because of the task execution."},{"line_number":1119,"context_line":""},{"line_number":1120,"context_line":"     *optional* False by default"},{"line_number":1121,"context_line":""},{"line_number":1122,"context_line":"Example:"},{"line_number":1123,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa31d9ce_a94c849e","line":1120,"range":{"start_line":1120,"start_character":31,"end_line":1120,"end_character":32},"updated":"2017-02-16 05:02:40.000000000","message":"period","commit_id":"534c19e70bf65ef2dc94c3b5b5fd5c01cb07b1a2"},{"author":{"_account_id":9408,"name":"Michal Gershenzon","email":"michal.gershenzon@gmail.com","username":"Mgershen"},"change_message_id":"1ab9249d7ca23f6111937405cbd3fcc7c5c17712","unresolved":false,"context_lines":[{"line_number":1117,"context_line":"         than the one of the nested workflow execution that was executed"},{"line_number":1118,"context_line":"         because of the task execution."},{"line_number":1119,"context_line":""},{"line_number":1120,"context_line":"     *optional* False by default"},{"line_number":1121,"context_line":""},{"line_number":1122,"context_line":"Example:"},{"line_number":1123,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa31d9ce_1b1f815c","line":1120,"range":{"start_line":1120,"start_character":6,"end_line":1120,"end_character":14},"in_reply_to":"fa31d9ce_297a54bd","updated":"2017-02-16 15:16:23.000000000","message":"Done","commit_id":"534c19e70bf65ef2dc94c3b5b5fd5c01cb07b1a2"},{"author":{"_account_id":9408,"name":"Michal Gershenzon","email":"michal.gershenzon@gmail.com","username":"Mgershen"},"change_message_id":"1ab9249d7ca23f6111937405cbd3fcc7c5c17712","unresolved":false,"context_lines":[{"line_number":1117,"context_line":"         than the one of the nested workflow execution that was executed"},{"line_number":1118,"context_line":"         because of the task execution."},{"line_number":1119,"context_line":""},{"line_number":1120,"context_line":"     *optional* False by default"},{"line_number":1121,"context_line":""},{"line_number":1122,"context_line":"Example:"},{"line_number":1123,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa31d9ce_bb3035ea","line":1120,"range":{"start_line":1120,"start_character":31,"end_line":1120,"end_character":32},"in_reply_to":"fa31d9ce_a94c849e","updated":"2017-02-16 15:16:23.000000000","message":"Done","commit_id":"534c19e70bf65ef2dc94c3b5b5fd5c01cb07b1a2"},{"author":{"_account_id":9408,"name":"Michal Gershenzon","email":"michal.gershenzon@gmail.com","username":"Mgershen"},"change_message_id":"9155217aa1ffda7f88b8bd1263e1e30f96973286","unresolved":false,"context_lines":[{"line_number":1147,"context_line":"Task publish result:"},{"line_number":1148,"context_line":""},{"line_number":1149,"context_line":".. warning::"},{"line_number":1150,"context_line":"What information will return for each task execution hasn\u0027t been finalized yet."},{"line_number":1151,"context_line":""},{"line_number":1152,"context_line":".. code-block:: json"},{"line_number":1153,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa31d9ce_9cfe79ac","line":1150,"updated":"2017-02-14 13:12:40.000000000","message":"still needs feedback on this.\n+ this should be indented.","commit_id":"534c19e70bf65ef2dc94c3b5b5fd5c01cb07b1a2"},{"author":{"_account_id":9408,"name":"Michal Gershenzon","email":"michal.gershenzon@gmail.com","username":"Mgershen"},"change_message_id":"9155217aa1ffda7f88b8bd1263e1e30f96973286","unresolved":false,"context_lines":[{"line_number":1150,"context_line":"What information will return for each task execution hasn\u0027t been finalized yet."},{"line_number":1151,"context_line":""},{"line_number":1152,"context_line":".. code-block:: json"},{"line_number":1153,"context_line":""},{"line_number":1154,"context_line":"    {"},{"line_number":1155,"context_line":"        \"all_tasks_in_error_yaql\": ["},{"line_number":1156,"context_line":"            {"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa31d9ce_7c01c5ae","line":1153,"updated":"2017-02-14 13:12:40.000000000","message":"1. this is way too long.\n2. this is the actual result \n3. this is a trimmed version of what with might have return in the future (I removed published, spec, and result): http://paste.openstack.org/show/598805/","commit_id":"534c19e70bf65ef2dc94c3b5b5fd5c01cb07b1a2"},{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"1d9e5b5c1a74a3be2780225e5b2076dd71533c5f","unresolved":false,"context_lines":[{"line_number":1150,"context_line":"What information will return for each task execution hasn\u0027t been finalized yet."},{"line_number":1151,"context_line":""},{"line_number":1152,"context_line":".. code-block:: json"},{"line_number":1153,"context_line":""},{"line_number":1154,"context_line":"    {"},{"line_number":1155,"context_line":"        \"all_tasks_in_error_yaql\": ["},{"line_number":1156,"context_line":"            {"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa31d9ce_0c591e35","line":1153,"in_reply_to":"fa31d9ce_7c01c5ae","updated":"2017-02-16 05:02:40.000000000","message":"Michal, I agree that this is too long. I\u0027d do the following:\n\n1. Leave all the variables and expressions you have in \"publish\" section of the workflow.\n2. Provide only 1-2 examples of task outputs saying that for other expressions they would look similar way. I think that would be enough to fully understand how it works. Providing all of them is pointless, it won\u0027t give any more useful information. All the results look the similar except ordering.\n3. In these 1-2 examples I would sort all fields in the same order (e.g. \u0027id\u0027 and \u0027name\u0027 should go first, \u0027state\u0027 should be followed by \u0027state_info\" etc.)","commit_id":"534c19e70bf65ef2dc94c3b5b5fd5c01cb07b1a2"},{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"4b66e27998277fcef4ef39febb8b9c04297683c3","unresolved":false,"context_lines":[{"line_number":1073,"context_line":"Builtin functions in expressions"},{"line_number":1074,"context_line":"^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"},{"line_number":1075,"context_line":""},{"line_number":1076,"context_line":"In addition to getting inputs as part of an expression, user can also call some"},{"line_number":1077,"context_line":"predefined functions and get the result of that call."},{"line_number":1078,"context_line":"This section will describe the builtin functions."},{"line_number":1079,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"da36d5c6_b429e08b","line":1076,"range":{"start_line":1076,"start_character":0,"end_line":1076,"end_character":54},"updated":"2017-02-21 18:53:56.000000000","message":"I\u0027m a little bit confused with this wording for some reason. Do you mean task/action inputs by \"inputs\". If yes, then this sentence is not 100% true because expressions can be used in \u0027publish\u0027 in \u0027on-XXX\u0027 clauses and in other places.","commit_id":"11775a65d8bbf10a6cc74d194fac46cb2bdd8df8"},{"author":{"_account_id":9408,"name":"Michal Gershenzon","email":"michal.gershenzon@gmail.com","username":"Mgershen"},"change_message_id":"7866c4f081f788e549074e8ce669bb597359a645","unresolved":false,"context_lines":[{"line_number":1073,"context_line":"Builtin functions in expressions"},{"line_number":1074,"context_line":"^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"},{"line_number":1075,"context_line":""},{"line_number":1076,"context_line":"In addition to getting inputs as part of an expression, user can also call some"},{"line_number":1077,"context_line":"predefined functions and get the result of that call."},{"line_number":1078,"context_line":"This section will describe the builtin functions."},{"line_number":1079,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba2be162_f9f1a36b","line":1076,"in_reply_to":"ba2be162_33a35a51","updated":"2017-03-01 18:54:50.000000000","message":"Done","commit_id":"11775a65d8bbf10a6cc74d194fac46cb2bdd8df8"},{"author":{"_account_id":9408,"name":"Michal Gershenzon","email":"michal.gershenzon@gmail.com","username":"Mgershen"},"change_message_id":"637c76164cc8e07f8cc02c8eb6f6df152db8adb6","unresolved":false,"context_lines":[{"line_number":1073,"context_line":"Builtin functions in expressions"},{"line_number":1074,"context_line":"^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"},{"line_number":1075,"context_line":""},{"line_number":1076,"context_line":"In addition to getting inputs as part of an expression, user can also call some"},{"line_number":1077,"context_line":"predefined functions and get the result of that call."},{"line_number":1078,"context_line":"This section will describe the builtin functions."},{"line_number":1079,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"da36d5c6_d270ac74","line":1076,"range":{"start_line":1076,"start_character":0,"end_line":1076,"end_character":54},"in_reply_to":"da36d5c6_b429e08b","updated":"2017-02-24 17:02:02.000000000","message":"Can you help me re-word?\n\nI meant something a bit different - that you can take things from the context - like input (although you can also get things you published...)\n\nBasically I wanted to say you can do things like \"\u003c% $.my_input %\u003e\" and in addition to that you can also call a function like \"\u003c% tasks() %\u003e\"","commit_id":"11775a65d8bbf10a6cc74d194fac46cb2bdd8df8"},{"author":{"_account_id":9712,"name":"Dougal Matthews","email":"dougal.matthews@canonical.com","username":"dougal"},"change_message_id":"3530c7fa7dbe67955303301fa044d0d6b70ef138","unresolved":false,"context_lines":[{"line_number":1073,"context_line":"Builtin functions in expressions"},{"line_number":1074,"context_line":"^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"},{"line_number":1075,"context_line":""},{"line_number":1076,"context_line":"In addition to getting inputs as part of an expression, user can also call some"},{"line_number":1077,"context_line":"predefined functions and get the result of that call."},{"line_number":1078,"context_line":"This section will describe the builtin functions."},{"line_number":1079,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba2be162_33a35a51","line":1076,"in_reply_to":"da36d5c6_d270ac74","updated":"2017-03-01 18:01:52.000000000","message":"Suggestion: In addition to the current context (i.e. $ in YAQL and _ in Jinja) expressions have access to a set of predefined functions.\n\nI don\u0027t understand the what this section means: \"get the result of that call.\" - Do you just want to say that they can access the result of the functions? I don\u0027t think we need to say that.","commit_id":"11775a65d8bbf10a6cc74d194fac46cb2bdd8df8"},{"author":{"_account_id":9712,"name":"Dougal Matthews","email":"dougal.matthews@canonical.com","username":"dougal"},"change_message_id":"3530c7fa7dbe67955303301fa044d0d6b70ef138","unresolved":false,"context_lines":[{"line_number":1077,"context_line":"predefined functions and get the result of that call."},{"line_number":1078,"context_line":"This section will describe the builtin functions."},{"line_number":1079,"context_line":""},{"line_number":1080,"context_line":"All expression languages support all functions."},{"line_number":1081,"context_line":""},{"line_number":1082,"context_line":".. note::"},{"line_number":1083,"context_line":"  Keyword arguments are possible only with Jinja2 expression as of now."}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba2be162_33719ae1","line":1080,"updated":"2017-03-01 18:01:52.000000000","message":"Suggestion: The expression languages come with their own individual included functions and operations. Mistral adds the following functions that are available in all the supported languages.","commit_id":"11775a65d8bbf10a6cc74d194fac46cb2bdd8df8"},{"author":{"_account_id":9408,"name":"Michal Gershenzon","email":"michal.gershenzon@gmail.com","username":"Mgershen"},"change_message_id":"7866c4f081f788e549074e8ce669bb597359a645","unresolved":false,"context_lines":[{"line_number":1077,"context_line":"predefined functions and get the result of that call."},{"line_number":1078,"context_line":"This section will describe the builtin functions."},{"line_number":1079,"context_line":""},{"line_number":1080,"context_line":"All expression languages support all functions."},{"line_number":1081,"context_line":""},{"line_number":1082,"context_line":".. note::"},{"line_number":1083,"context_line":"  Keyword arguments are possible only with Jinja2 expression as of now."}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba2be162_99826793","line":1080,"in_reply_to":"ba2be162_33719ae1","updated":"2017-03-01 18:54:50.000000000","message":"done and I removed some of the text above. if you think I should return some of it, please let me know.","commit_id":"11775a65d8bbf10a6cc74d194fac46cb2bdd8df8"},{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"4b66e27998277fcef4ef39febb8b9c04297683c3","unresolved":false,"context_lines":[{"line_number":1080,"context_line":"All expression languages support all functions."},{"line_number":1081,"context_line":""},{"line_number":1082,"context_line":".. note::"},{"line_number":1083,"context_line":"  Keyword arguments are possible only with Jinja2 expression as of now."},{"line_number":1084,"context_line":""},{"line_number":1085,"context_line":"Tasks function"},{"line_number":1086,"context_line":"\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027"}],"source_content_type":"text/x-rst","patch_set":4,"id":"da36d5c6_d9b68d89","line":1083,"range":{"start_line":1083,"start_character":2,"end_line":1083,"end_character":71},"updated":"2017-02-21 18:53:56.000000000","message":"Soft/Note: The author of YAQL says that keyword arguments a supported in YAQL functions. We need to check it again.","commit_id":"11775a65d8bbf10a6cc74d194fac46cb2bdd8df8"},{"author":{"_account_id":9408,"name":"Michal Gershenzon","email":"michal.gershenzon@gmail.com","username":"Mgershen"},"change_message_id":"7866c4f081f788e549074e8ce669bb597359a645","unresolved":false,"context_lines":[{"line_number":1080,"context_line":"All expression languages support all functions."},{"line_number":1081,"context_line":""},{"line_number":1082,"context_line":".. note::"},{"line_number":1083,"context_line":"  Keyword arguments are possible only with Jinja2 expression as of now."},{"line_number":1084,"context_line":""},{"line_number":1085,"context_line":"Tasks function"},{"line_number":1086,"context_line":"\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba2be162_b9c00b2c","line":1083,"in_reply_to":"ba2be162_b65e5810","updated":"2017-03-01 18:54:50.000000000","message":"THANK YOU! Yes, it works perfect!\nI will add it to the tests in a separate PS.","commit_id":"11775a65d8bbf10a6cc74d194fac46cb2bdd8df8"},{"author":{"_account_id":9712,"name":"Dougal Matthews","email":"dougal.matthews@canonical.com","username":"dougal"},"change_message_id":"3530c7fa7dbe67955303301fa044d0d6b70ef138","unresolved":false,"context_lines":[{"line_number":1080,"context_line":"All expression languages support all functions."},{"line_number":1081,"context_line":""},{"line_number":1082,"context_line":".. note::"},{"line_number":1083,"context_line":"  Keyword arguments are possible only with Jinja2 expression as of now."},{"line_number":1084,"context_line":""},{"line_number":1085,"context_line":"Tasks function"},{"line_number":1086,"context_line":"\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba2be162_b65e5810","line":1083,"in_reply_to":"da36d5c6_52c03c50","updated":"2017-03-01 18:01:52.000000000","message":"I think the correct YAQL syntax is \u003c% tasks(state \u003d\u003e \"ERROR\") %\u003e\n\nYou can see an example in the YAQL docs where they pass kwargs to the format function. http://yaql.readthedocs.io/en/latest/standard_library.html#format","commit_id":"11775a65d8bbf10a6cc74d194fac46cb2bdd8df8"},{"author":{"_account_id":9408,"name":"Michal Gershenzon","email":"michal.gershenzon@gmail.com","username":"Mgershen"},"change_message_id":"637c76164cc8e07f8cc02c8eb6f6df152db8adb6","unresolved":false,"context_lines":[{"line_number":1080,"context_line":"All expression languages support all functions."},{"line_number":1081,"context_line":""},{"line_number":1082,"context_line":".. note::"},{"line_number":1083,"context_line":"  Keyword arguments are possible only with Jinja2 expression as of now."},{"line_number":1084,"context_line":""},{"line_number":1085,"context_line":"Tasks function"},{"line_number":1086,"context_line":"\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027\u0027"}],"source_content_type":"text/x-rst","patch_set":4,"id":"da36d5c6_52c03c50","line":1083,"range":{"start_line":1083,"start_character":2,"end_line":1083,"end_character":71},"in_reply_to":"da36d5c6_d9b68d89","updated":"2017-02-24 17:02:02.000000000","message":"Checked again. does not work for me. Any instructions?\n\nDidn\u0027t have luck to find him in PTG, I think we can use email. But anyway, unless we have a working example, probably better to keep current wording.\n\nThis was my workflow:\n\n---\nversion: \"2.0\"\ncall_yaql_kw:\n  input:\n    - some_input: \"this input can have a lot of text!!\"\n  tasks:\n    my_task:\n      action: std.noop\n      publish:\n        my_publish: \u003c% tasks(state\u003dERROR) %\u003e\n    my_task2:\n      action: std.noop\n      publish:\n        my_publish: \"\u003c% tasks(state\u003d\u0027ERROR\u0027) %\u003e\"","commit_id":"11775a65d8bbf10a6cc74d194fac46cb2bdd8df8"},{"author":{"_account_id":9712,"name":"Dougal Matthews","email":"dougal.matthews@canonical.com","username":"dougal"},"change_message_id":"3530c7fa7dbe67955303301fa044d0d6b70ef138","unresolved":false,"context_lines":[{"line_number":1100,"context_line":"     get task executions information only from a specific workflow execution"},{"line_number":1101,"context_line":"     (either the current execution or a different one), if not passed, it will"},{"line_number":1102,"context_line":"     list all task executions that match the other parameters."},{"line_number":1103,"context_line":"     *Optional.*"},{"line_number":1104,"context_line":"  #. **recursive** - if true treat all task executions in nested workflows as"},{"line_number":1105,"context_line":"     if they where also a part of all higher level workflow executions."},{"line_number":1106,"context_line":"     Relevant mostly when filtering using workflow execution ID. *Optional.*"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba2be162_16e804b4","line":1103,"updated":"2017-03-01 18:01:52.000000000","message":"Suggestion:\n\n#. **workflow_execution_id** - If provided the tasks function will return task executions for a specific queue (either the current execution or a different one). Otherwise it will return all task executions that match the other parameters.\n*Optional.*","commit_id":"11775a65d8bbf10a6cc74d194fac46cb2bdd8df8"},{"author":{"_account_id":9408,"name":"Michal Gershenzon","email":"michal.gershenzon@gmail.com","username":"Mgershen"},"change_message_id":"7866c4f081f788e549074e8ce669bb597359a645","unresolved":false,"context_lines":[{"line_number":1100,"context_line":"     get task executions information only from a specific workflow execution"},{"line_number":1101,"context_line":"     (either the current execution or a different one), if not passed, it will"},{"line_number":1102,"context_line":"     list all task executions that match the other parameters."},{"line_number":1103,"context_line":"     *Optional.*"},{"line_number":1104,"context_line":"  #. **recursive** - if true treat all task executions in nested workflows as"},{"line_number":1105,"context_line":"     if they where also a part of all higher level workflow executions."},{"line_number":1106,"context_line":"     Relevant mostly when filtering using workflow execution ID. *Optional.*"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba2be162_84abded5","line":1103,"in_reply_to":"ba2be162_16e804b4","updated":"2017-03-01 18:54:50.000000000","message":"very nice.\ndid you mean to say queue? I\u0027m going to say execution instead for now.","commit_id":"11775a65d8bbf10a6cc74d194fac46cb2bdd8df8"},{"author":{"_account_id":9712,"name":"Dougal Matthews","email":"dougal.matthews@canonical.com","username":"dougal"},"change_message_id":"3530c7fa7dbe67955303301fa044d0d6b70ef138","unresolved":false,"context_lines":[{"line_number":1104,"context_line":"  #. **recursive** - if true treat all task executions in nested workflows as"},{"line_number":1105,"context_line":"     if they where also a part of all higher level workflow executions."},{"line_number":1106,"context_line":"     Relevant mostly when filtering using workflow execution ID. *Optional.*"},{"line_number":1107,"context_line":"     False by default."},{"line_number":1108,"context_line":"  #. **state** - Possible values are all the states (for example: ERROR,"},{"line_number":1109,"context_line":"     RUNNING etc). When passed the function only gets task executions with the"},{"line_number":1110,"context_line":"     given state, for example all ERROR task executions. If not passed, it will"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba2be162_163c84e1","line":1107,"updated":"2017-03-01 18:01:52.000000000","message":"Suggestion:\n\n#. **recursive** - This parameter is a boolean value, if it is true then all task executions within nested workflows will be returned. This is usually used in combination with a specific workflow_execution_id where you still want to see nested workflow\u0027s task executions. False is the default. *Optional.*","commit_id":"11775a65d8bbf10a6cc74d194fac46cb2bdd8df8"},{"author":{"_account_id":9408,"name":"Michal Gershenzon","email":"michal.gershenzon@gmail.com","username":"Mgershen"},"change_message_id":"7866c4f081f788e549074e8ce669bb597359a645","unresolved":false,"context_lines":[{"line_number":1104,"context_line":"  #. **recursive** - if true treat all task executions in nested workflows as"},{"line_number":1105,"context_line":"     if they where also a part of all higher level workflow executions."},{"line_number":1106,"context_line":"     Relevant mostly when filtering using workflow execution ID. *Optional.*"},{"line_number":1107,"context_line":"     False by default."},{"line_number":1108,"context_line":"  #. **state** - Possible values are all the states (for example: ERROR,"},{"line_number":1109,"context_line":"     RUNNING etc). When passed the function only gets task executions with the"},{"line_number":1110,"context_line":"     given state, for example all ERROR task executions. If not passed, it will"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba2be162_84e3de04","line":1107,"in_reply_to":"ba2be162_163c84e1","updated":"2017-03-01 18:54:50.000000000","message":"Done. Sometimes in this page wording is something like \"X by default\" and sometimes it is \"default is X\". I think it should be consistent. Which do you like best?","commit_id":"11775a65d8bbf10a6cc74d194fac46cb2bdd8df8"},{"author":{"_account_id":9712,"name":"Dougal Matthews","email":"dougal.matthews@canonical.com","username":"dougal"},"change_message_id":"3530c7fa7dbe67955303301fa044d0d6b70ef138","unresolved":false,"context_lines":[{"line_number":1108,"context_line":"  #. **state** - Possible values are all the states (for example: ERROR,"},{"line_number":1109,"context_line":"     RUNNING etc). When passed the function only gets task executions with the"},{"line_number":1110,"context_line":"     given state, for example all ERROR task executions. If not passed, it will"},{"line_number":1111,"context_line":"     list all task executions that match the other parameters. *Optional.*"},{"line_number":1112,"context_line":"  #. **flat** - if true, only list the task executions that match at least one"},{"line_number":1113,"context_line":"     of the next conditions:"},{"line_number":1114,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba2be162_566efc2f","line":1111,"updated":"2017-03-01 18:01:52.000000000","message":"Suggestion:\n\n#. **state** - If provided, the task executions will be filtered by their current state. If state isn\u0027t provided, all task executions will be returned that match the other parameters. *Optional.*","commit_id":"11775a65d8bbf10a6cc74d194fac46cb2bdd8df8"},{"author":{"_account_id":9712,"name":"Dougal Matthews","email":"dougal.matthews@canonical.com","username":"dougal"},"change_message_id":"3530c7fa7dbe67955303301fa044d0d6b70ef138","unresolved":false,"context_lines":[{"line_number":1115,"context_line":"       * task executions of type action"},{"line_number":1116,"context_line":"       * task executions of type workflow, that also have a different state"},{"line_number":1117,"context_line":"         than the one of the nested workflow execution that was executed"},{"line_number":1118,"context_line":"         because of the task execution."},{"line_number":1119,"context_line":""},{"line_number":1120,"context_line":"     *Optional.* False by default."},{"line_number":1121,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba2be162_196f57c6","line":1118,"updated":"2017-03-01 18:01:52.000000000","message":"Sorry, I don\u0027t understand this second point. Can you try explaining it another way? I\u0027ve tried reading the code but I got a bit confused. Is it that a task that is a workflow call will only be included if one of the executions within that workflow has a different state than the main workflow? I\u0027m not sure why you would want that either :)","commit_id":"11775a65d8bbf10a6cc74d194fac46cb2bdd8df8"},{"author":{"_account_id":9408,"name":"Michal Gershenzon","email":"michal.gershenzon@gmail.com","username":"Mgershen"},"change_message_id":"7866c4f081f788e549074e8ce669bb597359a645","unresolved":false,"context_lines":[{"line_number":1115,"context_line":"       * task executions of type action"},{"line_number":1116,"context_line":"       * task executions of type workflow, that also have a different state"},{"line_number":1117,"context_line":"         than the one of the nested workflow execution that was executed"},{"line_number":1118,"context_line":"         because of the task execution."},{"line_number":1119,"context_line":""},{"line_number":1120,"context_line":"     *Optional.* False by default."},{"line_number":1121,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba2be162_64b18a8f","line":1118,"in_reply_to":"ba2be162_196f57c6","updated":"2017-03-01 18:54:50.000000000","message":"I will think of a better explanation tomorrow. I want to get the other thing ready for review.","commit_id":"11775a65d8bbf10a6cc74d194fac46cb2bdd8df8"},{"author":{"_account_id":9712,"name":"Dougal Matthews","email":"dougal.matthews@canonical.com","username":"dougal"},"change_message_id":"3530c7fa7dbe67955303301fa044d0d6b70ef138","unresolved":false,"context_lines":[{"line_number":1135,"context_line":"        all_tasks_in_this_wf_yaql: \u003c% tasks(execution().id) %\u003e"},{"line_number":1136,"context_line":"        all_tasks_in_this_wf_jinja: \"{{ tasks(execution().id) }}\""},{"line_number":1137,"context_line":""},{"line_number":1138,"context_line":"        all_tasks_in_error_yaql: \u003c% tasks(null, false, ERROR) %\u003e"},{"line_number":1139,"context_line":"        all_tasks_in_error_jinja: \"{{ tasks(None, false, \u0027ERROR\u0027) }}\""},{"line_number":1140,"context_line":"        all_tasks_in_error_jinja_with_kw: \"{{ tasks(state\u003d\u0027ERROR\u0027) }}\""},{"line_number":1141,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba2be162_39725bae","line":1138,"updated":"2017-03-01 18:01:52.000000000","message":"We can update this with kwargs now :)","commit_id":"11775a65d8bbf10a6cc74d194fac46cb2bdd8df8"},{"author":{"_account_id":9408,"name":"Michal Gershenzon","email":"michal.gershenzon@gmail.com","username":"Mgershen"},"change_message_id":"7866c4f081f788e549074e8ce669bb597359a645","unresolved":false,"context_lines":[{"line_number":1135,"context_line":"        all_tasks_in_this_wf_yaql: \u003c% tasks(execution().id) %\u003e"},{"line_number":1136,"context_line":"        all_tasks_in_this_wf_jinja: \"{{ tasks(execution().id) }}\""},{"line_number":1137,"context_line":""},{"line_number":1138,"context_line":"        all_tasks_in_error_yaql: \u003c% tasks(null, false, ERROR) %\u003e"},{"line_number":1139,"context_line":"        all_tasks_in_error_jinja: \"{{ tasks(None, false, \u0027ERROR\u0027) }}\""},{"line_number":1140,"context_line":"        all_tasks_in_error_jinja_with_kw: \"{{ tasks(state\u003d\u0027ERROR\u0027) }}\""},{"line_number":1141,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba2be162_84211eb7","line":1138,"in_reply_to":"ba2be162_39725bae","updated":"2017-03-01 18:54:50.000000000","message":"Done","commit_id":"11775a65d8bbf10a6cc74d194fac46cb2bdd8df8"},{"author":{"_account_id":9712,"name":"Dougal Matthews","email":"dougal.matthews@canonical.com","username":"dougal"},"change_message_id":"3530c7fa7dbe67955303301fa044d0d6b70ef138","unresolved":false,"context_lines":[{"line_number":1140,"context_line":"        all_tasks_in_error_jinja_with_kw: \"{{ tasks(state\u003d\u0027ERROR\u0027) }}\""},{"line_number":1141,"context_line":""},{"line_number":1142,"context_line":"        all_tasks_yaql_option1: \u003c% tasks() %\u003e"},{"line_number":1143,"context_line":"        all_tasks_yaql_option2: \u003c% tasks(null, false, false, false) %\u003e"},{"line_number":1144,"context_line":"        all_tasks_jinja_option1: \"{{ tasks() }}\""},{"line_number":1145,"context_line":"        all_tasks_jinja_option2: \"{{ tasks(None, false, None, false) }}\""},{"line_number":1146,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba2be162_5969cfbd","line":1143,"updated":"2017-03-01 18:01:52.000000000","message":"and here too","commit_id":"11775a65d8bbf10a6cc74d194fac46cb2bdd8df8"},{"author":{"_account_id":9408,"name":"Michal Gershenzon","email":"michal.gershenzon@gmail.com","username":"Mgershen"},"change_message_id":"7866c4f081f788e549074e8ce669bb597359a645","unresolved":false,"context_lines":[{"line_number":1140,"context_line":"        all_tasks_in_error_jinja_with_kw: \"{{ tasks(state\u003d\u0027ERROR\u0027) }}\""},{"line_number":1141,"context_line":""},{"line_number":1142,"context_line":"        all_tasks_yaql_option1: \u003c% tasks() %\u003e"},{"line_number":1143,"context_line":"        all_tasks_yaql_option2: \u003c% tasks(null, false, false, false) %\u003e"},{"line_number":1144,"context_line":"        all_tasks_jinja_option1: \"{{ tasks() }}\""},{"line_number":1145,"context_line":"        all_tasks_jinja_option2: \"{{ tasks(None, false, None, false) }}\""},{"line_number":1146,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba2be162_df4d9f73","line":1143,"in_reply_to":"ba2be162_5969cfbd","updated":"2017-03-01 18:54:50.000000000","message":"hmmm... it should be this call is wrong. I wonder how I didn\u0027t notice. will change it.","commit_id":"11775a65d8bbf10a6cc74d194fac46cb2bdd8df8"},{"author":{"_account_id":9712,"name":"Dougal Matthews","email":"dougal.matthews@canonical.com","username":"dougal"},"change_message_id":"3530c7fa7dbe67955303301fa044d0d6b70ef138","unresolved":false,"context_lines":[{"line_number":1148,"context_line":""},{"line_number":1149,"context_line":".. warning::"},{"line_number":1150,"context_line":"  What information will return for each task execution hasn\u0027t been finalized"},{"line_number":1151,"context_line":"  yet, so it might change in the next version."},{"line_number":1152,"context_line":""},{"line_number":1153,"context_line":".. code-block:: json"},{"line_number":1154,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba2be162_d9e93f1c","line":1151,"updated":"2017-03-01 18:01:52.000000000","message":"Suggestion: The return value for each task execution hasn\u0027t been finalized and isn\u0027t considered stable. It may change in a future Mistral release.","commit_id":"11775a65d8bbf10a6cc74d194fac46cb2bdd8df8"},{"author":{"_account_id":9712,"name":"Dougal Matthews","email":"dougal.matthews@canonical.com","username":"dougal"},"change_message_id":"654081dde364bc3ba2234bbc1059261db6a63c91","unresolved":false,"context_lines":[{"line_number":1115,"context_line":"       * task executions of type action"},{"line_number":1116,"context_line":"       * task executions of type workflow, that also have a different state"},{"line_number":1117,"context_line":"         than the one of the nested workflow execution that was executed"},{"line_number":1118,"context_line":"         because of the task execution."},{"line_number":1119,"context_line":""},{"line_number":1120,"context_line":"     *Optional.* False by default."},{"line_number":1121,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"ba2be162_73d76b23","line":1118,"updated":"2017-03-02 10:50:43.000000000","message":"How about this? Maybe a bit long?\n\ntask executions of type workflow that have a different state from the workflow execution they triggered. For example, if used with a specific workflow_execution_id and the state ERROR it will return tasks that errored despite the workflow succeeding. This can mean that there was an error in the task itself, like an invalid expression in publish.","commit_id":"6718e5057072be839ff8eaab33eb07bc71c694f9"},{"author":{"_account_id":9408,"name":"Michal Gershenzon","email":"michal.gershenzon@gmail.com","username":"Mgershen"},"change_message_id":"1255dcd2fff1bf110697e9aeb308a4537d016d62","unresolved":false,"context_lines":[{"line_number":1115,"context_line":"       * task executions of type action"},{"line_number":1116,"context_line":"       * task executions of type workflow, that also have a different state"},{"line_number":1117,"context_line":"         than the one of the nested workflow execution that was executed"},{"line_number":1118,"context_line":"         because of the task execution."},{"line_number":1119,"context_line":""},{"line_number":1120,"context_line":"     *Optional.* False by default."},{"line_number":1121,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"ba2be162_7838113e","line":1118,"in_reply_to":"ba2be162_73d76b23","updated":"2017-03-02 16:31:09.000000000","message":"Done","commit_id":"6718e5057072be839ff8eaab33eb07bc71c694f9"}]}
