Skip to content
Kanboard plugin to import TODO tasks created by tdg
PHP
Branch: master
Clone or download
ribtoks Merge pull request #5 from MKrinitskiy/README_update
README update with the plugin directory structure specified
Latest commit 4919c8a Aug 28, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Api Do not update issue and branch Aug 23, 2019
.gitignore Initial commit Aug 18, 2019
LICENSE Create LICENSE Aug 23, 2019
Plugin.php Bump version Aug 21, 2019
README.md
kanboard-xpiks.png Add screenshot for README.md Aug 23, 2019

README.md

kanboard-tdg-import

Kanboard plugin to import TODO tasks created by tdg

Codacy Badge Maintainability

About

This plugin allows to synchronize tasks based on current TODO/FIXME/BUG comments in the project source code to tasks in kanboard. Comments are extracted using tdg utility. You will see file, line, branch and issue for each TODO task.

After the import

In order to get tasks synchronized, you have to create a project in kanboard with name equal to the name of your project. After TODO comment is removed from source code, it is automatically moved to the last column (usually, "Done") in the kanboard project.

You can read about history and reasoning in this blogpost.

Setup

  • Install kanboard (recommended options: docker or raspberry pi)
  • Download this plugin from Releases and extract to kanboard-root/plugins/ directory (see hierarchy below)
  • Create a kanboard project with the name equal to the name of the project you want to track with standard layout ("TODO", "In progress" and "DONE")
  • From admin user go to global Settings and in the API section copy token and endpoint url.
  • Install tdg using go get github.com/ribtoks/tdg
  • Create git post-commit hook that will fetch current comments from source code and send them to kanboard

Directory hierarchy of installed plugin should look as follows:

.
├── plugins
│   └── TdgImport
│       ├── Api
│       │   └── ImportTODOProcedure.php
│       ├── Plugin.php
│       └── README.md

Sample script (replace API token and endpoint with yours):

#!/bin/bash

API_TOKEN='your-api-token-here'
API_ENDPOINT='http://192.168.1.100/kanboard/jsonrpc.php'

JSON_OUT=`tdg -root /path/to/project/root -include "\.cpp$"`

PAYLOAD="{\"jsonrpc\": \"2.0\", \"id\": 123456789, \"method\": \"importTodoComments\", \"params\": ${JSON_OUT}}"

curl \
    -u "jsonrpc:${API_TOKEN}" \
    -d "${PAYLOAD}" \
    "${API_ENDPOINT}"

Now when you run git commit, all your comments will be automatically synchronized. Don't forget not to commit your tokens.

Debugging server-side

  • In order to see fatal errors you can check latest in apache error.log
  • Go to kanboard directory and execute cp config.default.php config.php
  • Open config.php and set DEBUG to true and LOG_DRIVER to file
  • Execute sync and you will be able to grep debug log for [TODO import]
You can’t perform that action at this time.