Hello,

Currently, there are two "publish" fields, one in the task(regular "publish")-the scope is branch and not global,
and another under "on-success", “on-error” or “on-complete”.

In the current behavior, regular "publish" is ignored if there is "publish" under "on-success", “on-error” or “on-complete” [1].

For example:-
(a)
version: '2.0'
wf1:
    tasks:
      t1:
        publish:
          res_x1: 1
        on-success:
          publish:
            branch:
              res_x2: 2

(b)
version: '2.0'
wf2:
    tasks:
      t1:
        publish:
          res_x1: 1

"res_x1" won't be published in (a), but it will in (b).


We can either:-

1) Invalidate such syntax.
2) Merge the two publishes together and if there are duplicate keys, there are two options:-
   a) What takes priority is what's in publish under "on-success" or “on-error” or “on-complete.
   b) Not allow having a duplicate.


What is your opinion?
And please tell us if you have other suggestions.

[1] https://bugs.launchpad.net/mistral/+bug/1791449