511 lines
14 KiB
Go
511 lines
14 KiB
Go
package bitbucket
|
|
|
|
import "time"
|
|
|
|
// RepoPushPayload is the Bitbucket repo:push payload
|
|
type RepoPushPayload struct {
|
|
Actor Owner `json:"actor"`
|
|
Repository Repository `json:"repository"`
|
|
Push struct {
|
|
Changes []struct {
|
|
New struct {
|
|
Type string `json:"type"`
|
|
Name string `json:"name"`
|
|
Target struct {
|
|
Type string `json:"type"`
|
|
Hash string `json:"hash"`
|
|
Author Owner `json:"author"`
|
|
Message string `json:"message"`
|
|
Date time.Time `json:"date"`
|
|
Parents []struct {
|
|
Type string `json:"type"`
|
|
Hash string `json:"hash"`
|
|
Links struct {
|
|
Self struct {
|
|
Href string `json:"href"`
|
|
} `json:"self"`
|
|
HTML struct {
|
|
Href string `json:"href"`
|
|
} `json:"html"`
|
|
} `json:"links"`
|
|
} `json:"parents"`
|
|
Links struct {
|
|
Self struct {
|
|
Href string `json:"href"`
|
|
} `json:"self"`
|
|
HTML struct {
|
|
Href string `json:"href"`
|
|
} `json:"html"`
|
|
} `json:"links"`
|
|
} `json:"target"`
|
|
Links struct {
|
|
Self struct {
|
|
Href string `json:"href"`
|
|
} `json:"self"`
|
|
Commits struct {
|
|
Href string `json:"href"`
|
|
} `json:"commits"`
|
|
HTML struct {
|
|
Href string `json:"href"`
|
|
} `json:"html"`
|
|
} `json:"links"`
|
|
} `json:"new"`
|
|
Old struct {
|
|
Type string `json:"type"`
|
|
Name string `json:"name"`
|
|
Target struct {
|
|
Type string `json:"type"`
|
|
Hash string `json:"hash"`
|
|
Author Owner `json:"author"`
|
|
Message string `json:"message"`
|
|
Date time.Time `json:"date"`
|
|
Parents []struct {
|
|
Type string `json:"type"`
|
|
Hash string `json:"hash"`
|
|
Links struct {
|
|
Self struct {
|
|
Href string `json:"href"`
|
|
} `json:"self"`
|
|
HTML struct {
|
|
Href string `json:"href"`
|
|
} `json:"html"`
|
|
} `json:"links"`
|
|
} `json:"parents"`
|
|
Links struct {
|
|
Self struct {
|
|
Href string `json:"href"`
|
|
} `json:"self"`
|
|
HTML struct {
|
|
Href string `json:"href"`
|
|
} `json:"html"`
|
|
} `json:"links"`
|
|
} `json:"target"`
|
|
Links struct {
|
|
Self struct {
|
|
Href string `json:"href"`
|
|
} `json:"self"`
|
|
Commits struct {
|
|
Href string `json:"href"`
|
|
} `json:"commits"`
|
|
HTML struct {
|
|
Href string `json:"href"`
|
|
} `json:"html"`
|
|
} `json:"links"`
|
|
} `json:"old"`
|
|
Links struct {
|
|
HTML struct {
|
|
Href string `json:"href"`
|
|
} `json:"html"`
|
|
Diff struct {
|
|
Href string `json:"href"`
|
|
} `json:"diff"`
|
|
Commits struct {
|
|
Href string `json:"href"`
|
|
} `json:"commits"`
|
|
} `json:"links"`
|
|
Created bool `json:"created"`
|
|
Forced bool `json:"forced"`
|
|
Closed bool `json:"closed"`
|
|
Commits []struct {
|
|
Hash string `json:"hash"`
|
|
Type string `json:"type"`
|
|
Message string `json:"message"`
|
|
Author Owner `json:"author"`
|
|
Links struct {
|
|
Self struct {
|
|
Href string `json:"href"`
|
|
} `json:"self"`
|
|
HTML struct {
|
|
Href string `json:"href"`
|
|
} `json:"html"`
|
|
} `json:"links"`
|
|
} `json:"commits"`
|
|
Truncated bool `json:"truncated"`
|
|
} `json:"changes"`
|
|
} `json:"push"`
|
|
}
|
|
|
|
// RepoForkPayload is the Bitbucket repo:fork payload
|
|
type RepoForkPayload struct {
|
|
Actor Owner `json:"actor"`
|
|
Repository Repository `json:"repository"`
|
|
Fork Repository `json:"fork"`
|
|
}
|
|
|
|
// RepoUpdatedPayload is the Bitbucket repo:updated payload
|
|
type RepoUpdatedPayload struct {
|
|
Actor Owner `json:"actor"`
|
|
Repository Repository `json:"repository"`
|
|
Changes struct {
|
|
Name struct {
|
|
New string `json:"new"`
|
|
Old string `json:"old"`
|
|
} `json:"name"`
|
|
Website struct {
|
|
New string `json:"new"`
|
|
Old string `json:"old"`
|
|
} `json:"website"`
|
|
Language struct {
|
|
New string `json:"new"`
|
|
Old string `json:"old"`
|
|
} `json:"language"`
|
|
Links struct {
|
|
New struct {
|
|
Avatar struct {
|
|
Href string `json:"href"`
|
|
} `json:"avatar"`
|
|
Self struct {
|
|
Href string `json:"href"`
|
|
} `json:"self"`
|
|
HTML struct {
|
|
Href string `json:"href"`
|
|
} `json:"html"`
|
|
} `json:"new"`
|
|
Old struct {
|
|
Avatar struct {
|
|
Href string `json:"href"`
|
|
} `json:"avatar"`
|
|
Self struct {
|
|
Href string `json:"href"`
|
|
} `json:"self"`
|
|
HTML struct {
|
|
Href string `json:"href"`
|
|
} `json:"html"`
|
|
} `json:"old"`
|
|
} `json:"links"`
|
|
Description struct {
|
|
New string `json:"new"`
|
|
Old string `json:"old"`
|
|
} `json:"description"`
|
|
FullName struct {
|
|
New string `json:"new"`
|
|
Old string `json:"old"`
|
|
} `json:"full_name"`
|
|
} `json:"changes"`
|
|
}
|
|
|
|
// RepoCommitCommentCreatedPayload is the Bitbucket repo:commit_comment_created payload
|
|
type RepoCommitCommentCreatedPayload struct {
|
|
Actor Owner `json:"actor"`
|
|
Comment Comment `json:"comment"`
|
|
Repository Repository `json:"repository"`
|
|
Commit struct {
|
|
Hash string `json:"hash"`
|
|
} `json:"commit"`
|
|
}
|
|
|
|
// RepoCommitStatusCreatedPayload is the Bitbucket repo:commit_status_created payload
|
|
type RepoCommitStatusCreatedPayload struct {
|
|
Actor Owner `json:"actor"`
|
|
Repository Repository `json:"repository"`
|
|
CommitStatus struct {
|
|
Name string `json:"name"`
|
|
Description string `json:"description"`
|
|
State string `json:"state"`
|
|
Key string `json:"key"`
|
|
URL string `json:"url"`
|
|
Type string `json:"type"`
|
|
CreatedOn time.Time `json:"created_on"`
|
|
UpdatedOn time.Time `json:"updated_on"`
|
|
Links struct {
|
|
Commit struct {
|
|
Href string `json:"href"`
|
|
} `json:"commit"`
|
|
Self struct {
|
|
Href string `json:"href"`
|
|
} `json:"self"`
|
|
} `json:"links"`
|
|
} `json:"commit_status"`
|
|
}
|
|
|
|
// RepoCommitStatusUpdatedPayload is the Bitbucket repo:commit_status_updated payload
|
|
type RepoCommitStatusUpdatedPayload struct {
|
|
Actor Owner `json:"actor"`
|
|
Repository Repository `json:"repository"`
|
|
CommitStatus struct {
|
|
Name string `json:"name"`
|
|
Description string `json:"description"`
|
|
State string `json:"state"`
|
|
Key string `json:"key"`
|
|
URL string `json:"url"`
|
|
Type string `json:"type"`
|
|
CreatedOn time.Time `json:"created_on"`
|
|
UpdatedOn time.Time `json:"updated_on"`
|
|
Links struct {
|
|
Commit struct {
|
|
Href string `json:"href"`
|
|
} `json:"commit"`
|
|
Self struct {
|
|
Href string `json:"href"`
|
|
} `json:"self"`
|
|
} `json:"links"`
|
|
} `json:"commit_status"`
|
|
}
|
|
|
|
// IssueCreatedPayload is the Bitbucket issue:created payload
|
|
type IssueCreatedPayload struct {
|
|
Actor Owner `json:"actor"`
|
|
Issue Issue `json:"issue"`
|
|
Repository Repository `json:"repository"`
|
|
}
|
|
|
|
// IssueUpdatedPayload is the Bitbucket issue:updated payload
|
|
type IssueUpdatedPayload struct {
|
|
Actor Owner `json:"actor"`
|
|
Issue Issue `json:"issue"`
|
|
Repository Repository `json:"repository"`
|
|
Comment Comment `json:"comment"`
|
|
Changes struct {
|
|
Status struct {
|
|
Old string `json:"old"`
|
|
New string `json:"new"`
|
|
} `json:"status"`
|
|
} `json:"changes"`
|
|
}
|
|
|
|
// IssueCommentCreatedPayload is the Bitbucket pullrequest:created payload
|
|
type IssueCommentCreatedPayload struct {
|
|
Actor Owner `json:"actor"`
|
|
Repository Repository `json:"repository"`
|
|
Issue Issue `json:"issue"`
|
|
Comment Comment `json:"comment"`
|
|
}
|
|
|
|
// PullRequestCreatedPayload is the Bitbucket pullrequest:created payload
|
|
type PullRequestCreatedPayload struct {
|
|
Actor Owner `json:"actor"`
|
|
PullRequest PullRequest `json:"pullrequest"`
|
|
Repository Repository `json:"repository"`
|
|
}
|
|
|
|
// PullRequestUpdatedPayload is the Bitbucket pullrequest:updated payload
|
|
type PullRequestUpdatedPayload struct {
|
|
Actor Owner `json:"actor"`
|
|
PullRequest PullRequest `json:"pullrequest"`
|
|
Repository Repository `json:"repository"`
|
|
}
|
|
|
|
// PullRequestApprovedPayload is the Bitbucket pullrequest:approved payload
|
|
type PullRequestApprovedPayload struct {
|
|
Actor Owner `json:"actor"`
|
|
PullRequest PullRequest `json:"pullrequest"`
|
|
Repository Repository `json:"repository"`
|
|
Approval struct {
|
|
Date time.Time `json:"date"`
|
|
User Owner `json:"user"`
|
|
} `json:"approval"`
|
|
}
|
|
|
|
// PullRequestUnapprovedPayload is the Bitbucket pullrequest:unapproved payload
|
|
type PullRequestUnapprovedPayload struct {
|
|
Actor Owner `json:"actor"`
|
|
PullRequest PullRequest `json:"pullrequest"`
|
|
Repository Repository `json:"repository"`
|
|
Approval struct {
|
|
Date time.Time `json:"date"`
|
|
User Owner `json:"user"`
|
|
} `json:"approval"`
|
|
}
|
|
|
|
// PullRequestMergedPayload is the Bitbucket pullrequest:fulfilled payload
|
|
type PullRequestMergedPayload struct {
|
|
Actor Owner `json:"actor"`
|
|
PullRequest PullRequest `json:"pullrequest"`
|
|
Repository Repository `json:"repository"`
|
|
}
|
|
|
|
// PullRequestDeclinedPayload is the Bitbucket pullrequest:rejected payload
|
|
type PullRequestDeclinedPayload struct {
|
|
Actor Owner `json:"actor"`
|
|
PullRequest PullRequest `json:"pullrequest"`
|
|
Repository Repository `json:"repository"`
|
|
}
|
|
|
|
// PullRequestCommentCreatedPayload is the Bitbucket pullrequest:comment_updated payload
|
|
type PullRequestCommentCreatedPayload struct {
|
|
Actor Owner `json:"actor"`
|
|
Repository Repository `json:"repository"`
|
|
PullRequest PullRequest `json:"pullrequest"`
|
|
Comment Comment `json:"comment"`
|
|
}
|
|
|
|
// PullRequestCommentUpdatedPayload is the Bitbucket pullrequest:comment_created payload
|
|
type PullRequestCommentUpdatedPayload struct {
|
|
Actor Owner `json:"actor"`
|
|
Repository Repository `json:"repository"`
|
|
PullRequest PullRequest `json:"pullrequest"`
|
|
Comment Comment `json:"comment"`
|
|
}
|
|
|
|
// PullRequestCommentDeletedPayload is the Bitbucket pullrequest:comment_deleted payload
|
|
type PullRequestCommentDeletedPayload struct {
|
|
Actor Owner `json:"actor"`
|
|
Repository Repository `json:"repository"`
|
|
PullRequest PullRequest `json:"pullrequest"`
|
|
Comment Comment `json:"comment"`
|
|
}
|
|
|
|
// Owner is the common Bitbucket Owner Sub Entity
|
|
type Owner struct {
|
|
Type string `json:"type"`
|
|
NickName string `json:"nickname"`
|
|
DisplayName string `json:"display_name"`
|
|
AccountId string `json:"account_id"`
|
|
UUID string `json:"uuid"`
|
|
Links struct {
|
|
Self struct {
|
|
Href string `json:"href"`
|
|
} `json:"self"`
|
|
HTML struct {
|
|
Href string `json:"href"`
|
|
} `json:"html"`
|
|
Avatar struct {
|
|
Href string `json:"href"`
|
|
} `json:"avatar"`
|
|
} `json:"links"`
|
|
}
|
|
|
|
// Repository is the common Bitbucket Repository Sub Entity
|
|
type Repository struct {
|
|
Type string `json:"type"`
|
|
Links struct {
|
|
Self struct {
|
|
Href string `json:"href"`
|
|
} `json:"self"`
|
|
HTML struct {
|
|
Href string `json:"href"`
|
|
} `json:"html"`
|
|
Avatar struct {
|
|
Href string `json:"href"`
|
|
} `json:"avatar"`
|
|
} `json:"links"`
|
|
UUID string `json:"uuid"`
|
|
Project Project `json:"project"`
|
|
FullName string `json:"full_name"`
|
|
Name string `json:"name"`
|
|
Website string `json:"website"`
|
|
Owner Owner `json:"owner"`
|
|
Scm string `json:"scm"`
|
|
IsPrivate bool `json:"is_private"`
|
|
}
|
|
|
|
// Project is the common Bitbucket Project Sub Entity
|
|
type Project struct {
|
|
Type string `json:"type"`
|
|
Project string `json:"project"`
|
|
UUID string `json:"uuid"`
|
|
Links struct {
|
|
HTML struct {
|
|
Href string `json:"href"`
|
|
} `json:"html"`
|
|
Avatar struct {
|
|
Href string `json:"href"`
|
|
} `json:"avatar"`
|
|
} `json:"links"`
|
|
Key string `json:"key"`
|
|
}
|
|
|
|
// Issue is the common Bitbucket Issue Sub Entity
|
|
type Issue struct {
|
|
ID int64 `json:"id"`
|
|
Component string `json:"component"`
|
|
Title string `json:"title"`
|
|
Content struct {
|
|
Raw string `json:"raw"`
|
|
HTML string `json:"html"`
|
|
Markup string `json:"markup"`
|
|
} `json:"content"`
|
|
Priority string `json:"priority"`
|
|
State string `json:"state"`
|
|
Type string `json:"type"`
|
|
Milestone struct {
|
|
Name string `json:"name"`
|
|
} `json:"milestone"`
|
|
Version struct {
|
|
Name string `json:"name"`
|
|
} `json:"version"`
|
|
CreatedOn time.Time `json:"created_on"`
|
|
UpdatedOn time.Time `json:"updated_on"`
|
|
Links struct {
|
|
Self struct {
|
|
Href string `json:"href"`
|
|
} `json:"self"`
|
|
HTML struct {
|
|
Href string `json:"href"`
|
|
} `json:"html"`
|
|
} `json:"links"`
|
|
}
|
|
|
|
// Comment is the common Bitbucket Comment Sub Entity
|
|
type Comment struct {
|
|
ID int64 `json:"id"`
|
|
Parent struct {
|
|
ID int64 `json:"id"`
|
|
} `json:"parent"`
|
|
Content struct {
|
|
Raw string `json:"raw"`
|
|
HTML string `json:"html"`
|
|
Markup string `json:"markup"`
|
|
} `json:"content"`
|
|
Inline struct {
|
|
Path string `json:"path"`
|
|
From *int64 `json:"from"`
|
|
To int64 `json:"to"`
|
|
} `json:"inline"`
|
|
CreatedOn time.Time `json:"created_on"`
|
|
UpdatedOn time.Time `json:"updated_on"`
|
|
Links struct {
|
|
Self struct {
|
|
Href string `json:"href"`
|
|
} `json:"self"`
|
|
HTML struct {
|
|
Href string `json:"href"`
|
|
} `json:"html"`
|
|
} `json:"links"`
|
|
}
|
|
|
|
// PullRequest is the common Bitbucket Pull Request Sub Entity
|
|
type PullRequest struct {
|
|
ID int64 `json:"id"`
|
|
Title string `json:"title"`
|
|
Description string `json:"description"`
|
|
State string `json:"state"`
|
|
Author Owner `json:"author"`
|
|
Source struct {
|
|
Branch struct {
|
|
Name string `json:"name"`
|
|
} `json:"branch"`
|
|
Commit struct {
|
|
Hash string `json:"hash"`
|
|
} `json:"commit"`
|
|
Repository Repository `json:"repository"`
|
|
} `json:"source"`
|
|
Destination struct {
|
|
Branch struct {
|
|
Name string `json:"name"`
|
|
} `json:"branch"`
|
|
Commit struct {
|
|
Hash string `json:"hash"`
|
|
} `json:"commit"`
|
|
Repository Repository `json:"repository"`
|
|
} `json:"destination"`
|
|
MergeCommit struct {
|
|
Hash string `json:"hash"`
|
|
} `json:"merge_commit"`
|
|
Participants []Owner `json:"participants"`
|
|
Reviewers []Owner `json:"reviewers"`
|
|
CloseSourceBranch bool `json:"close_source_branch"`
|
|
ClosedBy Owner `json:"closed_by"`
|
|
Reason string `json:"reason"`
|
|
CreatedOn time.Time `json:"created_on"`
|
|
UpdatedOn time.Time `json:"updated_on"`
|
|
Links struct {
|
|
Self struct {
|
|
Href string `json:"href"`
|
|
} `json:"self"`
|
|
HTML struct {
|
|
Href string `json:"href"`
|
|
} `json:"html"`
|
|
} `json:"links"`
|
|
}
|