sitelink1 | https://docs.kanboard.org/en/latest/api/examples.html |
---|---|
sitelink2 | |
sitelink3 |
Kanboard 는 외부시스템에서 Kanboard의 데이터를 컨트롤 가능한 API를 제공하고 있다 -> https://docs.kanboard.org/en/latest/api/examples.html
API에서 제공하는 example 중 java 버전은 Spring 을 사용하고 있는데
샘플 돌리다보니 괜시리 복잡스러워서 Spring 은 걷어내고 pure java 로 샘플을 다시 작성하였다
첨부파일의 WAR 를 이클립스에서 import project 하면 샘플을 살펴볼 수 있다
<TestKanboardRequest.java>
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Base64;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
import util.JSONUtil;
public class TestKanboardRequest {
public static void main(String args[]) throws IOException, ParseException {
URL url = new URL("http://[마이도메인]/kanboard/jsonrpc.php");
String requestJson = "{\"jsonrpc\": \"2.0\", \"method\": \"getAllProjects\", \"id\": 1}";
// String requestJson = "{\"jsonrpc\":\"2.0\",\"method\":\"getAllTasks\",\"id\":1,\"params\":{\"project_id\":1,\"status_id\":1}}";
String user = "jsonrpc";
String apiToken = "94308b5c13bf2fb5f78139cf12996b96d92fbab62af2f8d5d4f01e3fd013";
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoInput(true);
byte[] xApiAuthTokenBytes = String.join(":", user, apiToken).getBytes("utf-8");
String xApiAuthToken = Base64.getEncoder().encodeToString(xApiAuthTokenBytes);
connection.setRequestProperty("X-API-Auth", xApiAuthToken);
connection.setRequestProperty("Content-type", "application/json;charset=UTF-8");
connection.setRequestMethod("POST");
connection.setDoOutput(true);
OutputStream out_stream = connection.getOutputStream();
out_stream.write( requestJson.getBytes("UTF-8") );
out_stream.flush();
out_stream.close();
BufferedReader brin = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));
String resStr = null;
StringBuffer resStrBuff = new StringBuffer();
try {
while ((resStr = brin.readLine()) != null) {
resStrBuff.append(resStr);
}
} finally {
if (brin != null) {
brin.close();
brin = null;
}
connection = null;
url = null;
resStr = null;
}
JSONParser parser = new JSONParser();
Object obj = parser.parse(resStrBuff.toString());
JSONObject jsonObject =(JSONObject) obj;
System.out.println(JSONUtil.JsonEnterConvert(jsonObject.toJSONString()));
}
}
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
공지 | 칸보드 플러그인 목록 (온라인 페이지) | 황제낙엽 | 2022.10.16 | 276 |
4 | Kanban(sqlite ver) 버전 업그레이드 절차 | 황제낙엽 | 2023.11.02 | 63 |
3 | 프로젝트 관리팁 (서브 프로젝트) | 황제낙엽 | 2020.08.07 | 79 |
» |
kanboard 와 연동하는 java프로그램 샘플 (kanboard api)
![]() | 황제낙엽 | 2018.08.09 | 198 |
1 | PHP 기반 설치형 무료 프로젝트 관리 툴 kanboard(칸보드) | 황제낙엽 | 2016.07.26 | 607 |