Używam Trello od kilku miesięcy i rutynowo umieszczam aktywność na kartach, gdy nad nimi pracuję, a następnie przesuwam je od lewej do prawej na liście „Pełna”. Nie wykorzystuję terminów. Czy istnieje mechanizm wyświetlania tekstu aktywności na wszystkich kartach dla danego zakresu. Próbuję pobrać surowe dane, aby wygenerować raport o stanie za dany okres.
Przykład: jeśli dniem dzisiejszym jest 15 maja 2013 r. Chcę utworzyć listę wszystkich tekstów czynności na każdej karcie, która zawierała wpisy „aktywność” w okresie od 29 kwietnia do 3 maja.
Odpowiedzi:
Tak, przy użyciu interfejsu API Trello i kilku innych narzędzi.
Ta odpowiedź opiera się na HTTPie i jq , dwóch swobodnie dostępnych narzędziach, które można zainstalować za pomocą pip i Homebrew, jeśli używasz komputera Mac:
Za pomocą
HTTPie
możemy wysłać zapytanie do interfejsu API Trello w celu uzyskania surowego kanału akcji dla tablicy, a następnie możemy użyćjq
do przekształcenia tych danych w coś użytecznego.Zacznijmy od czegoś „prostego”. Poniższe polecenie da nam wszystkie komentarze na forum deweloperów Trello w kwietniu 2013 roku. Wyjaśnię to za chwilę:
Jeśli wszystko poszło zgodnie z planem, powinniśmy zobaczyć coś takiego:
Chłodny. Jest to jeden rozsądny obiekt JSON, który możemy łatwo przeanalizować w dowolnej liczbie innych formatów. Teraz przejdźmy przez to, abyśmy mogli zrozumieć go wystarczająco dobrze, aby zmodyfikować go do naszych potrzeb.
To jedyna część, która zależy od Trello. Zgłaszamy żądanie dotyczące publicznego interfejsu API dla płyty o identyfikatorze
4d5ea62fd76aa1136000000c
- dostałem to, wchodząc na https://trello.com/dev i patrząc na identyfikator Trello dołącza do pełnego adresu URL (https://trello.com/board/trello-development/4d5ea62fd76aa1136000000c
).since
Ibefore
pola są oczywiste. I Podajlimit
od1000
bo to największa odpowiedź Trello pozwoli. Jeśli Twoja tablica ma więcej niż tysiąc komentarzy w odpowiednim zakresie dat, wymagane byłoby tutaj bardziej skomplikowane rozwiązanie stronicowania. I Podajfilter
ofcommentCard
bo jestem zainteresowany tylko te, dla celów niniejszej odpowiedzi. Jeśli chcesz uzyskać więcej typów akcji, podaj listę rozdzielaną przecinkami, npfilter==commentCard,updateCard:idList,createCard
. Prawidłowe typy akcji można znaleźć w dokumentacji interfejsu API Trello .Jeśli uruchomimy to samo, otrzymamy wiele informacji, których stosunkowo trudno zrozumieć. Więc wpuszczamy go,
jq
aby wmasować w coś nieco bardziej użytecznego.Kawałek po kawałku, nasz
jq
skrypt dokonuje następujących transformacji, z których każda przekazuje swój wynik do następnego operatora:group_by(.data.card.id)
[[card1_action1, card1_action2...], [card2_action1, card2_action2...], ...]
map({key: KEY_EXPRESSION, value: VALUE_EXPRESSION}) | from_entries
{ card1: [action1, action2, ...], card2: [action1, action2, ...], ...}
. Przekształcając tablicę w tablicę par klucz-wartość, możemy użyć,from_entries
aby przekształcić ją w obiekt. Chłodny.KEY_EXPRESSION
powyżej:(.[0].data.card | "\(.name) (\(.id))")
\(...)
) do skonstruowania czegoś, co wygląda"name (id)"
.VALUE_EXPRESSION
jestmap({date, member: .memberCreator.fullName, comment: .data.text})
.
uzyskać niezmienioną tablicę wszystkich działań. Ale ponieważ akcje są trochę brzydkie, masujemy je w coś użytecznego,map
pingując tablicę i stosując się{date, member: .memberCreator.fullName, comment: .data.text}
do każdego pojedynczego obiektu akcji.{date}
jest taka sama jak{date: date}
dojq
.Więc masz to. Mam nadzieję, że tak. Moglibyśmy wykonać takie masowanie danych w dowolnym języku skryptowym, ale właśnie po to
jq
zostało stworzone, więc jest to dobra wymówka, aby nauczyć się nowego, fajnego narzędzia. Więcej informacji znajdziesz w instrukcji jq .To działa, ponieważ Zarząd Trello Dev jest publiczny. Ale co jeśli chcemy prywatnych danych?
Prawo sposób to zrobić, aby wygenerować token API. Przewodnik po interfejsie API Trello zawiera szczegółowe omówienie tego, jak to zrobić. Ale spieszymy się, więc zrobimy to tak, jak leniwy człowiek ...
Zaloguj się do http://trello.com w Chrome i otwórz konsolę (Widok> Deweloper> Konsola JavaScript). Wpisz
$.cookie('token')
w oknie. To wypluje coś takiego"uniquememberid/somegarbledstring"
. Skopiuj część między cytatami i zmodyfikuj żądanie, aby wyglądało mniej więcej tak:Jedyne, co zmieniliśmy, to dodanie
"Cookie:token=uniquememberid/somegarbledstring"
nagłówka. Spowoduje to, że Trello użyje tokena. UWAGA: ten token jest bardzo prywatny ... jeśli podasz go komuś innemu, może on zasadniczo zalogować się jako ty, dopóki go nie odwołasz na stronie konta Trello . Więc bądź ostrożny. Lub przejdź przez etap generowania klucza / tokenu API.Teraz zmodyfikuj, aby uzyskać potrzebne dane w żądanym formacie.
źródło
Stworzyłem narzędzie o nazwie reportfortrello.com, które pokaże ci, jak długo karta znajdowała się na liście w określonym przedziale czasu.
Jest bezpłatny i pozwala spojrzeć 1000 akcji na planszę. Może także śledzić członkostwo kart.
źródło