Skip to content

Trello ​

Trello is a visual work-management tool that organizes projects into boards, lists, and cards.

Bruin supports Trello as a source for Ingestr assets, and you can use it to ingest data from Trello into your data warehouse.

In order to set up Trello connection, you need to add a configuration item in the .bruin.yml file and in asset file. You need an api_key and a token for authentication. For details on how to obtain them, please refer to the Obtaining credentials section below.

Follow the steps below to correctly set up Trello as a data source and run ingestion.

Step 1: Add a connection to .bruin.yml file ​

To connect to Trello, you need to add a configuration item to the connections section of the .bruin.yml file. This configuration must comply with the following schema:

yaml
connections:
  trello:
    - name: "my_trello"
      api_key: "your_api_key"
      token: "your_token"
  • api_key: Your Trello Power-Up API key (required)
  • token: A Trello token authorizing access to your account's data (required)

Step 2: Create an asset file for data ingestion ​

To ingest data from Trello, you need to create an asset configuration file. This file defines the data flow from the source to the destination. Create a YAML file (e.g., trello_ingestion.yml) inside the assets folder and add the following content:

yaml
name: public.trello
type: ingestr
connection: postgres

parameters:
  source_connection: my_trello
  source_table: 'cards'

  destination: postgres
  • name: The name of the asset.
  • type: Specifies the type of the asset. Set this to ingestr to use the ingestr data pipeline.
  • connection: This is the destination connection, which defines where the data should be stored. For example: "postgres" indicates that the ingested data will be stored in a PostgreSQL database.
  • source_connection: The name of the Trello connection defined in .bruin.yml.
  • source_table: The name of the data table in Trello you want to ingest. You can find the available source tables below.

Available Source Tables ​

TablePKInc KeyInc StrategyDetails
boardsid-replaceAll boards the account can access.
organizationsid-replaceWorkspaces (organizations) the account belongs to.
listsid-replaceLists across all accessible boards.
membersid-replaceMembers across all accessible boards, de-duplicated.
labelsid-replaceLabels defined on each board.
checklistsid-replaceChecklists across all accessible boards.
cardsiddateLastActivitymergeCards across all accessible boards.
actionsiddatemergeActivity log (actions) across all accessible boards.

Scoping to specific boards ​

By default the board-scoped tables (lists, members, labels, checklists, cards, actions) fetch data from every board the account can access. To scope a run to specific boards, append a comma-separated list of board IDs after the table name with a colon, e.g. source_table: 'cards:5f2a1c,60b1d2'.

Step 3: Run asset to ingest data ​

bash
bruin run assets/trello_ingestion.yml

As a result of this command, Bruin will ingest data from the given Trello table into your Postgres database.

Obtaining credentials ​

Trello's REST API authenticates with an API key and a token:

  1. Log in to Trello and open the Power-Ups admin.
  2. Create a Power-Up (or open an existing one) and generate an API key on its "API key" page.
  3. From the same page, use the Token link to authorize your account and generate a token.

Notes ​

  • Authentication: The Trello REST API uses an API key + token passed as query parameters.
  • Incremental Loading: Supported for cards (by dateLastActivity) and actions (by date).