Спасибо за подробное выражение в комментарии.
Фактически, вы можете обратиться к соответствующему документу Rest api , чтобы узнать больше о GitStatus Class . Это GitStatus
доступно только под commit
.
Да, мы можем дать тело для GitStatus
как
_status = new GitStatus()
{
Context = new GitStatusContext() { Genre = _genre, Name = branch.DisplayName }
};
Но, как я знаю, здесь вам также нужно указать одноНеобходимое свойство в теле: State
. Обычно мы определяем его как:
GitStatusState state
Итак, здесь базовая структура должна выглядеть так (я только что написал простой пример):
public static GitStatus GetTestGitStatus(GitStatusState state){
GitStatus myStatus = new GitStatus();
myStatus.Context = GetTestStatusContext(name, genre);//Context
myStatus.State = state;//State
}
Чтобы указать значение для State,Вы также можете напрямую использовать
State = GitStatusState.Succeeded, // GitStatusState.{xxxx}
Поскольку вы упомянули в комментарии: , может ли оно использоваться в личных целях и быть переопределено другими .
Конечно, да, его можно использовать по индивидуальному заказу. Вы можете определить любую вещь с этим синтаксисом. Примечание: Существует одно ограничение: для значения State
вы должны использовать то, которое перечислено здесь .
Для Status
просто считайте его массивом. Это означает, что он не будет переопределен после того, как вы указали в нем одно настроенное содержимое статуса. Если здесь есть одно новое обновление статуса, оно будет по очереди сохранено в этот «массив», и новое место хранения статуса всегда будет array[0]
.
Итак, если вы хотите использовать его как , сообщая другому инструменту, что автоматическое объединение активно или нет для определенной ветви , вам нужно беспокоиться о том, что новый статус, созданный другими системными действиямибудет охватывать местоположение того, который вы создали ранее. Я предлагаю вам лучше сохранить status id
после его создания в качестве идентификатора других инструментов, чтобы узнать соответствующий статус.
Обновление: Здесь другие действия не ограничиваются толькоВаше настраиваемое действие, оно также включает некоторые системные действия, включая сборки, тесты, коммиты и т. д.