Post

3 followers Follow
0
Avatar

Question: How to make branching easier - "decision" tasks?

I submitted this to the blog as well.
I would like a simple task that does the following:
1) Behave like "Gate" to enable multiple check boxes.
2) But does not fail if all checkboxes are not checked.
3) Automatically creates release variables for each checkbox - that can be referenced from other tasks (precondition/script, etc)
This would be a huge help for us to meet the needs of our release customers.
Thanks!

Anthony Ferrari

Please sign in to leave a comment.

8 comments

0
Avatar

Hi Anthony

Thanks for posting! Just to help understand the context for the question a bit better, could you give us an example of the kind of scenario you're trying to implement? Is this about making it possible to "choose branch A or branch B" of a release, for example? Based on manual input or automated output? Or something different entirely?

Regards

Andrew

Andrew Phillips 0 votes
0
Avatar

Hi Andrew.
It would be a task that behaves just like Gate. The user would check the checkbox(es) and then the release could skip a phase or individual tasks based on this choice (from the release variables and preconditions). We have some cases where the user receives information that causes the release steps required to change based on this new information. We can sort of do this now...but it can get messy :) Would be great to get this type of "branching" in the process. Thanks!!

Anthony Ferrari 0 votes
0
Avatar

Hi Anthony

We have some cases where the user receives information that causes the release steps required to change based on this new information.

So as an example case, we might have tasks/phases A, B and C, not all of which need to be executed every time. And then somewhere prior to A, B and C, we would want to have some way for a user to decide:

  • Do A? Yes/no
  • Do B? Yes/no
  • Do C? Yes/no

Does that sound about right?

Regards

Andrew

Andrew Phillips 0 votes
0
Avatar

Partially....but what I am asking is a little different. You are proposing a y/n for each task that is entered by the user.

I would like to present several choices checkboxes to the user at once and then let the release code decide which tasks are skipped/completed. In other words - it is not necessarily a 1 to 1 relationship between the choice and the task. Hope that help a bit.

Anthony Ferrari 0 votes
0
Avatar

Partially....but what I am asking is a little different. You are proposing a y/n for each task that is entered by the user.

Sorry, it looks like my proposal was unintentionally specific ;-) If I'm understanding you correctly, this is a more general "get decision input from a user" scenario. I.e. possible questions could be:

  • Do you want to do A? Y/N
  • Pick 2 of the following three options: foo, bar, baz
  • How many times should we repeat section B?

And then programmatic decisions would be made based on the responses.

Does that sound closer to the scenario you have in mind? Or do you have an example of an actual scenario from one of your releases that you could share?

Regards

Andrew

Andrew Phillips 0 votes
0
Avatar

Yep....that is perfect!
to re-iterate, the things that are important to us are:
1) We dont want to "skip"
2) We would like the env variables created automatically somehow (maybe based on name with separator chars added - so "QA Test Passed?" would be converted to "QA_Test_Passed")
Thanks!

Anthony Ferrari 0 votes
0
Avatar

Stay tuned, something along these lines will be in our upcoming 4.8 release (end of this year).

It will be another task type called User Input, which you can configure with a subset of all release variables. We will also support boolean variables, which will show up us checkboxes in the task, like you describe above.

Variables will have a label, so the variable ${QA_passed} will show up us "QA Test Passed?" with a check box in this task.

Hes Siemelink 0 votes
0
Avatar

Thanks sounds awesome! We look forward to this feature being added.
Thanks for all your help!

Anthony Ferrari 0 votes