Which is the best way to get the latest commit information from a git repository using GitHub API (Rest API v3).
Option 1: GET /repos/:owner/:repo/commits/mast
It depends on your definition of "last".
for a given branch (like master), GET /repos/:owner/:repo/commits/master is indeed the last (most recent) commit.
But you can also consider the last push event: that would represent the last and most recent commit done (on any branch), pushed by a user to this repo.
You can also use Github GraphQL v4 to get the last commit of the default branch :
{
repository(name: "linux", owner: "torvalds") {
defaultBranchRef {
target {
... on Commit {
history(first: 1) {
nodes {
message
committedDate
authoredDate
oid
author {
email
name
}
}
}
}
}
}
}
}
Or for all branches :
{
repository(name: "material-ui", owner: "mui-org") {
refs(first: 100, refPrefix: "refs/heads/") {
edges {
node {
name
target {
... on Commit {
history(first: 1) {
nodes {
message
committedDate
authoredDate
oid
author {
email
name
}
}
}
}
}
}
}
}
}
}
Try it in the explorer