Skip to content

Commit

Permalink
Update Project Issue Board API to match upstream API
Browse files Browse the repository at this point in the history
  • Loading branch information
timofurrer committed Jul 13, 2022
1 parent 40de111 commit 781f8b4
Show file tree
Hide file tree
Showing 3 changed files with 43 additions and 11 deletions.
40 changes: 31 additions & 9 deletions boards.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,11 +33,21 @@ type IssueBoardsService struct {
//
// GitLab API docs: https://docs.gitlab.com/ce/api/boards.html
type IssueBoard struct {
ID int `json:"id"`
Name string `json:"name"`
Project *Project `json:"project"`
Milestone *Milestone `json:"milestone"`
Lists []*BoardList `json:"lists"`
ID int `json:"id"`
Name string `json:"name"`
Project *Project `json:"project"`
Milestone *Milestone `json:"milestone"`
Assignee *struct {
ID int `json:"id"`
Username string `json:"username"`
Name string `json:"name"`
State string `json:"state"`
AvatarURL string `json:"avatar_url"`
WebURL string `json:"web_url"`
} `json:"assignee"`
Lists []*BoardList `json:"lists"`
Weight int `json:"weight"`
Labels []*LabelDetails `json:"labels"`
}

func (b IssueBoard) String() string {
Expand All @@ -48,9 +58,18 @@ func (b IssueBoard) String() string {
//
// GitLab API docs: https://docs.gitlab.com/ce/api/boards.html
type BoardList struct {
ID int `json:"id"`
Label *Label `json:"label"`
Position int `json:"position"`
ID int `json:"id"`
Assignee *struct {
ID int `json:"id"`
Name string `json:"name"`
Username string `json:"username"`
} `json:"assignee"`
Iteration *ProjectIteration `json:"iteration"`
Label *Label `json:"label"`
MaxIssueCount int `json:"max_issue_count"`
MaxIssueWeight int `json:"max_issue_weight"`
Milestone *Milestone `json:"milestone"`
Position int `json:"position"`
}

func (b BoardList) String() string {
Expand Down Expand Up @@ -257,7 +276,10 @@ func (s *IssueBoardsService) GetIssueBoardList(pid interface{}, board, list int,
//
// GitLab API docs: https://docs.gitlab.com/ce/api/boards.html#new-board-list
type CreateIssueBoardListOptions struct {
LabelID *int `url:"label_id" json:"label_id"`
LabelID *int `url:"label_id,omitempty" json:"label_id,omitempty"`
AssigneeID *int `url:"assignee_id,omitempty" json:"assignee_id,omitempty"`
MilestoneID *int `url:"milestone_id,omitempty" json:"milestone_id,omitempty"`
IterationID *int `url:"iteration_id,omitempty" json:"iteration_id,omitempty"`
}

// CreateIssueBoardList creates a new issue board list.
Expand Down
6 changes: 4 additions & 2 deletions boards_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,8 @@ func TestIssueBoardsService_CreateIssueBoard(t *testing.T) {
Path: "diaspora-project-site",
PathWithNamespace: "diaspora/diaspora-project-site",
},
Lists: []*BoardList{},
Lists: []*BoardList{},
Labels: []*LabelDetails{},
}

ib, resp, err := client.Boards.CreateIssueBoard(5, nil, nil)
Expand Down Expand Up @@ -114,7 +115,8 @@ func TestIssueBoardsService_UpdateIssueBoard(t *testing.T) {
Path: "diaspora-project-site",
PathWithNamespace: "diaspora/diaspora-project-site",
},
Lists: []*BoardList{},
Lists: []*BoardList{},
Labels: []*LabelDetails{},
}

ib, resp, err := client.Boards.UpdateIssueBoard(5, 1, nil, nil)
Expand Down
8 changes: 8 additions & 0 deletions group_boards_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -583,6 +583,14 @@ func TestGroupIssueBoardsService_CreateGroupIssueBoardList(t *testing.T) {
ID: 9,
Label: nil,
Position: 0,
Milestone: &Milestone{
ID: 7,
IID: 3,
Title: "Milestone with due date",
Description: "",
State: "active",
WebURL: "https://gitlab.example.com/groups/issue-reproduce/-/milestones/3",
},
}

bl, resp, err := client.GroupIssueBoards.CreateGroupIssueBoardList(5, 1, nil, nil)
Expand Down

0 comments on commit 781f8b4

Please sign in to comment.