我正在使用github的Release
API创建octokit
。创建发布方法可以创建发布,还可以创建相应的标签。
我还想创建其他标签。因此,使用示例here,我试图创建一个标签。 我假设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
。
问题
如何计算git对象的SHA
?
octokit
也具有TagsClient
类。 TagsClient
和GitHubClient
有什么区别?