Java client for the Kanboard API
This project is maintained by phoen1x
● Quick Start ● Structure ● Usage ● Development ●
Following YAGNI only Kanboard methods deemed necessary are implemented. A complete list of covered methods can be found here. Just start a pull-request or open a issue if you need more.
Make sure you have a working Docker and docker-compose environment.
# download
git clone https://github.com/phoen1x/kanboard-api-java.git
cd kanboard-api-java
# start project
docker-compose up -d
# run integration tests
docker-compose exec maven ./mvnw -Dtest=Kanboard\*\*IntegrationTest test
# build jar file to project/target/kanboard-api-java.jar
docker-compose exec maven ./mvnw clean package
# remove root file permissions
docker-compose exec maven chown -R 1000:1000 /root/.m2 /project
# show build results in web browser - login admin:admin
google-chrome --incognito http://172.19.1.1
# stop project
docker-compose down
# download
git clone https://github.com/phoen1x/kanboard-api-java.git
# build .jar file without integration tests
cd kanboard-api-java/project
./mvnw clean package
See KanboardSetupIntegrationTest on how to use this YAML file to setup your Kanban board.
kanboardApi:
apiUrl: http://172.19.1.1/jsonrpc.php
apiAuthToken: 19ffd9709d03ce50675c3a43d1c49c1ac207f4bc45f06c5b2701fbdf8929
apiHeader: X-API-Auth
apiVersion: 2.0
apiUser: jsonrpc
kanboardSetup:
user:
username: skylar
password: skylar
email: change.me@livingfire.local
role: app-admin
projects:
- name: skylar
description: skylar default project
identifier: skylar
swimlanes:
- name: alert
- name: todo
columns:
- title: backlog
position: 1
- title: new
position: 2
- title: in progress
position: 3
- title: complete
position: 4
- name: shopping
description: skylar shopping
identifier: shopping
columns:
- title: backlog
position: 1
- title: in progress
position: 2
- title: complete
position: 3
tasks:
- title: eggs
recurrenceTrigger: 1
recurrenceStatus: 1
- title: milk
recurrenceTrigger: 1
recurrenceStatus: 1
- title: sugar
recurrenceTrigger: 1
recurrenceStatus: 1
- title: coffee
recurrenceTrigger: 1
recurrenceStatus: 1
- title: salt
recurrenceTrigger: 1
recurrenceStatus: 1
actions:
- event_name: task.move.column
action_name: \Kanboard\Action\TaskCloseColumn
params:
column_id: complete
Set SHOW_HTTP_REQUESTS = true
in KanboardConstant.java
# start debug
find . -name 'KanboardConstant.java' \
-exec sed -i 's/SHOW_HTTP_REQUESTS = false/SHOW_HTTP_REQUESTS = true/' {} ";"
# end debug
find . -name 'KanboardConstant.java' \
-exec sed -i 's/SHOW_HTTP_REQUESTS = true/SHOW_HTTP_REQUESTS = false/' {} ";"
The documentation is written in Markdown. If you want to improve the documentation send a pull-request.