Skip to content

Commit 593bfd4

Browse files
committed
Add support for fetching labels from pull requests in github,gitlab and gitea
1 parent a3a4721 commit 593bfd4

File tree

4 files changed

+19
-0
lines changed

4 files changed

+19
-0
lines changed

scm/driver/gitea/pr.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,9 @@ type pr struct {
9595
Merged bool `json:"merged"`
9696
Created time.Time `json:"created_at"`
9797
Updated time.Time `json:"updated_at"`
98+
Labels []struct {
99+
Name string `json:"name"`
100+
} `json:"labels"`
98101
}
99102

100103
type reference struct {
@@ -123,6 +126,10 @@ func convertPullRequests(src []*pr) []*scm.PullRequest {
123126
}
124127

125128
func convertPullRequest(src *pr) *scm.PullRequest {
129+
var labels []string
130+
for _, label := range src.Labels {
131+
labels = append(labels, label.Name)
132+
}
126133
return &scm.PullRequest{
127134
Number: src.Number,
128135
Title: src.Title,
@@ -138,6 +145,7 @@ func convertPullRequest(src *pr) *scm.PullRequest {
138145
Merged: src.Merged,
139146
Created: src.Created,
140147
Updated: src.Updated,
148+
Labels: labels,
141149
}
142150
}
143151

scm/driver/github/pr.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,9 @@ type pr struct {
9696
MergedAt null.String `json:"merged_at"`
9797
CreatedAt time.Time `json:"created_at"`
9898
UpdatedAt time.Time `json:"updated_at"`
99+
Labels []struct {
100+
Name string `json:"name"`
101+
} `json:"labels"`
99102
}
100103

101104
type prInput struct {
@@ -123,6 +126,10 @@ func convertPullRequestList(from []*pr) []*scm.PullRequest {
123126
}
124127

125128
func convertPullRequest(from *pr) *scm.PullRequest {
129+
var labels []string
130+
for _, label := range from.Labels {
131+
labels = append(labels, label.Name)
132+
}
126133
return &scm.PullRequest{
127134
Number: from.Number,
128135
Title: from.Title,
@@ -151,6 +158,7 @@ func convertPullRequest(from *pr) *scm.PullRequest {
151158
},
152159
Created: from.CreatedAt,
153160
Updated: from.UpdatedAt,
161+
Labels: labels,
154162
}
155163
}
156164

scm/driver/gitlab/pr.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,7 @@ type pr struct {
109109
Created time.Time `json:"created_at"`
110110
Updated time.Time `json:"updated_at"`
111111
Closed time.Time
112+
Labels []string `json:"labels"`
112113
}
113114

114115
type changes struct {
@@ -150,6 +151,7 @@ func convertPullRequest(from *pr) *scm.PullRequest {
150151
},
151152
Created: from.Created,
152153
Updated: from.Updated,
154+
Labels: from.Labels,
153155
}
154156
}
155157

scm/pr.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ type (
2828
Author User
2929
Created time.Time
3030
Updated time.Time
31+
Labels []string
3132
}
3233

3334
// PullRequestInput provides the input fields required for creating a pull request.

0 commit comments

Comments
 (0)