Trello Webhook App for NebriOS
This app is intended for use in a NebriOS instance. Visit https://nebrios.com to sign up for free!
Fast Setup:
pip install git+https://github.com/koryd-bixly/nebri-trello.git
Next, from your instance sidebar, go Advanced> Sidebar Links
Create a new link, use the name "Setup Trello" and add the following URL:
/api/v1/cards/load?name=trello-get-started
A new sidebar link will show up. Click it to get started!
Once all files are properly uploaded, this app needs to be set up from debug mode. Make sure that the subject line is clear in Debug mode and input the following:
trello_webhook_setup := True
This will trigger a card load with a link to follow that will provide you with a token generated with your app key/secret. The generated token will be stored for future use.
Once you submit the card, setup is complete. At this point, data will automatically be received from trello based on events that happen on the user's boards and will update appropriate KVPs accordingly. The initial webhook registration can take some time, so please be patient.
Currenty this app supports only one user per instance. If you need to remove an old user, input the following:
trello_delete_webhooks_for_user := True
Each scenario has it's own rule script to send out notifications or take actions. These rule scripts can be triggered manually for testing, or can be set up to run on a drip schedule.
Manually Triggering Scripts
trello_overdue_cards_notify := True
default_user := <your_email>
When the above line is sent via debug mode, the trello_overdue_cards_notify
script will be woken up, causing it to find all overdue cards and send an email listing all cards and the card creator. An email will be sent to the address defined during setup in the DEFAULT_USER
.
trello_checklist_due_soon := True
When the above line is sent via debug mode, the trello_checklist_due_soon
script will be woken up, causing it to find all cards that have an unfinished checklist due in the next past 6 hours. An email will be sent to the address defined during setup in the DEFAULT_USER
.
trello_search_template_checklist := <drip_name>
When the above line is sent via debug mode, the trello_search_template_checklist
script will be woken up, causing it to find all cards that have a label named template checklist
. This card will be copied to the board and list specified in the description. Here is an example configureation for a template checklist description:
due=<how long after crated should the new card be due. OPTIONS: day, hour, week, month, quarter, year>
board=<board name>
list=<list name>
drip=<drip name>
description=<description on new card>
NOTE: do not put spaces between the =
and the key/value
The drip paramater above is desgined to allow you to have multiple checklists wake up on the same drip. For example, I could create the 8am drip and all cards with drip=8am
will be copied when the script wakes up. Remember that drip names must be a string and not start with 'RAN'.
Setting Up a Drip
Under advanced in the nebrios web app, there is a drips tab. This can also be accessed at the /core/drip/
endpoint.
Drips utilize cron job syntax for when they are run (www.cronmaker.com):
* * * * * command to execute
│ │ │ │ │
│ │ │ │ │
│ │ │ │ └───── day of week (0 - 6) (0 to 6 are Sunday to Saturday, or use names; 7 is Sunday, the same as 0)
│ │ │ └────────── month (1 - 12)
│ │ └─────────────── day of month (1 - 31)
│ └──────────────────── hour (0 - 23)
└───────────────────────── min (0 - 59)
schedule
should reflect the cron schedule in the above syntax
key/value pairs
should reflect what key/value pairs should be created
Example In order to create a drip to run trello_search_template_checklist
, create new cards from all templates on the 8am drip every day at 8am, your drip should look like:
schedule: 0 8 * * *
key/value pairs: trello_search_template_checklist := 8am