github.com/crosbymichael/octokat@v0.0.0-20160826194511-076a32289ed5/commits.go (about) 1 package octokat 2 3 import ( 4 "fmt" 5 "time" 6 ) 7 8 type CommitFile struct { 9 Additions int `json:"additions,omitempty"` 10 BlobURL string `json:"blob_url,omitempty"` 11 Changes int `json:"changes,omitempty"` 12 ContentsURL string `json:"contents_url,omitempty"` 13 Deletions int `json:"deletions,omitempty"` 14 Filename string `json:"filename,omitempty"` 15 Patch string `json:"patch,omitempty"` 16 RawURL string `json:"raw_url,omitempty"` 17 Sha string `json:"sha,omitempty"` 18 Status string `json:"status,omitempty"` 19 } 20 21 type CommitStats struct { 22 Additions int `json:"additions,omitempty"` 23 Deletions int `json:"deletions,omitempty"` 24 Total int `json:"total,omitempty"` 25 } 26 27 type CommitCommit struct { 28 Author struct { 29 Date *time.Time `json:"date,omitempty"` 30 Email string `json:"email,omitempty"` 31 Name string `json:"name,omitempty"` 32 } `json:"author,omitempty"` 33 CommentCount int `json:"comment_count,omitempty"` 34 Committer struct { 35 Date *time.Time `json:"date,omitempty"` 36 Email string `json:"email,omitempty"` 37 Name string `json:"name,omitempty"` 38 } `json:"committer,omitempty"` 39 Message string `json:"message,omitempty"` 40 Tree struct { 41 Sha string `json:"sha,omitempty"` 42 URL string `json:"url,omitempty"` 43 } `json:"tree,omitempty"` 44 URL string `json:"url,omitempty"` 45 } 46 47 type Commit struct { 48 Label string `json:"label,omitempty"` 49 Ref string `json:"ref,omitempty"` 50 User User `json:"user,omitempty"` 51 Repo Repository `json:"repo,omitempty"` 52 CommentsURL string `json:"comments_url,omitempty"` 53 Commit *CommitCommit `json:"commit,omitempty"` 54 Files []CommitFile `json:"files,omitempty"` 55 HtmlURL string `json:"html_url,omitempty"` 56 Parents []Commit `json:"parents,omitempty"` 57 Sha string `json:"sha,omitempty"` 58 Stats CommitStats `json:"stats,omitempty"` 59 URL string `json:"url,omitempty"` 60 } 61 62 func (c *Client) Commits(repo Repo, number string, options *Options) (commits []Commit, err error) { 63 path := fmt.Sprintf("repos/%s/pulls/%s/commits", repo, number) 64 err = c.jsonGet(path, options, &commits) 65 return 66 } 67 68 func (c *Client) Commit(repo Repo, ref string, options *Options) (commit Commit, err error) { 69 path := fmt.Sprintf("repos/%s/commits/%s", repo, ref) 70 err = c.jsonGet(path, options, &commit) 71 return 72 }