Como importar datos de Trello a un spreadsheet con Google Apps Script


 Trello es una herramienta web de gran potencia que nos permite gestionar proyectos y tareas pequeños de una forma muy eficiente. Ahora imagina utilizar toda esa potencia y unirla a Google Apps Script. Los resultados pueden ser espectaculares.

En este tutorial os explicaré como importar datos de trello a una hoja de cálculo con Google Apps Script, pero realmente las posibilidades son espectaculares: Poder enviar correos cuando alguien cambia el estado de una tarjeta, guardar información de clientes en los contactos de Google... las posibilidades son infinitas.

El como se hace, es bastante más fácil de lo que podría parecer en un principio. Sencillamente Trello proporciona una API muy sencilla de usar, con poco que la miréis sabréis hacerlo. Si no tenéis claro os recomiendo que reviséis el artículo sobre como usar APIs con Google Apps Script

Este es el código:

function TrelloImport() 
{
  //CONFIGURACION
  var api_key   = "AQUI_VA_TU_KEY_DE_TRELLO";
  var api_token = "AQUI_VA_TU_TOKEN_DE_TRELLO";
  var board_id  = "AQUI_VA_EL_BOARD_QUE_QUIERES_IMPORTAR";
  var url       = "https://api.trello.com/1/";
  
  //LIMPIAMOS LA HOJA
  var spreadsheet = SpreadsheetApp.getActiveSheet();
  spreadsheet.clear();
  spreadsheet.appendRow(["Fecha", "Tarea", "Quien", "Lista", "Link"]);
  
  //OBTENEMOS LOS DATOS DE TRELLO
  var response = UrlFetchApp.fetch(url + "boards/" + board_id + "/lists?cards=all&key=" + api_key + "&token=" + api_token);
  var lists = JSON.parse((response.getContentText()));

  for (var i = 0 ; i < lists.length ; i++) 
  {
    var list = lists[i];
    var response = UrlFetchApp.fetch(url + "list/" + list.id + "/cards?key=" + api_key + "&token=" + api_token);
    var cards = JSON.parse(response.getContentText());
    if(!cards) continue;

    for (var j = 0; j < cards.length; j++) 
    {
      var card = cards[j];
      var response = UrlFetchApp.fetch(url + "cards/" + card.id + "/?actions=all&key=" + api_key + "&token=" + api_token);
      var detalles = JSON.parse(response.getContentText()).actions;
      if(!detalles) continue;
      
      for (var k=0; k < detalles.length; k++) 
      {
        var fecha = detalles[k].date;
        var nombre = detalles[k].memberCreator.fullName;
        var tarea = card.name;
        var link = card.url;
        var lista = list.name;
      }
      spreadsheet.appendRow([fecha, tarea, nombre, lista, link]);

   }                                      
  }
}

Ya veréis cuando ejecutéis la función que lo que hará será rellenar un spreadsheet con los datos de tu board.

En breve publicaré un artículo sobre como poder actualizar información de Trello en base a información de un spreadsheet, estoy seguro que os gustará.

No vaciléis en hacerme llegar cualquier duda.

Nos vemos!

No hay comentarios:

Publicar un comentario

Tal vez te interese