Hi @Iain Dooley , I followed your step by step and it worked flawlessly, thanks a lot. I've managed to make the helloWorld function work too.
I've started using Butler Bot before it became a Power-Up, and I'm missing some functionality, especially when dealing with accounts that doesn't support the legacy Butler Bot code-writing style. So, I've searched for an alternative and found Trellinator.
I'm not a developer, I struggle a lot with coding, I only have a superficial knowledge of VB and Python, but I find it very useful to know how to automate stuff (just like I did with Butler Bot).
I need a guiding light to start understanding the logic behind Trellinator. I know that what I'm asking is basically your work, that people pay you for, but could you translate a couple of Butler code just to get me started? I know that I lack JavaScript knowledge, but I'm willing to dig deeper. I've tried to write my own function, but it doesn't work. Could you help me? I've selected two pieces of Butler Bot code that I use:
when a card in list "PRAY TODAY" is moved into list "WAITING", add comment "Prayed on day {datenumber}, at {time24}."
when a card with a name containing " [{*}]" is moved into list "WAITING", set due in {cardnamewildcard1} days
I think those two examples are good enough for my brain to start thinking in the Trellinator way. Appreciate your help and advise.
On the past days I've read almost everything I could about Trellinator documentation, and I'm figuring out a bunch of useful stuff and I'm finding my way through JavaScript too. I'm really impressed how powerful Trellinator turns out to be.
The way you use RegExp to find variables in the name it's very neat!
I wrote some functions and they are already working. Thanks to you, I'm officially migrating my boards to Trellinator and letting Butler Bot go.
@Iain Dooley, BTW, I've had a bit of a headache when I copied an example that used the plusDays() method, it's listed here and here. I think it would be nice to let you know.
@Iain Dooley, it's me again. You helped me a lot, I thought I could give you back somehow, in case you didn't already know what I'm about to show you.
I'm using the countCards() method to rise up some stats on the board and I've figured out a way to do it more of a Butler-like style, with the card counted numbers as covers/attachments. There is this free service FakeImg.pl (it's open source), it gives you placeholder images accordingly to URL parameters, and it's possible to write some text on them. You can pass something like https://fakeimg.pl/256x64/434343/dedede/?text=54&font=bebas&font_size=48 and change the text parameter with the result of the countCards() method, and attach it to a card with the attachLink() method. It worked nicely, take a look below.
I have been trying to install this awesome bot into a board. I was able to get the bot added as a user and the spreadsheet shows it has the webhooks setup. I wanted to do the helloWorld test to make sure the bot is connected correctly. I logged in under my personal Trello acct, created a new card and added a comment in it. Waited for the bit to respond.... nothing happened.
Last night I reinitialized the spreadsheet and .... got the same result.
If it's the former, you need to disable the v8 engine before initialising. I also found that after disabling v8 I had to refresh the spreadsheet before reinitialising or it would still use the wrong URL. So the steps are:
1) Run that function
2) Check the length of the ID
3) If it's the shorter, disable the v8 runtime
4) Refresh the spreadsheet
5) Delete all webhooks
6) Initialize again
7) Run the above function and check it again
So that is thing one. Thing 2 is that the way the web app publishing works in the new editor is different from the legacy editor. I'd recommend first deploying using the legacy editor, then check that the ID in the web app URL is the same one showing up in the callback URL.
I had a discussion with Google the other day about how the new deployments work, you can read about it here:
Each time you create a new deployment now it creates a new URL, but you can choose instead "Manage Deployments" and attach new code to your existing URL. It's a better system but somewhat more confusing and error prone than the old one when updating your Trellinator code.
Also note that as Google Apps Script deployment as started to become a bit more complicated have been working on building a hosted version of Trellinator that makes the deployment much simpler, called BenkoBot:
Hello, I REALLY wanted this to work for me! I got stuck at: NB: There is a bug currently in Google Apps Script V8 runtime that returns the incorrect published web app URL, so even though you can switch to the V8 runtime later on, you need to disable the V8 runtime before you initialise Trellinator. You can track the issue here (and don't forget to "star" the issue so that Google is encouraged to fix it!) https://issuetracker.google.com/issues/184467246
I didn't know how to disable V8 so I continued with the instructions. I never got the return message “Hi! I'm Trellinator”.
Reading further down, no idea how to "Using your Trellinator Trello account, add your personal Trello account to both of these boards."
So I'm dead in the water! No luck. If I could get an explanation on how to solve those two issues, I'd like to give this another go. Thanks for creating this feature for us.
Hi @Rosa Clark it actually has gotten worse, you need to switch to the legacy editor as well as disabling the v8 runtime before it will deploy the correct URL:
It's much easier to setup, and we're currently working on scheduled actions and global command groups which are the only two major features missing compared with running it in GAS.
Sorry :( You can definitely still get it to work with GAS (I not only have multiple clients still using GAS but also set up new ones) but it's pretty tricky.
the menu doesn't appear after updating spreadsheet, if I go to the script and try to start function init forcely, I get mistake with require "ReferenceError: require is not defined" in Murphy-tests modules. What should I do with that?
@Dmitriy Rudakov hey there, it sounds like you've pushed all the nodejs code to google apps script. That means the claspignore file isn't correct, are you using trellinator push rather than clasp push? trellinator push first assembles a .claspignore file to include only the relevant project files.
BTW the Google Apps Script deployment environment is becoming more tricky over time, we have a new hosted version that has some performance improvements as well as being easier to deploy, you might like to try it out:
It also has github integration for version control, so you can still write code and test it on the command line using the same process described in the hello world pdf.
@Iain Dooley I need to get to Google spreadsheet the actions I do in Trello.
For example, I put the card to next list list and put new comment at list and automatically it comes to google spreadsheet list. It must happen like incoming actions at list Infolog but to separate columns like: "date time when happen", "board id", "old list id", "new id list", "card id", "due date", "new comment".
Can you direct me, which way must I move to find issue? I have got the quick start by Benko and did first steps to get actions from my Trello to list Infolog, but my pure knowledge does not allow me to understand, which script I can use at start for copy and rewrite)) Thank you!
@Iain Dooley thank you, I know this way to write manually row to table, but I mean the writing events from Trello, like it happens now at list Infolog in Spreadsheet
I do not ask to write for me in full, I just must understand the way to move. Which script in Trellinator's google sheet is responsible for the same task or something like this?
Alternatively if you are after someone to develop code for you, we can put you in touch with one of our vetted developers. Just email team@benkobot.com or submit a quote request at http://www.benkobot.com/
Firstly thank you for producing this as open source... I've been following the tutorial for trellinator helloworld and can't get any output in the 'infolog' tab in sheets. I've been working on this for a couple of days now and was wondering if you could help please.
@Matt Chambers hey Matt, sorry I have just added this note to the top of the original article, I'm sorry you wasted your time trying to get it to work:
UPDATE 2023: Hi all, unfortunately changes in Google Apps Script have made it very difficult to register the webhooks we need to in order to run Trellinator. We were kind of keeping up with some workarounds for a while but recent changes in the editor have made even those workarounds untenable. We have developed a standalone alternative to run Trellinator code called BenkoBot, it's a paid service because we have to host and run all the code but you can set up an account and try your first command for free https://app.benkobot.com/ most of you will find that Trellinator in Google Apps Script still works for a while, but eventually it will stop working and we won't be able to fix it for you. All your Trellinator code can be ported to BenkoBot with minimal changes, and if you email team@benkoworks.com we can put you in touch with a developer experienced with those migrations. You can see some additional documentation on our community board https://trello.com/b/IoHmhz5c/benkobot-community-board
@Matt Chambers note that the stuff in the helloworld PDF about using murphytest to run command line tests for your code still applies to BenkoBot, because it has a github integration so you can test code on the command line then push to github and deploy in BenkoBot. The setup for this is in the community board "Developer Challenge" document.
Hey Iain, No worries it is what it is as they say and thanks for your prompt helpful support. THe original solution would have been perfect but back to the drawing-board. I was looking for database integration in order to send an automated client email when moving a card from a 'pending' list to a 'shipped' list. Is this a solution you could provide or know of any way, please?
@Iain Dooley I'm curious as to what changes have occurred in Apps Script? I have another solution in place and currently functioning in Apps Script and receiving webhooks without an issue but using google cloud functions -> Google's Pub/Sub in lieu of Amazon and it's been working just fine, but I'm guessing the issue is going to be in the average user setting it up or is there something happening behind the scenes that I might not be aware of?
82 comments