[Issue Tracker]
Issue Tracker API 문서
전체 조회
GETMilestone 조회 API
http://issue-tracker.kro.kr/api/milestones
Example Request
성공
curl
curl --location 'http://issue-tracker.kro.kr/api/milestones'
200 OK
Example Response
json
{
"open": 2,
"closed": 1,
"milestones": [
{
"num": 2,
"title": "week 2",
"dueDate": "2020-12-05",
"description": "두 번째 주차 입니다.",
"isClosed": false,
"openedIssues": 1,
"closedIssues": 2
},
{
"num": 3,
"title": "week 3",
"dueDate": null,
"description": "세 번째 주차 입니다.",
"isClosed": false,
"openedIssues": 0,
"closedIssues": 0
}
]
}
Server
nginx/1.19.4
Date
Mon, 09 Nov 2020 15:49:03 GMT
Content-Type
application/json; charset=utf-8
Content-Length
320
Connection
keep-alive
X-Powered-By
Express
ETag
W/"140-2iUsflBb2lm7u4MKQMD8GkeySAM"
GETLabel 전체 조회 API
http://issue-tracker.kro.kr/api/labels
Example Request
성공
curl
curl --location 'http://issue-tracker.kro.kr:3000/api/labels'
200 OK
Example Response
json
[
{
"num": 1,
"name": "bug",
"color": "000000",
"description": ""
},
{
"num": 2,
"name": "documentation",
"color": "0000ff",
"description": "문서 작성"
}
]
X-Powered-By
Express
Content-Type
application/json; charset=utf-8
Content-Length
138
ETag
W/"8a-O+uBdoI/KhhPd8iVEbwbVEBYblA"
Date
Fri, 30 Oct 2020 01:17:37 GMT
Connection
keep-alive
Keep-Alive
timeout=5
GETIssue 전체 조회 API
http://issue-tracker.kro.kr/api/issues
Example Request
성공
curl
curl --location 'http://issue-tracker.kro.kr/api/issues'
200 OK
Example Response
json
{
"open": 6,
"closed": 3,
"issues": [
{
"num": 2,
"title": "week 1 - 두 번째 이슈",
"createdAt": "2020-11-09T14:24:27.000Z",
"isClosed": false,
"author": {
"num": 1,
"id": "user01"
},
"Milestone": {
"num": 1,
"title": "week 1"
},
"labels": [],
"assignees": [
{
"num": 1,
"id": "user01",
"assignments": {
"userNum": 1,
"issueNum": 2
}
},
{
"num": 2,
"id": "user02",
"assignments": {
"userNum": 2,
"issueNum": 2
}
}
],
"comment": {
"content": "첫 번째 코멘트\n두 번째 줄 입니다\n세 번째 줄 입니다"
}
},
{
"num": 3,
"title": "week 1 - 세 번째 이슈",
"createdAt": "2020-11-09T14:24:27.000Z",
"isClosed": false,
"author": {
"num": 2,
"id": "user02"
},
"Milestone": {
"num": 1,
"title": "week 1"
},
"labels": [
{
"num": 1,
"name": "feature",
"color": "c4dafa",
"labelings": {
"issueNum": 3,
"labelNum": 1
}
},
{
"num": 2,
"name": "bug",
"color": "f57f7d",
"labelings": {
"issueNum": 3,
"labelNum": 2
}
}
],
"assignees": [],
"comment": {
"content": "첫 번째 코멘트"
}
},
{
"num": 6,
"title": "week 2 - 세 번째 이슈",
"createdAt": "2020-11-09T14:24:27.000Z",
"isClosed": false,
"author": {
"num": 2,
"id": "user02"
},
"Milestone": {
"num": 2,
"title": "week 2"
},
"labels": [],
"assignees": [],
"comment": {
"content": "첫 번째 코멘트"
}
},
{
"num": 7,
"title": "new title",
"createdAt": "2020-11-09T14:25:47.000Z",
"isClosed": false,
"author": {
"num": 1,
"id": "user01"
},
"Milestone": {
"num": 1,
"title": "week 1"
},
"labels": [
{
"num": 1,
"name": "feature",
"color": "c4dafa",
"labelings": {
"issueNum": 7,
"labelNum": 1
}
},
{
"num": 2,
"name": "bug",
"color": "f57f7d",
"labelings": {
"issueNum": 7,
"labelNum": 2
}
}
],
"assignees": [],
"comment": {
"content": "new content"
}
},
{
"num": 8,
"title": "new title",
"createdAt": "2020-11-09T14:26:20.000Z",
"isClosed": false,
"author": {
"num": 1,
"id": "user01"
},
"Milestone": {
"num": 1,
"title": "week 1"
},
"labels": [
{
"num": 1,
"name": "feature",
"color": "c4dafa",
"labelings": {
"issueNum": 8,
"labelNum": 1
}
},
{
"num": 2,
"name": "bug",
"color": "f57f7d",
"labelings": {
"issueNum": 8,
"labelNum": 2
}
}
],
"assignees": [],
"comment": {
"content": "new content"
}
},
{
"num": 9,
"title": "new title",
"createdAt": "2020-11-09T14:26:28.000Z",
"isClosed": false,
"author": {
"num": 1,
"id": "user01"
},
"Milestone": {
"num": 1,
"title": "week 1"
},
"labels": [
{
"num": 1,
"name": "feature",
"color": "c4dafa",
"labelings": {
"issueNum": 9,
"labelNum": 1
}
},
{
"num": 2,
"name": "bug",
"color": "f57f7d",
"labelings": {
"issueNum": 9,
"labelNum": 2
}
}
],
"assignees": [
{
"num": 1,
"id": "user01",
"assignments": {
"userNum": 1,
"issueNum": 9
}
},
{
"num": 2,
"id": "user02",
"assignments": {
"userNum": 2,
"issueNum": 9
}
}
],
"comment": {
"content": "new content"
}
}
]
}
Server
nginx/1.19.4
Date
Mon, 09 Nov 2020 14:44:04 GMT
Content-Type
application/json; charset=utf-8
Content-Length
2398
Connection
keep-alive
X-Powered-By
Express
ETag
W/"95e-URZ0V55999xNv08wKmF9Uefc1zI"
GETUser 전체 조회 API
http://issue-tracker.kro.kr/api/users
Example Request
성공
curl
curl --location 'http://issue-tracker.kro.kr/api/users'
200 OK
Example Response
json
[
{
"num": 1,
"id": "seokju2ng",
"name": "Seokjung Kim",
"imageUrl": "https://avatars3.githubusercontent.com/u/43347250?s=40&v=4"
},
{
"num": 2,
"id": "ahrimy",
"name": "Ahrim Yang",
"imageUrl": "https://avatars1.githubusercontent.com/u/26592306?s=40&v=4"
},
{
"num": 3,
"id": "skid901",
"name": "Kyung Deok Si",
"imageUrl": "https://avatars2.githubusercontent.com/u/34153657?s=40&v=4"
}
]
Server
nginx/1.19.4
Date
Wed, 11 Nov 2020 07:51:12 GMT
Content-Type
application/json; charset=utf-8
Content-Length
358
Connection
keep-alive
X-Powered-By
Express
ETag
W/"166-GE+osjoJruqvIeTgzIweSB9MhAA"
마일스톤 페이지
POSTMileStone 등록 API
http://issue-tracker.kro.kr/api/milestones
Bodyraw (json)
json
{
"title": "week 3",
"dueDate": "2020-11-30",
"description": ""
}
Example Request
실패: 날짜 형식 오류
curl
curl --location 'http://issue-tracker.kro.kr:3000/api/milestones' \
--data '{
"title": "week 4",
"dueDate": "2020-13-30",
"description": "description"
}'
400 Bad Request
Example Response
json
{
"success": false,
"message": "Bad request"
}
X-Powered-By
Express
Content-Type
application/json; charset=utf-8
Content-Length
41
ETag
W/"29-Wf4NvcPzVTYbm+oJc8DG/BFfLvA"
Date
Fri, 30 Oct 2020 01:17:16 GMT
Connection
keep-alive
Keep-Alive
timeout=5