github.com/keybase/client/go@v0.0.0-20240309051027-028f7c731f8b/release/github/commits.go (about) 1 // Copyright 2015 Keybase, Inc. All rights reserved. Use of 2 // this source code is governed by the included BSD license. 3 4 package github 5 6 import "fmt" 7 8 // Commit defines a git commit on Github 9 type Commit struct { 10 SHA string `json:"sha"` 11 } 12 13 const ( 14 commitListPath = "/repos/%s/%s/commits" 15 ) 16 17 // Commits lists commits from Github repo 18 func Commits(user, repo, token string) ([]Commit, error) { 19 url, err := githubURL(githubAPIURL) 20 if err != nil { 21 return nil, err 22 } 23 url.Path = fmt.Sprintf(commitListPath, user, repo) 24 var commits []Commit 25 if err = Get(token, url.String(), &commits); err != nil { 26 return nil, err 27 } 28 return commits, nil 29 }