@@ -3,30 +3,16 @@ package danger_js
3
3
import "time"
4
4
5
5
type GitHub struct {
6
- Issue GitHubIssue `json:"issue"`
7
- PR GitHubPR `json:"pr"`
8
- Commits [] GitHubCommit `json:"commits "`
9
- Reviews []GitHubReview `json:"reviews "`
10
- RequestedReviewers GitHubRequestedReviewers `json:"requested_reviewers "`
11
- ThisPR GitHubThisPR `json:"thisPR"` // Note: Not include in danger-kotlin
6
+ Issue GitHubIssue `json:"issue"`
7
+ PR GitHubPR `json:"pr"`
8
+ ThisPR GitHubAPIPR `json:"thisPR "`
9
+ Commits []GitHubCommit `json:"commits "`
10
+ Reviews [] GitHubReview `json:"reviews "`
11
+ RequestedReviewers GitHubReviewers `json:"requested_reviewers"`
12
12
}
13
13
14
14
type GitHubIssue struct {
15
- ID int64 `json:"id"`
16
- Number int64 `json:"number"`
17
- Title string `json:"title"`
18
- User GitHubUser `json:"user"`
19
- State string `json:"state"` // "closed" | "open" | "locked"
20
- Locked bool `json:"locked"`
21
- Body string `json:"body,omitempty"`
22
- CommentCount int `json:"comments"`
23
- Assignee GitHubUser `json:"assignee,omitempty"`
24
- Assignees []GitHubUser `json:"assignees"`
25
- Milestone GitHubMilestone `json:"milestone"`
26
- CreatedAt time.Time `json:"created_at"`
27
- UpdatedAt time.Time `json:"updated_at"`
28
- ClosedAt time.Time `json:"closed_at"`
29
- Labels []GitHubIssueLabel `json:"labels"`
15
+ Labels []GitHubIssueLabel `json:"labels"`
30
16
}
31
17
32
18
type GitHubIssueLabel struct {
@@ -41,33 +27,34 @@ type GitHubUser struct {
41
27
Login string `json:"login"`
42
28
Type string `json:"type"` // "User" | "Organization" | "Bot"
43
29
AvatarURL string `json:"avatar_url"`
30
+ HRef string `json:"href"`
44
31
}
45
32
46
33
type GitHubPR struct {
47
- ID int64 `json:"id "`
48
- Number int `json:"number"`
49
- Title string `json:"title "`
50
- Body string `json:"body "`
51
- User GitHubUser `json:"user "`
52
- Assignee GitHubUser `json:"assignee "`
53
- Assignees [] GitHubUser `json:"assignees "`
54
- CreatedAt time.Time `json:"created_at "`
55
- UpdatedAt time.Time `json:"updated_at "`
56
- ClosedAt time. Time `json:"closed_at,omitempty "`
57
- MergedAt time. Time `json:"merged_at,omitempty "`
58
- Head GitHubMergeRef `json:"head "`
59
- Base GitHubMergeRef `json:"base "`
60
- State string `json:"state"` // "closed" | "open" | "merged" | "locked"
61
- Locked bool `json:"locked "`
62
- Merged bool `json:"merged"`
63
- CommitCount int `json:"commits "`
64
- CommentCount int `json:"comments "`
65
- ReviewCommentCount int `json:"review_comments "`
66
- Additions int `json:"additions"`
67
- Deletions int `json:"deletions"`
68
- ChangedFiles int `json:"changed_files"`
69
- Milestone GitHubMilestone `json:"milestone "`
70
- HTMLURL string `json:"html_url"`
34
+ Number int `json:"number "`
35
+ State string `json:"state"` // "closed" | "open" | "merged" | "locked"
36
+ Locked bool `json:"locked "`
37
+ Title string `json:"title "`
38
+ Body string `json:"body "`
39
+ CreatedAt time. Time `json:"created_at "`
40
+ UpdatedAt time. Time `json:"updated_at "`
41
+ ClosedAt time.Time `json:"closed_at,omitempty "`
42
+ MergedAt time.Time `json:"merged_at,omitempty "`
43
+ Head GitHubMergeRef `json:"head "`
44
+ Base GitHubMergeRef `json:"base "`
45
+ User GitHubUser `json:"user "`
46
+ Assignee GitHubUser `json:"assignee "`
47
+ Assignees [] GitHubUser `json:"assignees"`
48
+ Draft bool `json:"draft "`
49
+ Merged bool `json:"merged"`
50
+ Comments int `json:"comments "`
51
+ ReviewComments int `json:"review_comments "`
52
+ Commits int `json:"commits "`
53
+ Additions int `json:"additions"`
54
+ Deletions int `json:"deletions"`
55
+ ChangedFiles int `json:"changed_files"`
56
+ HTMLURL string `json:"html_url "`
57
+ AuthorAssociation string `json:"author_association"` // "COLLABORATOR", "CONTRIBUTOR", "FIRST_TIMER", "FIRST_TIME_CONTRIBUTOR", "MEMBER", "NONE", "OWNER"
71
58
}
72
59
type GitHubMergeRef struct {
73
60
Label string `json:"label"`
@@ -88,24 +75,25 @@ type GitHubRepo struct {
88
75
}
89
76
90
77
type GitHubCommit struct {
78
+ Commit GitCommit `json:"commit"`
91
79
SHA string `json:"sha"`
92
80
URL string `json:"url"`
93
81
Author GitHubUser `json:"author"`
94
- Commit Commit `json:"commit"` // Should we create a custom Commit struct?
95
82
Committer GitHubUser `json:"committer"`
83
+ Parents []any `json:"parents"`
96
84
}
97
85
98
86
type GitHubReview struct {
99
87
User GitHubUser `json:"user"`
100
- ID int64 `json:"id"`
101
- Body string `json:"body"`
102
- CommitID string `json:"commit_id"`
103
- State string `json:"state"` // APPROVED | CHANGES_REQUESTED | COMMENTED | PENDING | DISMISSED
88
+ ID int64 `json:"id,omitempty "`
89
+ Body string `json:"body,omitempty "`
90
+ CommitID string `json:"commit_id,omitempty "`
91
+ State string `json:"state,omitempty "` // APPROVED | CHANGES_REQUESTED | COMMENTED | PENDING | DISMISSED
104
92
}
105
93
106
- type GitHubRequestedReviewers struct {
107
- Users []string `json:"users"`
108
- Teams []string `json:"teams"`
94
+ type GitHubReviewers struct {
95
+ Users []GitHubUser `json:"users"`
96
+ Teams []any `json:"teams"`
109
97
}
110
98
111
99
type GitHubMilestone struct {
@@ -123,8 +111,8 @@ type GitHubMilestone struct {
123
111
DueOn time.Time `json:"due_on"`
124
112
}
125
113
126
- type GitHubThisPR struct {
127
- Number int `json:"number"`
128
- Repo string `json:"repo"`
114
+ type GitHubAPIPR struct {
129
115
Owner string `json:"owner"`
116
+ Repo string `json:"repo"`
117
+ Number int `json:"number"`
130
118
}
0 commit comments