1

我正在Release使用 github 的octokitAPI 创建。创建发布方法创建发布并创建相应的标签。

我还想创建额外的标签。所以使用这里的例子我试图创建一个标签。我假设当 GitHubClient 创建发布时,它也必须提交更改。但是我不确定如何获取发布提交的 SHA,以便我可以使用该 SHA 创建额外的标签?

这是我当前的代码:

var client = new GitHubClient(new ProductHeaderValue(Constants.ProductHeader));
var tokenAuth = new Credentials(options.AccessToken);
client.Credentials = tokenAuth;

var newRelease = new NewRelease(options.Version)
{
    Name = options.Version,
    Body = "This is test release",
    Draft = false,
    Prerelease = false
};            

var result = await client.Repository.Release.Create(Constants.Owner, repositoryName, newRelease);

??? How do i get `sha` here for the release 

var tag = "AdditionalTag"

var newTag = new NewTag()
{
    Message = tag,
    Tag = tag,
    Type = TaggedType.Tag,
    Object = ???
};

await client.Git.Tag.Create(Constants.Owner, repositoryName, newTag);

这会引发异常“验证失败”,因为我没有设置SHA.

问题

  1. 如何计算SHAgit 对象的值?

  2. octokit也有TagsClient课。TagsClient和 和有什么不一样GitHubClient

4

0 回答 0