Explicit task parameters

Registered by Renat Akhmerov on 2014-11-20

Suggestion:

taskA:
    action: my_act p1={}
    on-success:
        -taskB(msg="yes")
    on-failure:
        - taskB(msg="no")

So the idea is to short-circuit publishing mechanism that we have now that can be used via "publish" clause. It means we can avoid using "publish" and specify explicit variables that will go into inbound context of a downstream task.

------ Example ------

tasks:

    task1:
        publish:
            message: My default message

    task2:
        on-error:
            - notify # In this case "notify" will use "My default message"
        on-success:
            - notify(message='My branch specific message') # "notify" won't use the default message.

    notify:
        action: send_message msg=<% $.message %>

Notes:

* Those explicit parameters essentially is a shortcut for publishing with the only difference that it publishes variables for one specific downstream task. More precisely, a branch that the downstream task belongs to.

[renat: Everyone at the PTG agreed with the proposed semantics]

Blueprint information

Status:
Not started
Approver:
Renat Akhmerov
Priority:
Medium
Drafter:
Renat Akhmerov
Direction:
Approved
Assignee:
None
Definition:
Approved
Series goal:
None
Implementation:
Not started
Milestone target:
None

Related branches

Sprints

Whiteboard

rakhmerov: as part of this work we need to clarify semantics

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.