Как создать тег GitHub с помощью API octokit. net - PullRequest
0 голосов
/ 07 января 2020

Я создаю Release, используя github's octokit API. Метод create release создает release, а также создает соответствующий тег.

Я также хочу создать дополнительный тег. Итак, используя пример здесь я пытаюсь создать тег. Я предполагаю, что когда 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. Как рассчитать SHA объекта git?

  2. Класс octokit также имеет класс TagsClient. В чем разница между TagsClient и GitHubClient?

...