-
Notifications
You must be signed in to change notification settings - Fork 4
Issue API
joonhoPark edited this page Nov 11, 2020
·
24 revisions
- Filter된 Issue 목록 ⭕️
- 여러개의 Issue 상태(Open/Close) 변경 업데이트 ⭕️
- 이슈 생성 ⭕️
- 이슈 하나 상세정보 가져오기 Label-Assignee-Milestone까지 전부 ⭕️
- 이슈의 Assignees 수정 ⭕️
- 이슈의 Label 목록 수정 ⭕️
- 이슈 수정 Title Milestone ⭕️
| Method | Endpoint |
|---|---|
| GET | /issues |
-
parameter
//queryString isOpen: <issue_isOpen>, author: <issue_userId>, assignee: <user_id>, label: [<label_id>,<label_id>,...], milestone: <milestone_id>
-
responses
- 성공
res.status(200).json({ success: true, data: [{ id: <issue_id>, userId: <user_id>, author: <user_nickname>, title: <issue_title>, createdAt: <issue_createdAt>, closedAt: <issue_closedAt>, isOpen: <issue_isOpen>, commentCount: <count(comment)>, milestone: <milestone_title>, label: [{ name: <label_name>, color: <label_name>, }, {...}], assignee: [{ id: <user_id>, profileUrl: <user_profileUrl>, }, {...}] }, { ... } ], })
- 잘못된 요청
- 파라미터가 안오거나 잘못왔을 때
res.status(400).json({ success: false, message: "파라미터 값이 잘못 되었습니다.", })
- DB 에러
res.status(600).json({ success: false, message: "데이터베이스 에러", })
- 서버 내부 에러
res.status(500).json({ success: false, message: "서버 내부 오류", })
- 성공
| Method | Endpoint |
|---|---|
| PATCH | /issues/open-close |
-
parameter
{ issueId: [ ... ], isOpen: boolean }
-
responses
- 성공
res.status(200).json({ success: true })
- 잘못된 요청
- 파라미터가 안오거나 잘못왔을 때
res.status(400).json({ success: false, message: "파라미터 값이 잘못 되었습니다.", })
- 데이터가 변경되지 않았을 때
res.status(304).json({ success: false, message: "변경된 데이터가 없습니다.", })
- DB 에러
res.status(600).json({ success: false, message: "데이터베이스 에러", })
- 서버 내부 에러
res.status(500).json({ success: false, message: "서버 내부 오류", })
- 성공
| Method | Endpoint |
|---|---|
| POST | /issues |
- body
{
title: <issue_title>,
content: <comment_content>,
userId: <user_id>,
assignee?: [<user_id>, ...],
label?: [<label_id>, ...],
milestoneId?: <milestone_id>,
}- responses
- 성공
res.status(201).json({ success: true, issueId })
- 잘못된 요청
- 파라미터가 안오거나 잘못왔을 때
res.status(400).json({ success: false, message: "파라미터 값이 잘못 되었습니다.", })
- DB 에러
res.status(600).json({ success: false, message: "데이터베이스 에러", })
- 서버 내부 에러
res.status(500).json({ success: false, message: "서버 내부 오류", })
- 성공
| Method | Endpoint |
|---|---|
| GET | /issues/:id |
- responses
- 성공
res.status(200).json({ success: true, data: { issueId: <issue_id>, title: <issue_title>, isOpen: <issue_isOpen>, author: <user_nickname>, profileUrl: <user_profileUrl>, createdAt: <issue_createdAt>, commentCount: <count(comment)>, label: [{ id: <label_id> name: <label_name>, color: <label_color>, }, {...}], milestone: { id: <milestone_id>, title: <milestone_title>, openIssue: <count(issue)>, closeIssue: <count(issue)>, } assignee: [{ id: <user_id>, profileUrl: <user_profileUrl>, nickname: <uesr_nickname>, }, {...}] } })
- 잘못된 요청
- 파라미터가 안오거나 잘못왔을 때
res.status(400).json({ success: false, message: "파라미터 값이 잘못 되었습니다.", })
- DB 에러
res.status(600).json({ success: false, message: "데이터베이스 에러", })
- 서버 내부 에러
res.status(500).json({ success: false, message: "서버 내부 오류", })
- 성공
| Method | Endpoint |
|---|---|
| POST | /issues/:id/assignee |
-
body
{ add: [<user_id>, ...], delete: [<user_id>, ...] }
-
responses
- 성공
res.status(200).json({ success: true })
- 잘못된 요청
- 파라미터가 안오거나 잘못왔을 때
res.status(400).json({ success: false, message: "파라미터 값이 잘못 되었습니다.", })
- DB 에러
res.status(600).json({ success: false, message: "데이터베이스 에러", })
- 서버 내부 에러
res.status(500).json({ success: false, message: "서버 내부 오류", })
- 성공
| Method | Endpoint |
|---|---|
| PATCH | /issues/:id/labels |
- body
{ add: [<label_id>, <label_id>, ...], delete: [<label_id>, <label_id>, ...] }
- responses
-
성공
res.status(200).json({ success: true, })
-
잘못된 요청
- 파라미터가 안오거나 잘못왔을 때
res.status(400).json({ success: false, message: "파라미터 값이 잘못 되었습니다.", })
-
DB 에러
res.status(600).json({ success: false, message: "데이터베이스 에러", })
-
서버 내부 에러
res.status(500).json({ success: false, message: "서버 내부 오류", })
-
| Method | Endpoint |
|---|---|
| PATCH | /issues/:id |
-
body
{ milestoneId?: <milestone_id>, title?: <issue_title>, isOpen?: <issue_isOpen> }
-
responses
- 성공
- milestoneId 변경 시
res.status(200).json({ success: true, data: { id: <milestone_id>, title: <milstone_title>, openIssue: <count(issue)>, closeIssue: <count(issue)> } })
- 그 외
res.status(200).json({ success: true }
- 잘못된 요청
- 파라미터가 안오거나 잘못왔을 때
res.status(400).json({ success: false, message: "파라미터 값이 잘못 되었습니다.", })
- DB 에러
res.status(600).json({ success: false, message: "데이터베이스 에러", })
- 서버 내부 에러
res.status(500).json({ success: false, message: "서버 내부 오류", })
- 성공
-
기획
-
설계
-
Team Rules
-
Daily Scrum
-
Weekly 회고