Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

using butler bot to loop through multiple card lists using wildchar

aturetsky
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
June 4, 2020

I have the following command:
            script: for each card in list "{*}Rocks{*}", ....
This currently executes on only the first list containing the word "Rocks" in its name.
Instead, I want it to execute on each list containing the word "Rocks" in its name.
How would I change my command to do that?

Thanks!
Alex

 

2 answers

1 vote
Esme Crutchley
Community Champion
June 4, 2020

Hi @aturetsky 

Welcome to the Community!

Butler bot doesn't exist anymore, I'm sorry to say. The Butler PowerUp does, however.

Could you send a screenshot of your rule so that we can see what's misbehaving?!

I'm going to tag in @Iain Dooley as well in case it's more of a script issue!

Esme :)

0 votes
aturetsky
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
June 5, 2020

Thanks for being willing to help, @Esme Crutchley .  I assume what you mean is that Butler Bot is not officially supported - because other than that - it's alive and well.  I am using it rather than the PowerUp because it has a much more generous command quota.

Also, note that this rule is not misbehaving.  It is behaving correctly as written - it's just that it's written wrong and I don't know what to change it to.  So it's not a matter of debugging my rule.

The reason it's behaving correctly as currently written is because "for each card in list" implies ONE list and is not expected to work on ALL of the lists that match "{*}Rocks{*} , but rather only on the first list that matches.

My question is how do I rewrite this so that it operates on ALL of the lists that match that expression.

I hope this clarifies things.  Sorry for not being clear right away.

Iain Dooley
Community Champion
June 5, 2020

@aturetsky hey :) I'm a little rusty on my Butler Bot but I think you should be able to do something like:

for each list
match "{*}Rocks{*}" against "{listname}"
find the first card in the list and post comment "howdy"

The issue you're going to run into is that you won't be able to execute a "for each" on all cards in the list unless you create a script, this was the only way to do "nested" loops in Butler Bot. So basically you look through each list that matches Rocks, then the action you take on each list is to run a script, passing in the list id, then your script does something like "find list with id {listid} and for each card do xyz".

These typically take a long time to run, I think the script processing queue is lower priority than standard commands. I had some instances where I had 3 nested layers and it would take like 2 hours to run :)

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events