Octokit Octokit.Reactive Octokit System.Threading.Tasks async Task Main(string[] args) { var owner = string.Empty; var reponame = string.Empty; GitHubClient client = new GitHubClient(new Octokit.ProductHeaderValue("Octokit.samples")); owner = "octokit"; reponame = "octokit.net"; var releases = await client.Repository.Release.GetAll(owner, reponame); // we have to build up this tag because release tags // are just lightweight tags. you can read more about // the differences between lightweight tags and annotated tags // here: http://git-scm.com/book/en/Git-Basics-Tagging#Creating-Tags // we can fetch the tag for this release var reference = "tags/" + releases[0].TagName; var tag = await client.Git.Reference.Get(owner, reponame, reference); tag.Dump(); // and we can fetch the commit associated with this release var commit = await client.Git.Commit.Get(owner, reponame, tag.Object.Sha); commit.Dump(); }