Login
Newsletter
Werbung

Do, 29. November 2012, 15:00

Taskwarrior - What's next? (Teil 4)

Reports

Die in Taskwarrior definierten Reports, auch die eigenen, lassen sich durch Eingabe von task reports ausgeben.

$ task reports
Report           Description
active           Lists active tasks
all              Lists all pending and completed tasks
blocked          Lists all blocked tasks
burndown.daily   Shows a graphical burndown chart, by day
burndown.monthly Shows a graphical burndown chart, by month
burndown.weekly  Shows a graphical burndown chart, by week
completed        Lists completed tasks
ghistory.annual  Shows a graphical report of task history, by year
ghistory.monthly Shows a graphical report of task history, by month
history.annual   Shows a report of task history, by year
history.monthly  Shows a report of task history, by month
information      Shows all data and metadata
list             Lists all pending tasks
long             Lists all pending tasks
ls               Minimal listing of all pending tasks
minimal          Minimal listing of all pending tasks
newest           Shows the newest tasks
next             Lists the most urgent tasks
oldest           Shows the oldest tasks
overdue          Lists overdue tasks
projects         Shows all project names used
ready            Lists the most urgent tasks
recurring        Lists recurring tasks
summary          Shows a report of task status by project
tags             Shows a list of all tags used
unblocked        Lists all unblocked tasks
waiting          Lists all waiting tasks

27 reports

Eine Reihe von Reports konnte man schon kennen lernen, die meisten beziehen sich direkt auf Aufgaben.

Es gibt aber auch spezielle Reports, wie beispielsweise burndown, history und ghistory, die andere Ausgaben haben. Diese werden am Ende des Artikels besprochen.

Ebenfalls häufig genutzt sind die Reports projects und tags, die eine Liste der aktiven Projekte und Etiketten zeigen.

Die Definition eines auf bestimmte Aufgaben bezogenen Reports lässt sich mit task show report.name anzeigen.

$ task show report.ls
Config Variable       Value
report.ls.columns     id,project,priority,description
report.ls.description Minimal listing of all pending tasks
report.ls.filter      status:pending
report.ls.labels      ID,Project,Pri,Description
report.ls.sort        priority-,project+

Dabei kommen den einzelnen Konfigurationsoptionen die folgenden Bedeutungen zu.

Spalten und Spaltenköpfe

In columns finden sich die Spalten, die im Report erscheinen sollen. Mit labels kann man die Spalten benennen.

Der Befehl columns gibt die verschiedenen Spalten aus und welche Formate verwendet werden können. Die folgende Ausgabe ist gekürzt, um den Rahmen des Artikels nicht über alle Maßen zu verlängern.

Columns     Supported Formats Example
bg          default*          'on red'
depends     list*             1 2 10
            count             [3]
            indicator         D
...
wait        formatted*        20121022
            julian            2456222.87824
            epoch             1350896680
            iso               20121022T090440Z
            age               2m

Beschreibung

Mit description kann eine aussagekräftige Beschreibung des kompletten Reports gegeben werden. Diese Beschreibung erscheint auch in der Ausgabe von task reports.

Filter

Der Parameter filter definiert einen Ausgabefilter. Bei einem großen Teil der Reports sind bereits verschiedene Filter gesetzt. Um die Kombination verschiedener Filter wird es in der nächsten Ausgabe des Workshops gehen.

$ task show filter
Config Variable         Value
report.active.filter    status:pending start.any:
report.all.filter       status.not:deleted
report.blocked.filter   status:pending depends.any:
report.completed.filter status:completed
report.list.filter      status:pending
report.long.filter      status:pending
report.ls.filter        status:pending
report.minimal.filter   status:pending
report.newest.filter    status:pending limit:10
report.next.filter      status:pending limit:page
report.oldest.filter    status:pending limit:10
report.overdue.filter   status:pending due.before:now
report.ready.filter     status:pending limit:page wait.none: '(scheduled.none: or scheduled.before:now )'
report.recurring.filter status:pending parent.any:
report.unblocked.filter status:pending depends.none:
report.waiting.filter   status:waiting

Sortierung

Der Parameter sort legt eine Sortierreihenfolge fest. Dazu wird der Spaltenname verwendet und eine Reihenfolge, in der sortiert werden soll.

Ein Beispiel

Der unten stehende Report ll ist bei mir im Einsatz. Er zeigt die Verwendung der Spalte Countdown, um die verbleibende Zeit bis zum Stichzeitpunkt der Aufgabe darzustellen.

$ task config report.ll.columns id,project,priority,due,due.countdown,tags,description
$ task config report.ll.description "Dirks task list"
$ task config report.ll.filter status:pending
$ task config report.ll.labels ID,Project,Pri,Due,Countdown,Tags,Description
$ task config report.ll.sort due+,priority-,project+,description+

$ task ll
ID Project Pri Due Countdown Tags  Description
 3                           home  Staubsaugen
 4                           work  Urlaub einreichen
 5                           phone Versicherungsagenten anrufen
3 tasks

Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung