csharp-trello-manatee

Cómo conectar con Trello desde C# con Trello Manatee

Trello Manatee es una biblioteca de C# que proporciona una interfaz para conectarnos a la API de Trello, y poder acceder a sus recursos para lectura o escritura.

Si trabajas habitualmente con Trello, alguna vez puedes haber necesitado conectarte con su API para desde para interactuar con tus tableros, listas y tarjetas, o automatizar procesos.

Trello Manatee es la biblioteca de C# de referencia para, precisamente, conectarnos de manera sencilla y cómoda.

Por ejemplo, yo la he usado frecuentemente en alguna solución donde los usuarios empleaban Trello como sistema de gestión, y de ahí leías los datos desde C# para hacer tus cálculos, grabarlos en una base de datos etc (te evitas hacer un UI, y cambiarles su forma de trabajar).

No es una librería compleja de usar. La única dificultad es familiarizarse con el modelo de objetos que emplea Trello. Para lo cuál apoyaros en la documentación de la biblioteca.

Por último, tened en cuenta que todas las acciones que estamos realizando se realizan a través de peticiones web. Aunque la librería usa inteligentemente los mecanismos de asincronía y cache, en general, el acceso es “relativamente lento”.

Cómo usar Trello Manatee

Podemos añadir la biblioteca a un proyecto de .NET fácilmente, a través del paquete Nuget correspondiente.

Install-Package Manatee.Trello

A continuación, necesitaremos la clave de API y el token de acceso a la API de Trello. Puedes obtenerlos desde el sitio web de Trello, en la sección de desarrolladores.

O, si queréis el camino rápido (porque la sección de desarrolladores es un lio y cambia cada dos por tres), con tu cuenta loggeada, nos metemos en esta url https://trello.com/app-key

Copias tu clave personal, que será tu AppKey, y luego te metes en

https://trello.com/1/authorize?expiration=never&name=[AppName]&key=[AppKey] 

Donde debes sustituir [AppName] por el nombre de tu aplicación, y [AppKey] la clave que has obtenido en el paso anterior. Cuando aceptes los permisos, te devolverá un UserToken para la autentificación que debes copiar y guardar.

Una vez que tengas los datos te autentificación, AppKey y userToken, ya podemos utilizar la librería para conectarte a la API de Trello y realizar operaciones en tus tableros, listas y tarjetas.

Lógicamente, no compartas estos datos con nadie, y mantenlos en un lugar seguro. Si los pierdes, deberás volver a regenerarlos

Ejemplo en C#

Veamos un ejemplo sencillo de cómo utilizar Trello Manatee para obtener una lista de todas las tarjetas de un tablero

using Manatee.Trello;
using Manatee.Trello.Rest;

public void GetCards()
{
    TrelloAuthorization.Default.AppKey = "your-app-key";
    TrelloAuthorization.Default.UserToken = "your-user-token";

    var board = new Board("board-id");
    board.Refresh();

    var cards = board.Cards;

    foreach (var card in cards)
    {
        Console.WriteLine(card.Name);
    }
}

En este ejemplo, se establece la clave de API y el token de acceso a la API de Trello utilizando la clase TrelloAuthorization. A continuación, creamos una instancia del objeto Board. Podéis ver el board-id de vuestro tablero en la URL, al acceder desde el navegador.

Luego usamos el método Refresh() para obtener la información del tablero, obtenemos todas las tarjetas del tablero utilizando la propiedad Cards, y mostramos el nombre de cada tarjeta en la consola.

Una de las peculiaridades de Trello Manatee (y un punto positivo) es que intenta minimizar las llamadas al API, para no penalizar el rendimiento. Por eso, las acciones no se realizan hasta que “realmente es necesario”

Por eso en el ejemplo hemos tenido que llamar al método ‘Refresh()‘. Crear el tablero no carga sus datos, hasta que nosotros lo especificamos. Encontraréis esa filosofía de trabajo en toda la librería (y a veces puede ser algo confuso, por eso os aviso).

Trello Manatee es Open Source, y todo el código y documentación está disponible en el repositorio del proyecto en https://github.com/micjahn/ZXing.Net