我正在Release
使用 github 的octokit
API 创建。创建发布方法创建发布并创建相应的标签。
我还想创建额外的标签。所以使用这里的例子我试图创建一个标签。我假设当 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
.
问题
如何计算
SHA
git 对象的值?octokit
也有TagsClient
课。TagsClient
和 和有什么不一样GitHubClient
?