Комбинация параметров либо недопустима, либо не завершена. \ R \ nИмя параметра: tagObject VSTS Git API - PullRequest
1 голос
/ 06 ноября 2019

Я пытаюсь прикрепить тег к существующему коммиту, используя GitHttpClient CreateAnnotatedTagAsync метод (Microsoft.TeamFoundation.SourceControl.WebApi). Но каждый раз я получаю сообщение об ошибке:

Комбинация параметров либо недопустима, либо не завершена. \ R \ nИмя параметра: tagObject

Часть кода для добавленияаннотированный тег.

GitObject gitObject = new GitObject { ObjectId = commitId, ObjectType = GitObjectType.Commit };
GitAnnotatedTag tagObj = new GitAnnotatedTag
{
    Name = tagName.Replace(' ', '_'),
    TaggedObject = gitObject,
    TaggedBy = new GitUserDate
    {
        Name = "FirstName LastName",
        Email = "someemail@smth.com",
        Date = DateTime.Now
    },
    Message = tagComment        
};

GitAnnotatedTag res = gitClient.CreateAnnotatedTagAsync(tagObj, projectName, new Guid(repositoryId)).Result;

Примеры объектов тега, которые я пытался отправить:

TagObject example 1

TagObject example 2

Любая помощь будет оценена.

1 Ответ

0 голосов
/ 14 ноября 2019

Так что я просто использовал API для создания тегов:

GitAnnotatedTag tag = null;

        try
        {
            var tagObject = new { Name = tagName.Replace(' ', '_'), Message = tagComment, TaggedObjectId = commitId };
            StringContent stringContent = new StringContent(JsonConvert.SerializeObject(tagObject),
                Encoding.UTF8,
                "application/json");
            client.DefaultRequestHeaders.Add("Accept", "application/json; charset=utf-8; api-version=3.2-preview.1");

            using (HttpResponseMessage response = client.PostAsync(string.Format(createTagUrl, projectId, repositoryId), stringContent).Result)
            {
                response.EnsureSuccessStatusCode();
                string responseBody = await response.Content.ReadAsStringAsync();                    
                tag = JsonConvert.DeserializeObject<GitAnnotatedTag>(responseBody);
            }
        }
        catch (Exception ex)
        {
            // Add some error handling here
        }

        return tag;
...