Update BitBucket + GitLab Payloads
This commit is contained in:
@@ -1,10 +1,10 @@
|
||||
Library webhooks
|
||||
================
|
||||
<img align="right" src="https://raw.githubusercontent.com/go-playground/webhooks/v2/logo.png">
|
||||
<img align="right" src="https://raw.githubusercontent.com/go-playground/webhooks/v3/logo.png">
|
||||
[](https://semaphoreci.com/joeybloggs/webhooks)
|
||||
[](https://coveralls.io/github/go-playground/webhooks?branch=v2)
|
||||
[](https://coveralls.io/github/go-playground/webhooks?branch=v3)
|
||||
[](https://goreportcard.com/report/go-playground/webhooks)
|
||||
[](https://godoc.org/gopkg.in/go-playground/webhooks.v2)
|
||||
[](https://godoc.org/gopkg.in/go-playground/webhooks.v3)
|
||||

|
||||
|
||||
Library webhooks allows for easy recieving and parsing of GitHub, Bitbucket and GitLab Webhook Events
|
||||
@@ -24,17 +24,17 @@ Installation
|
||||
Use go get.
|
||||
|
||||
```shell
|
||||
go get -u gopkg.in/go-playground/webhooks.v2
|
||||
go get -u gopkg.in/go-playground/webhooks.v3
|
||||
```
|
||||
|
||||
Then import the package into your own code.
|
||||
|
||||
import "gopkg.in/go-playground/webhooks.v2"
|
||||
import "gopkg.in/go-playground/webhooks.v3"
|
||||
|
||||
Usage and Documentation
|
||||
------
|
||||
|
||||
Please see http://godoc.org/gopkg.in/go-playground/webhooks.v2 for detailed usage docs.
|
||||
Please see http://godoc.org/gopkg.in/go-playground/webhooks.v3 for detailed usage docs.
|
||||
|
||||
##### Examples:
|
||||
|
||||
@@ -46,8 +46,8 @@ import (
|
||||
"fmt"
|
||||
"strconv"
|
||||
|
||||
"gopkg.in/go-playground/webhooks.v2"
|
||||
"gopkg.in/go-playground/webhooks.v2/github"
|
||||
"gopkg.in/go-playground/webhooks.v3"
|
||||
"gopkg.in/go-playground/webhooks.v3/github"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -104,8 +104,8 @@ import (
|
||||
"fmt"
|
||||
"strconv"
|
||||
|
||||
"gopkg.in/go-playground/webhooks.v2"
|
||||
"gopkg.in/go-playground/webhooks.v2/github"
|
||||
"gopkg.in/go-playground/webhooks.v3"
|
||||
"gopkg.in/go-playground/webhooks.v3/github"
|
||||
)
|
||||
|
||||
const (
|
||||
|
||||
+24
-19
@@ -25,23 +25,24 @@ type Event string
|
||||
|
||||
// Bitbucket hook types
|
||||
const (
|
||||
RepoPushEvent Event = "repo:push"
|
||||
RepoForkEvent Event = "repo:fork"
|
||||
RepoCommitCommentCreatedEvent Event = "repo:commit_comment_created"
|
||||
RepoCommitStatusCreatedEvent Event = "repo:commit_status_created"
|
||||
RepoCommitStatusUpdatedEvent Event = "repo:commit_status_updated"
|
||||
IssueCreatedEvent Event = "issue:created"
|
||||
IssueUpdatedEvent Event = "issue:updated"
|
||||
IssueCommentCreatedEvent Event = "issue:comment_created"
|
||||
PullRequestCreatedEvent Event = "pullrequest:created"
|
||||
PullRequestUpdatedEvent Event = "pullrequest:updated"
|
||||
PullRequestApprovedEvent Event = "pullrequest:approved"
|
||||
PullRequestApprovalRemovedEvent Event = "pullrequest:unapproved"
|
||||
PullRequestMergedEvent Event = "pullrequest:fulfilled"
|
||||
PullRequestDeclinedEvent Event = "pullrequest:rejected"
|
||||
PullRequestCommentCreatedEvent Event = "pullrequest:comment_created"
|
||||
PullRequestCommentUpdatedEvent Event = "pullrequest:comment_updated"
|
||||
PullRequestCommentDeletedEvent Event = "pull_request:comment_deleted"
|
||||
RepoPushEvent Event = "repo:push"
|
||||
RepoForkEvent Event = "repo:fork"
|
||||
RepoUpdatedEvent Event = "repo:updated"
|
||||
RepoCommitCommentCreatedEvent Event = "repo:commit_comment_created"
|
||||
RepoCommitStatusCreatedEvent Event = "repo:commit_status_created"
|
||||
RepoCommitStatusUpdatedEvent Event = "repo:commit_status_updated"
|
||||
IssueCreatedEvent Event = "issue:created"
|
||||
IssueUpdatedEvent Event = "issue:updated"
|
||||
IssueCommentCreatedEvent Event = "issue:comment_created"
|
||||
PullRequestCreatedEvent Event = "pullrequest:created"
|
||||
PullRequestUpdatedEvent Event = "pullrequest:updated"
|
||||
PullRequestApprovedEvent Event = "pullrequest:approved"
|
||||
PullRequestUnapprovedEvent Event = "pullrequest:unapproved"
|
||||
PullRequestMergedEvent Event = "pullrequest:fulfilled"
|
||||
PullRequestDeclinedEvent Event = "pullrequest:rejected"
|
||||
PullRequestCommentCreatedEvent Event = "pullrequest:comment_created"
|
||||
PullRequestCommentUpdatedEvent Event = "pullrequest:comment_updated"
|
||||
PullRequestCommentDeletedEvent Event = "pull_request:comment_deleted"
|
||||
)
|
||||
|
||||
// New creates and returns a WebHook instance denoted by the Provider type
|
||||
@@ -111,6 +112,10 @@ func (hook Webhook) ParsePayload(w http.ResponseWriter, r *http.Request) {
|
||||
var pl RepoForkPayload
|
||||
json.Unmarshal([]byte(payload), &pl)
|
||||
hook.runProcessPayloadFunc(fn, pl, hd)
|
||||
case RepoUpdatedEvent:
|
||||
var pl RepoUpdatedPayload
|
||||
json.Unmarshal([]byte(payload), &pl)
|
||||
hook.runProcessPayloadFunc(fn, pl, hd)
|
||||
case RepoCommitCommentCreatedEvent:
|
||||
var pl RepoCommitCommentCreatedPayload
|
||||
json.Unmarshal([]byte(payload), &pl)
|
||||
@@ -147,8 +152,8 @@ func (hook Webhook) ParsePayload(w http.ResponseWriter, r *http.Request) {
|
||||
var pl PullRequestApprovedPayload
|
||||
json.Unmarshal([]byte(payload), &pl)
|
||||
hook.runProcessPayloadFunc(fn, pl, hd)
|
||||
case PullRequestApprovalRemovedEvent:
|
||||
var pl PullRequestApprovalRemovedPayload
|
||||
case PullRequestUnapprovedEvent:
|
||||
var pl PullRequestUnapprovedPayload
|
||||
json.Unmarshal([]byte(payload), &pl)
|
||||
hook.runProcessPayloadFunc(fn, pl, hd)
|
||||
case PullRequestMergedEvent:
|
||||
|
||||
+157
-1
@@ -39,7 +39,27 @@ func TestMain(m *testing.M) {
|
||||
|
||||
// setup
|
||||
hook = New(&Config{UUID: "MY_UUID"})
|
||||
hook.RegisterEvents(HandlePayload, RepoPushEvent, RepoForkEvent, RepoCommitCommentCreatedEvent, RepoCommitStatusCreatedEvent, RepoCommitStatusUpdatedEvent, IssueCreatedEvent, IssueUpdatedEvent, IssueCommentCreatedEvent, PullRequestCreatedEvent, PullRequestUpdatedEvent, PullRequestApprovedEvent, PullRequestApprovalRemovedEvent, PullRequestMergedEvent, PullRequestDeclinedEvent, PullRequestCommentCreatedEvent, PullRequestCommentUpdatedEvent, PullRequestCommentDeletedEvent)
|
||||
hook.RegisterEvents(
|
||||
HandlePayload,
|
||||
RepoPushEvent,
|
||||
RepoForkEvent,
|
||||
RepoUpdatedEvent,
|
||||
RepoCommitCommentCreatedEvent,
|
||||
RepoCommitStatusCreatedEvent,
|
||||
RepoCommitStatusUpdatedEvent,
|
||||
IssueCreatedEvent,
|
||||
IssueUpdatedEvent,
|
||||
IssueCommentCreatedEvent,
|
||||
PullRequestCreatedEvent,
|
||||
PullRequestUpdatedEvent,
|
||||
PullRequestApprovedEvent,
|
||||
PullRequestUnapprovedEvent,
|
||||
PullRequestMergedEvent,
|
||||
PullRequestDeclinedEvent,
|
||||
PullRequestCommentCreatedEvent,
|
||||
PullRequestCommentUpdatedEvent,
|
||||
PullRequestCommentDeletedEvent,
|
||||
)
|
||||
|
||||
go webhooks.Run(hook, "127.0.0.1:"+strconv.Itoa(port), path)
|
||||
time.Sleep(time.Millisecond * 500)
|
||||
@@ -445,6 +465,142 @@ func TestRepoFork(t *testing.T) {
|
||||
Equal(t, resp.StatusCode, http.StatusOK)
|
||||
}
|
||||
|
||||
func TestRepoUpdated(t *testing.T) {
|
||||
|
||||
payload := `{
|
||||
"actor": {
|
||||
"type": "user",
|
||||
"username": "emmap1",
|
||||
"display_name": "Emma",
|
||||
"uuid": "{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
|
||||
"links": {
|
||||
"self": {
|
||||
"href": "https://api.bitbucket.org/api/2.0/users/emmap1"
|
||||
},
|
||||
"html": {
|
||||
"href": "https://api.bitbucket.org/emmap1"
|
||||
},
|
||||
"avatar": {
|
||||
"href": "https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
|
||||
}
|
||||
}
|
||||
},
|
||||
"repository": {
|
||||
"type": "repository",
|
||||
"links": {
|
||||
"self": {
|
||||
"href": "https://api.bitbucket.org/api/2.0/repositories/bitbucket/bitbucket"
|
||||
},
|
||||
"html": {
|
||||
"href": "https://api.bitbucket.org/bitbucket/bitbucket"
|
||||
},
|
||||
"avatar": {
|
||||
"href": "https://api-staging-assetroot.s3.amazonaws.com/c/photos/2014/Aug/01/bitbucket-logo-2629490769-3_avatar.png"
|
||||
}
|
||||
},
|
||||
"uuid": "{673a6070-3421-46c9-9d48-90745f7bfe8e}",
|
||||
"project": {
|
||||
"type": "project",
|
||||
"project": "Untitled project",
|
||||
"uuid": "{3b7898dc-6891-4225-ae60-24613bb83080}",
|
||||
"links": {
|
||||
"html": {
|
||||
"href": "https://bitbucket.org/account/user/teamawesome/projects/proj"
|
||||
},
|
||||
"avatar": {
|
||||
"href": "https://bitbucket.org/account/user/teamawesome/projects/proj/avatar/32"
|
||||
}
|
||||
},
|
||||
"key": "proj"
|
||||
},
|
||||
"full_name": "team_name/repo_name",
|
||||
"name": "repo_name",
|
||||
"website": "https://mywebsite.com/",
|
||||
"owner": {
|
||||
"type": "user",
|
||||
"username": "emmap1",
|
||||
"display_name": "Emma",
|
||||
"uuid": "{a54f16da-24e9-4d7f-a3a7-b1ba2cd98aa3}",
|
||||
"links": {
|
||||
"self": {
|
||||
"href": "https://api.bitbucket.org/api/2.0/users/emmap1"
|
||||
},
|
||||
"html": {
|
||||
"href": "https://api.bitbucket.org/emmap1"
|
||||
},
|
||||
"avatar": {
|
||||
"href": "https://bitbucket-api-assetroot.s3.amazonaws.com/c/photos/2015/Feb/26/3613917261-0-emmap1-avatar_avatar.png"
|
||||
}
|
||||
}
|
||||
},
|
||||
"scm": "git",
|
||||
"is_private": true
|
||||
},
|
||||
"changes": {
|
||||
"name": {
|
||||
"new": "repository",
|
||||
"old": "repository_name"
|
||||
},
|
||||
"website": {
|
||||
"new": "http://www.example.com/",
|
||||
"old": ""
|
||||
},
|
||||
"language": {
|
||||
"new": "java",
|
||||
"old": ""
|
||||
},
|
||||
"links": {
|
||||
"new": {
|
||||
"avatar": {
|
||||
"href": "https://bitbucket.org/teamawesome/repository/avatar/32/"
|
||||
},
|
||||
"self": {
|
||||
"href": "https://api.bitbucket.org/2.0/repositories/teamawesome/repository"
|
||||
},
|
||||
"html": {
|
||||
"href": "https://bitbucket.org/teamawesome/repository"
|
||||
}
|
||||
},
|
||||
"old": {
|
||||
"avatar": {
|
||||
"href": "https://bitbucket.org/teamawesome/repository_name/avatar/32/"
|
||||
},
|
||||
"self": {
|
||||
"href": "https://api.bitbucket.org/2.0/repositories/teamawesome/repository_name"
|
||||
},
|
||||
"html": {
|
||||
"href": "https://bitbucket.org/teamawesome/repository_name"
|
||||
}
|
||||
}
|
||||
},
|
||||
"description": {
|
||||
"new": "This is a better description.",
|
||||
"old": "This is a description."
|
||||
},
|
||||
"full_name": {
|
||||
"new": "teamawesome/repository",
|
||||
"old": "teamawesome/repository_name"
|
||||
}
|
||||
}
|
||||
}
|
||||
`
|
||||
|
||||
req, err := http.NewRequest("POST", "http://127.0.0.1:3009/webhooks", bytes.NewBuffer([]byte(payload)))
|
||||
req.Header.Set("Content-Type", "application/json")
|
||||
req.Header.Set("X-Hook-UUID", "MY_UUID")
|
||||
req.Header.Set("X-Event-Key", "repo:updated")
|
||||
|
||||
Equal(t, err, nil)
|
||||
|
||||
client := &http.Client{}
|
||||
resp, err := client.Do(req)
|
||||
Equal(t, err, nil)
|
||||
|
||||
defer resp.Body.Close()
|
||||
|
||||
Equal(t, resp.StatusCode, http.StatusOK)
|
||||
}
|
||||
|
||||
func TestRepoCommitCommentCreated(t *testing.T) {
|
||||
|
||||
payload := `{
|
||||
|
||||
+457
-337
@@ -2,388 +2,508 @@ package bitbucket
|
||||
|
||||
import "time"
|
||||
|
||||
// PullRequestCommentDeletedPayload is the Bitbucket pull_request:comment_deleted payload
|
||||
type PullRequestCommentDeletedPayload struct {
|
||||
Actor User `json:"actor"`
|
||||
Repository Repository `json:"repository"`
|
||||
PullRequest PullRequest `json:"pullrequest"`
|
||||
Comment Comment `json:"comment"`
|
||||
}
|
||||
|
||||
// PullRequestCommentUpdatedPayload is the Bitbucket pullrequest:comment_updated payload
|
||||
type PullRequestCommentUpdatedPayload struct {
|
||||
Actor User `json:"actor"`
|
||||
Repository Repository `json:"repository"`
|
||||
PullRequest PullRequest `json:"pullrequest"`
|
||||
Comment Comment `json:"comment"`
|
||||
}
|
||||
|
||||
// PullRequestCommentCreatedPayload is the Bitbucket pullrequest:comment_created payload
|
||||
type PullRequestCommentCreatedPayload struct {
|
||||
Actor User `json:"actor"`
|
||||
Repository Repository `json:"repository"`
|
||||
PullRequest PullRequest `json:"pullrequest"`
|
||||
Comment Comment `json:"comment"`
|
||||
}
|
||||
|
||||
// PullRequestDeclinedPayload is the Bitbucket pullrequest:rejected payload
|
||||
type PullRequestDeclinedPayload struct {
|
||||
Actor User `json:"actor"`
|
||||
PullRequest PullRequest `json:"pullrequest"`
|
||||
Repository Repository `json:"repository"`
|
||||
}
|
||||
|
||||
// PullRequestMergedPayload is the Bitbucket pullrequest:fulfilled payload
|
||||
type PullRequestMergedPayload struct {
|
||||
Actor User `json:"actor"`
|
||||
PullRequest PullRequest `json:"pullrequest"`
|
||||
Repository Repository `json:"repository"`
|
||||
}
|
||||
|
||||
// PullRequestApprovalRemovedPayload is the Bitbucket pullrequest:unapproved payload
|
||||
type PullRequestApprovalRemovedPayload struct {
|
||||
Actor User `json:"actor"`
|
||||
PullRequest PullRequest `json:"pullrequest"`
|
||||
Repository Repository `json:"repository"`
|
||||
Approval Approval `json:"approval"`
|
||||
}
|
||||
|
||||
// PullRequestApprovedPayload is the Bitbucket pullrequest:approved payload
|
||||
type PullRequestApprovedPayload struct {
|
||||
Actor User `json:"actor"`
|
||||
PullRequest PullRequest `json:"pullrequest"`
|
||||
Repository Repository `json:"repository"`
|
||||
Approval Approval `json:"approval"`
|
||||
}
|
||||
|
||||
// PullRequestUpdatedPayload is the Bitbucket pullrequest:updated payload
|
||||
type PullRequestUpdatedPayload struct {
|
||||
Actor User `json:"actor"`
|
||||
PullRequest PullRequest `json:"pullrequest"`
|
||||
Repository Repository `json:"repository"`
|
||||
}
|
||||
|
||||
// PullRequestCreatedPayload is the Bitbucket pullrequest:created payload
|
||||
type PullRequestCreatedPayload struct {
|
||||
Actor User `json:"actor"`
|
||||
PullRequest PullRequest `json:"pullrequest"`
|
||||
Repository Repository `json:"repository"`
|
||||
}
|
||||
|
||||
// IssueCommentCreatedPayload is the Bitbucket issue:comment_created payload
|
||||
type IssueCommentCreatedPayload struct {
|
||||
Actor User `json:"actor"`
|
||||
// RepoPushPayload is the Bitbucket repo:push payload
|
||||
type RepoPushPayload struct {
|
||||
Actor Owner `json:"actor"`
|
||||
Repository Repository `json:"repository"`
|
||||
Issue Issue `json:"issue"`
|
||||
Comment Comment `json:"comment"`
|
||||
}
|
||||
|
||||
// IssueUpdatedPayload is the Bitbucket issue:updated payload
|
||||
type IssueUpdatedPayload struct {
|
||||
Actor User `json:"actor"`
|
||||
Issue Issue `json:"issue"`
|
||||
Repository Repository `json:"repository"`
|
||||
Comment Comment `json:"comment"`
|
||||
Changes IssueChanges `json:"changes"`
|
||||
}
|
||||
|
||||
// IssueCreatedPayload is the Bitbucket issue:created payload
|
||||
type IssueCreatedPayload struct {
|
||||
Actor User `json:"actor"`
|
||||
Issue Issue `json:"issue"`
|
||||
Repository Repository `json:"repository"`
|
||||
}
|
||||
|
||||
// RepoCommitStatusUpdatedPayload is the Bitbucket repo:commit_status_updated payload
|
||||
type RepoCommitStatusUpdatedPayload struct {
|
||||
Actor User `json:"actor"`
|
||||
Repository Repository `json:"repository"`
|
||||
CommitStatus CommitStatus `json:"commit_status"`
|
||||
}
|
||||
|
||||
// RepoCommitStatusCreatedPayload is the Bitbucket repo:commit_status_created payload
|
||||
type RepoCommitStatusCreatedPayload struct {
|
||||
Actor User `json:"actor"`
|
||||
Repository Repository `json:"repository"`
|
||||
CommitStatus CommitStatus `json:"commit_status"`
|
||||
}
|
||||
|
||||
// RepoCommitCommentCreatedPayload is the Bitbucket repo:commit_comment_created payload
|
||||
type RepoCommitCommentCreatedPayload struct {
|
||||
Actor User `json:"actor"`
|
||||
Comment Comment `json:"comment"`
|
||||
Repository Repository `json:"repository"`
|
||||
Commit CommitHash `json:"commit"`
|
||||
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 User `json:"actor"`
|
||||
Actor Owner `json:"actor"`
|
||||
Repository Repository `json:"repository"`
|
||||
Fork Repository `json:"fork"`
|
||||
}
|
||||
|
||||
// RepoPushPayload is the Bitbucket repo:push payload
|
||||
type RepoPushPayload struct {
|
||||
Actor User `json:"actor"`
|
||||
// RepoUpdatedPayload is the Bitbucket repo:updated payload
|
||||
type RepoUpdatedPayload struct {
|
||||
Actor Owner `json:"actor"`
|
||||
Repository Repository `json:"repository"`
|
||||
Push Push `json:"push"`
|
||||
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"`
|
||||
}
|
||||
|
||||
// Approval is the common Bitbucket Issue Approval Sub Entity
|
||||
type Approval struct {
|
||||
Date time.Time `json:"date"`
|
||||
User User `json:"user"`
|
||||
// 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"`
|
||||
}
|
||||
|
||||
// IssueChanges is the common Bitbucket Issue Changes Sub Entity
|
||||
type IssueChanges struct {
|
||||
Status IssueChangeStatus `json:"status"`
|
||||
// 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"`
|
||||
}
|
||||
|
||||
// IssueChangeStatus is the common Bitbucket Issue Change Status Sub Entity
|
||||
type IssueChangeStatus struct {
|
||||
Old string `json:"old"`
|
||||
New string `json:"new"`
|
||||
// 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"`
|
||||
}
|
||||
|
||||
// CommitStatus is the common Bitbucket CommitStatus Sub Entity
|
||||
type 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 LinksSelfCommit `json:"links"`
|
||||
// IssueCreatedPayload is the Bitbucket issue:created payload
|
||||
type IssueCreatedPayload struct {
|
||||
Actor Owner `json:"actor"`
|
||||
Issue Issue `json:"issue"`
|
||||
Repository Repository `json:"repository"`
|
||||
}
|
||||
|
||||
// Push is the common Bitbucket Push Sub Entity
|
||||
type Push struct {
|
||||
Changes []Change `json:"changes"`
|
||||
// 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"`
|
||||
}
|
||||
|
||||
// Change is the common Bitbucket Change Sub Entity
|
||||
type Change struct {
|
||||
New ChangeData `json:"new"`
|
||||
Old ChangeData `json:"old"`
|
||||
Links LinksHTMLDiffCommits `json:"links"`
|
||||
Created bool `json:"created"`
|
||||
Forced bool `json:"forced"`
|
||||
Closed bool `json:"closed"`
|
||||
Commits []Commit `json:"commits"`
|
||||
Truncated bool `json:"truncated"`
|
||||
// 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"`
|
||||
}
|
||||
|
||||
// ChangeData is the common Bitbucket ChangeData Sub Entity
|
||||
type ChangeData struct {
|
||||
Type string `json:"type"`
|
||||
Name string `json:"name"`
|
||||
Target Target `json:"target"`
|
||||
Links LinksHTMLSelfCommits `json:"links"`
|
||||
// PullRequestCreatedPayload is the Bitbucket pullrequest:created payload
|
||||
type PullRequestCreatedPayload struct {
|
||||
Actor Owner `json:"actor"`
|
||||
PullRequest PullRequest `json:"pullrequest"`
|
||||
Repository Repository `json:"repository"`
|
||||
}
|
||||
|
||||
// Target is the common Bitbucket Target Sub Entity
|
||||
type Target struct {
|
||||
Type string `json:"type"`
|
||||
Hash string `json:"hash"`
|
||||
Author User `json:"author"`
|
||||
Message string `json:"message"`
|
||||
Date time.Time `json:"date"`
|
||||
Parents []Parent `json:"parents"`
|
||||
Links LinksHTMLSelf `json:"links"`
|
||||
// PullRequestUpdatedPayload is the Bitbucket pullrequest:updated payload
|
||||
type PullRequestUpdatedPayload struct {
|
||||
Actor Owner `json:"actor"`
|
||||
PullRequest PullRequest `json:"pullrequest"`
|
||||
Repository Repository `json:"repository"`
|
||||
}
|
||||
|
||||
// Parent is the common Bitbucket Parent Sub Entity
|
||||
type Parent struct {
|
||||
Type string `json:"type"`
|
||||
Hash string `json:"hash"`
|
||||
Links LinksHTMLSelf `json:"links"`
|
||||
// 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"`
|
||||
}
|
||||
|
||||
// Commit is the common Bitbucket Commit Sub Entity
|
||||
type Commit struct {
|
||||
Hash string `json:"hash"`
|
||||
Type string `json:"type"`
|
||||
Message string `json:"message"`
|
||||
Author User `json:"author"`
|
||||
Links LinksHTMLSelf `json:"links"`
|
||||
// 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"`
|
||||
}
|
||||
|
||||
// User is the common Bitbucket User Entity
|
||||
type User struct {
|
||||
// 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"`
|
||||
Username string `json:"username"`
|
||||
DisplayName string `json:"display_name"`
|
||||
UUID string `json:"uuid"`
|
||||
Links Links `json:"links"`
|
||||
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 Entity
|
||||
// Repository is the common Bitbucket Repository Sub Entity
|
||||
type Repository struct {
|
||||
Links Links `json:"links"`
|
||||
UUID string `json:"uuid"`
|
||||
FullName string `json:"full_name"`
|
||||
Name string `json:"name"`
|
||||
Scm string `json:"scm"`
|
||||
IsPrivate bool `json:"is_private"`
|
||||
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"`
|
||||
}
|
||||
|
||||
// Issue is the common Bitbucket Issue Entity
|
||||
// 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 Content `json:"content"`
|
||||
Priority string `json:"priority"`
|
||||
State string `json:"state"`
|
||||
Type string `json:"type"`
|
||||
Milestone Milestone `json:"milestone"`
|
||||
Version Version `json:"version"`
|
||||
CreatedOn time.Time `json:"created_on"`
|
||||
UpdatedOn time.Time `json:"updated_on"`
|
||||
Links LinksHTMLSelf `json:"links"`
|
||||
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 Entity
|
||||
// Comment is the common Bitbucket Comment Sub Entity
|
||||
type Comment struct {
|
||||
ID int64 `json:"id"`
|
||||
Parent ParentID `json:"parent"`
|
||||
Content Content `json:"content"`
|
||||
Inline Inline `json:"inline"`
|
||||
CreatedOn time.Time `json:"created_on"`
|
||||
UpdatedOn time.Time `json:"updated_on"`
|
||||
Links LinksHTMLSelf `json:"links"`
|
||||
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 PullRequest Entity
|
||||
// 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 User `json:"author"`
|
||||
Source Source `json:"source"`
|
||||
Destination Destination `json:"destination"`
|
||||
MergeCommit CommitHash `json:"merge_commit"`
|
||||
Participants []User `json:"participants"`
|
||||
Reviewers []User `json:"reviewers"`
|
||||
CloseSourceBranch bool `json:"close_source_branch"`
|
||||
ClosedBy User `json:"closed_by"`
|
||||
Reason string `json:"reason"`
|
||||
CreatedOn time.Time `json:"created_on"`
|
||||
UpdatedOn time.Time `json:"updated_on"`
|
||||
Links LinksHTMLSelf `json:"links"`
|
||||
}
|
||||
|
||||
// Destination is the common Bitbucket Destination Sub Entity
|
||||
type Destination struct {
|
||||
Branch Branch `json:"branch"`
|
||||
Commit CommitHash `json:"commit"`
|
||||
Repository Repository `json:"repository"`
|
||||
}
|
||||
|
||||
// Source is the common Bitbucket Source Sub Entity
|
||||
type Source struct {
|
||||
Branch Branch `json:"branch"`
|
||||
Commit CommitHash `json:"commit"`
|
||||
Repository Repository `json:"repository"`
|
||||
}
|
||||
|
||||
// Branch is the common Bitbucket Branch Sub Entity
|
||||
type Branch struct {
|
||||
Name string `json:"name"`
|
||||
}
|
||||
|
||||
// CommitHash is the common Bitbucket CommitHash Sub Entity
|
||||
type CommitHash struct {
|
||||
Hash string `json:"hash"`
|
||||
}
|
||||
|
||||
// Inline is the common Bitbucket Inline Sub Entity
|
||||
type Inline struct {
|
||||
Path string `json:"path"`
|
||||
From *int64 `json:"from"`
|
||||
To int64 `json:"to"`
|
||||
}
|
||||
|
||||
// ParentID is the common Bitbucket ParentID Sub Entity
|
||||
type ParentID struct {
|
||||
ID int64 `json:"id"`
|
||||
}
|
||||
|
||||
// Avatar is the common Bitbucket Avatar Sub Entity
|
||||
type Avatar struct {
|
||||
HREF string `json:"href"`
|
||||
}
|
||||
|
||||
// HTML is the common Bitbucket HTML Sub Entity
|
||||
type HTML struct {
|
||||
HREF string `json:"href"`
|
||||
}
|
||||
|
||||
// Self is the common Bitbucket Self Sub Entity
|
||||
type Self struct {
|
||||
HREF string `json:"href"`
|
||||
}
|
||||
|
||||
// Diff is the common Bitbucket Diff Sub Entity
|
||||
type Diff struct {
|
||||
HREF string `json:"href"`
|
||||
}
|
||||
|
||||
// Commits is the common Bitbucket Commits Sub Entity
|
||||
type Commits struct {
|
||||
HREF string `json:"href"`
|
||||
}
|
||||
|
||||
// LinksSelfCommit is the common Bitbucket LinksSelfCommit Sub Entity
|
||||
type LinksSelfCommit struct {
|
||||
Self Self `json:"self"`
|
||||
Commit Commits `json:"commit"`
|
||||
}
|
||||
|
||||
// LinksHTMLSelfCommits is the common Bitbucket LinksHTMLSelfCommits Sub Entity
|
||||
type LinksHTMLSelfCommits struct {
|
||||
Self Self `json:"self"`
|
||||
Commits Commits `json:"commits"`
|
||||
HTML HTML `json:"html"`
|
||||
}
|
||||
|
||||
// LinksHTMLDiffCommits is the common Bitbucket LinksHTMLDiffCommits Sub Entity
|
||||
type LinksHTMLDiffCommits struct {
|
||||
HTML HTML `json:"html"`
|
||||
Diff Diff `json:"diff"`
|
||||
Commits Commits `json:"commits"`
|
||||
}
|
||||
|
||||
// Links is the common Bitbucket Links Sub Entity
|
||||
type Links struct {
|
||||
Avatar Avatar `json:"avatar"`
|
||||
HTML HTML `json:"html"`
|
||||
Self Self `json:"self"`
|
||||
}
|
||||
|
||||
// LinksHTMLSelf is the common Bitbucket LinksHTMLSelf Sub Entity
|
||||
type LinksHTMLSelf struct {
|
||||
HTML HTML `json:"html"`
|
||||
Self Self `json:"self"`
|
||||
}
|
||||
|
||||
// Content is the common Bitbucket Content Sub Entity
|
||||
type Content struct {
|
||||
HTML string `json:"html"`
|
||||
Markup string `json:"markup"`
|
||||
Raw string `json:"raw"`
|
||||
}
|
||||
|
||||
// Milestone is the common Bitbucket Milestone Sub Entity
|
||||
type Milestone struct {
|
||||
Name string `json:"name"`
|
||||
}
|
||||
|
||||
// Version is the common Bitbucket Version Sub Entity
|
||||
type Version struct {
|
||||
Name string `json:"name"`
|
||||
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"`
|
||||
}
|
||||
|
||||
@@ -33,7 +33,7 @@ func HandleRelease(payload interface{}, header webhooks.Header) {
|
||||
pl := payload.(github.ReleasePayload)
|
||||
|
||||
// only want to compile on full releases
|
||||
if pl.Release.Draft || pl.Release.Prelelease || pl.Release.TargetCommitish != "master" {
|
||||
if pl.Release.Draft || pl.Release.Prerelease || pl.Release.TargetCommitish != "master" {
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
+45
-45
@@ -54,15 +54,15 @@ type PushEventPayload struct {
|
||||
After string `json:"after"`
|
||||
Ref string `json:"ref"`
|
||||
CheckoutSHA string `json:"checkout_sha"`
|
||||
UserID int `json:"user_id"`
|
||||
UserID int64 `json:"user_id"`
|
||||
UserName string `json:"user_name"`
|
||||
UserEmail string `json:"user_email"`
|
||||
UserAvatar string `json:"user_avatar"`
|
||||
ProjectID int `json:"project_id"`
|
||||
ProjectID int64 `json:"project_id"`
|
||||
Project Project `json:"Project"`
|
||||
Repository Repository `json:"repository"`
|
||||
Commits []Commit `json:"commits"`
|
||||
TotalCommitsCount int `json:"total_commits_count"`
|
||||
TotalCommitsCount int64 `json:"total_commits_count"`
|
||||
}
|
||||
|
||||
// TagEventPayload contains the information for GitLab's tag push event
|
||||
@@ -72,14 +72,14 @@ type TagEventPayload struct {
|
||||
After string `json:"after"`
|
||||
Ref string `json:"ref"`
|
||||
CheckoutSHA string `json:"checkout_sha"`
|
||||
UserID int `json:"user_id"`
|
||||
UserID int64 `json:"user_id"`
|
||||
UserName string `json:"user_name"`
|
||||
UserAvatar string `json:"user_avatar"`
|
||||
ProjectID int `json:"project_id"`
|
||||
ProjectID int64 `json:"project_id"`
|
||||
Project Project `json:"Project"`
|
||||
Repository Repository `json:"repository"`
|
||||
Commits []Commit `json:"commits"`
|
||||
TotalCommitsCount int `json:"total_commits_count"`
|
||||
TotalCommitsCount int64 `json:"total_commits_count"`
|
||||
}
|
||||
|
||||
// WikiPageEventPayload contains the information for GitLab's wiki created/updated event
|
||||
@@ -105,7 +105,7 @@ type PipelineEventPayload struct {
|
||||
type CommentEventPayload struct {
|
||||
ObjectKind string `json:"object_kind"`
|
||||
User User `json:"user"`
|
||||
ProjectID int `json:"project_id"`
|
||||
ProjectID int64 `json:"project_id"`
|
||||
Project Project `json:"project"`
|
||||
Repository Repository `json:"repository"`
|
||||
ObjectAttributes ObjectAttributes `json:"object_attributes"`
|
||||
@@ -122,15 +122,15 @@ type BuildEventPayload struct {
|
||||
Tag bool `json:"tag"`
|
||||
BeforeSHA string `json:"before_sha"`
|
||||
SHA string `json:"sha"`
|
||||
BuildID int `json:"build_id"`
|
||||
BuildID int64 `json:"build_id"`
|
||||
BuildName string `json:"build_name"`
|
||||
BuildStage string `json:"build_stage"`
|
||||
BuildStatus string `json:"build_status"`
|
||||
BuildStartedAt customTime `json:"build_started_at"`
|
||||
BuildFinishedAt customTime `json:"build_finished_at"`
|
||||
BuildDuration int `json:"build_duration"`
|
||||
BuildDuration int64 `json:"build_duration"`
|
||||
BuildAllowFailure bool `json:"build_allow_failure"`
|
||||
ProjectID int `json:"project_id"`
|
||||
ProjectID int64 `json:"project_id"`
|
||||
ProjectName string `json:"project_name"`
|
||||
User User `json:"user"`
|
||||
Commit BuildCommit `json:"commit"`
|
||||
@@ -139,24 +139,24 @@ type BuildEventPayload struct {
|
||||
|
||||
// Issue contais all of the GitLab issue information
|
||||
type Issue struct {
|
||||
ID int `json:"id"`
|
||||
ID int64 `json:"id"`
|
||||
Title string `json:"title"`
|
||||
AssigneeID int `json:"assignee_id"`
|
||||
AuthorID int `json:"author_id"`
|
||||
ProjectID int `json:"project_id"`
|
||||
AssigneeID int64 `json:"assignee_id"`
|
||||
AuthorID int64 `json:"author_id"`
|
||||
ProjectID int64 `json:"project_id"`
|
||||
CreatedAt customTime `json:"created_at"`
|
||||
UpdatedAt customTime `json:"updated_at"`
|
||||
Position int `json:"position"`
|
||||
Position int64 `json:"position"`
|
||||
BranchName string `json:"branch_name"`
|
||||
Description string `json:"description"`
|
||||
MilestoneID int `json:"milestone_id"`
|
||||
MilestoneID int64 `json:"milestone_id"`
|
||||
State string `json:"state"`
|
||||
IID int `json:"iid"`
|
||||
IID int64 `json:"iid"`
|
||||
}
|
||||
|
||||
// Build contais all of the GitLab build information
|
||||
type Build struct {
|
||||
ID int `json:"id"`
|
||||
ID int64 `json:"id"`
|
||||
Stage string `json:"stage"`
|
||||
Name string `json:"name"`
|
||||
Status string `json:"status"`
|
||||
@@ -199,30 +199,30 @@ type Commit struct {
|
||||
|
||||
// BuildCommit contais all of the GitLab build commit information
|
||||
type BuildCommit struct {
|
||||
ID int `json:"id"`
|
||||
ID int64 `json:"id"`
|
||||
SHA string `json:"sha"`
|
||||
Message string `json:"message"`
|
||||
AuthorName string `json:"auuthor_name"`
|
||||
AuthorEmail string `json:"author_email"`
|
||||
Status string `json:"status"`
|
||||
Duration int `json:"duration"`
|
||||
Duration int64 `json:"duration"`
|
||||
StartedAt customTime `json:"started_at"`
|
||||
FinishedAt customTime `json:"finished_at"`
|
||||
}
|
||||
|
||||
// Snippet contais all of the GitLab snippet information
|
||||
type Snippet struct {
|
||||
ID int `json:"id"`
|
||||
ID int64 `json:"id"`
|
||||
Title string `json:"title"`
|
||||
Content string `json:"content"`
|
||||
AuthorID int `json:"author_id"`
|
||||
ProjectID int `json:"project_id"`
|
||||
AuthorID int64 `json:"author_id"`
|
||||
ProjectID int64 `json:"project_id"`
|
||||
CreatedAt customTime `json:"created_at"`
|
||||
UpdatedAt customTime `json:"updated_at"`
|
||||
FileName string `json:"file_name"`
|
||||
ExpiresAt customTime `json:"expires_at"`
|
||||
Type string `json:"type"`
|
||||
VisibilityLevel int `json:"visibility_level"`
|
||||
VisibilityLevel int64 `json:"visibility_level"`
|
||||
}
|
||||
|
||||
// User contais all of the GitLab user information
|
||||
@@ -241,7 +241,7 @@ type Project struct {
|
||||
GitSSSHURL string `json:"git_ssh_url"`
|
||||
GitHTTPURL string `json:"git_http_url"`
|
||||
Namespace string `json:"namespace"`
|
||||
VisibilityLevel int `json:"visibility_level"`
|
||||
VisibilityLevel int64 `json:"visibility_level"`
|
||||
PathWithNamespace string `json:"path_with_namespace"`
|
||||
DefaultBranch string `json:"default_branch"`
|
||||
Homepage string `json:"homepage"`
|
||||
@@ -260,25 +260,25 @@ type Repository struct {
|
||||
|
||||
// ObjectAttributes contais all of the GitLab object attributes information
|
||||
type ObjectAttributes struct {
|
||||
ID int `json:"id"`
|
||||
ID int64 `json:"id"`
|
||||
Title string `json:"title"`
|
||||
AssigneeID int `json:"assignee_id"`
|
||||
AuthorID int `json:"author_id"`
|
||||
ProjectID int `json:"project_id"`
|
||||
AssigneeID int64 `json:"assignee_id"`
|
||||
AuthorID int64 `json:"author_id"`
|
||||
ProjectID int64 `json:"project_id"`
|
||||
CreatedAt customTime `json:"created_at"`
|
||||
UpdatedAt customTime `json:"updated_at"`
|
||||
Position int `json:"position"`
|
||||
Position int64 `json:"position"`
|
||||
BranchName string `json:"branch_name"`
|
||||
Description string `json:"description"`
|
||||
MilestoneID int `json:"milestone_id"`
|
||||
MilestoneID int64 `json:"milestone_id"`
|
||||
State string `json:"state"`
|
||||
IID int `json:"iid"`
|
||||
IID int64 `json:"iid"`
|
||||
URL string `json:"url"`
|
||||
Action string `json:"action"`
|
||||
TargetBranch string `json:"target_branch"`
|
||||
SourceBranch string `json:"source_branch"`
|
||||
SourceProjectID int `json:"source_project_id"`
|
||||
TargetProjectID int `json:"target_project_id"`
|
||||
SourceProjectID int64 `json:"source_project_id"`
|
||||
TargetProjectID int64 `json:"target_project_id"`
|
||||
StCommits string `json:"st_commits"`
|
||||
MergeStatus string `json:"merge_status"`
|
||||
Content string `json:"content"`
|
||||
@@ -291,13 +291,13 @@ type ObjectAttributes struct {
|
||||
BeforeSHA string `json:"before_sha"`
|
||||
Status string `json:"status"`
|
||||
Stages []string `json:"stages"`
|
||||
Duration int `json:"duration"`
|
||||
Duration int64 `json:"duration"`
|
||||
Note string `json:"note"`
|
||||
NotebookType string `json:"noteable_type"`
|
||||
At customTime `json:"attachment"`
|
||||
LineCode string `json:"line_code"`
|
||||
CommitID string `json:"commit_id"`
|
||||
NoteableID int `json:"noteable_id"`
|
||||
NoteableID int64 `json:"noteable_id"`
|
||||
System bool `json:"system"`
|
||||
WorkInProgress bool `json:"work_in_progress"`
|
||||
StDiffs []StDiff `json:"st_diffs"`
|
||||
@@ -309,22 +309,22 @@ type ObjectAttributes struct {
|
||||
|
||||
// MergeRequest contais all of the GitLab merge request information
|
||||
type MergeRequest struct {
|
||||
ID int `json:"id"`
|
||||
ID int64 `json:"id"`
|
||||
TargetBranch string `json:"target_branch"`
|
||||
SourceBranch string `json:"source_branch"`
|
||||
SourceProjectID string `json:"source_project_id"`
|
||||
AssigneeID int `json:"assignee_id"`
|
||||
AuthorID int `json:"author_id"`
|
||||
AssigneeID int64 `json:"assignee_id"`
|
||||
AuthorID int64 `json:"author_id"`
|
||||
Title string `json:"title"`
|
||||
CreatedAt customTime `json:"created_at"`
|
||||
UpdatedAt customTime `json:"updated_at"`
|
||||
MilestoneID int `json:"milestone_id"`
|
||||
MilestoneID int64 `json:"milestone_id"`
|
||||
State string `json:"state"`
|
||||
MergeStatus string `json:"merge_status"`
|
||||
TargetProjectID int `json:"target_project_id"`
|
||||
IID int `json:"iid"`
|
||||
TargetProjectID int64 `json:"target_project_id"`
|
||||
IID int64 `json:"iid"`
|
||||
Description string `json:"description"`
|
||||
Position int `json:"position"`
|
||||
Position int64 `json:"position"`
|
||||
LockedAt customTime `json:"locked_at"`
|
||||
Source Source `json:"source"`
|
||||
Target Target `json:"target"`
|
||||
@@ -361,7 +361,7 @@ type Source struct {
|
||||
GitSSHURL string `json:"git_ssh_url"`
|
||||
GitHTTPURL string `json:"git_http_url"`
|
||||
Namespace string `json:"namespace"`
|
||||
VisibilityLevel int `json:"visibility_level"`
|
||||
VisibilityLevel int64 `json:"visibility_level"`
|
||||
PathWithNamespace string `json:"path_with_namespace"`
|
||||
DefaultBranch string `json:"default_branch"`
|
||||
Homepage string `json:"homepage"`
|
||||
@@ -379,7 +379,7 @@ type Target struct {
|
||||
GitSSHURL string `json:"git_ssh_url"`
|
||||
GitHTTPURL string `json:"git_http_url"`
|
||||
Namespace string `json:"namespace"`
|
||||
VisibilityLevel int `json:"visibility_level"`
|
||||
VisibilityLevel int64 `json:"visibility_level"`
|
||||
PathWithNamespace string `json:"path_with_namespace"`
|
||||
DefaultBranch string `json:"default_branch"`
|
||||
Homepage string `json:"homepage"`
|
||||
|
||||
Reference in New Issue
Block a user