public RootViewModel() { Config = ConfigSerializer.GetConfig(); UpdateAppearance(); dispatcher = Dispatcher.CurrentDispatcher; FarmIntegrator.Start(FarmRefreshed); UpdateCommand = DelegateCommandFactory.Create(PerformUpdate, CanPerformUpdate); SettingsCommand = DelegateCommandFactory.Create(ShowSettings, CanShowSettings); ShowLogCommand = DelegateCommandFactory.Create(PerformShowLog); LoadTestLogCommand = DelegateCommandFactory.Create(PerformLoadTestLog, CanPerformLoadTestLog); InitializeCommand = DelegateCommandFactory.Create(PerformInitialize, CanPerformInitialize); ActivateCommand = DelegateCommandFactory.Create(PerformActivate, CanPerformActivate); LogViewModel = new LoggingViewModel(); Version = $"Git tools {VersionInfo.Version}"; }
public void UpdateWebHook() { if (!SupportsTesting) { return; } var sourceProject = gitLabWrapper.GetProject(MergeRequest.MergeRequest.SourceProjectId); var webHook = gitLabWrapper.FindProjectHook(sourceProject, x => WebHookHelper.IsSharedHook(WebHook, x.Url)); if (webHook != null && WebHookHelper.EnsureWebHook(webHook)) { return; } var webHookTask = WebHookTask; var webHookPath = WebHook; if (string.IsNullOrEmpty(webHookTask) || string.IsNullOrEmpty(webHookPath)) { return; } var farmStatus = FarmIntegrator.GetExtendedTaskStatus(webHookTask); if (farmStatus == null) { return; } var url = new Uri(WebHookHelper.GetSharedHookUrl(IPAddress.Parse(farmStatus.HyperHost), webHookPath)); if (webHook == null) { gitLabWrapper.CreateProjectHook(sourceProject, url, true, true, true); } else { gitLabWrapper.UpdateProjectHook(sourceProject, webHook, url, true, true, true); } }
public void RefreshFarm() { FarmStatus = FarmIntegrator.GetTaskStatus(Repository.RepoConfig.FarmSyncTaskName); }
public void ForceBuild() { FarmIntegrator.ForceBuild(RepoConfig.FarmSyncTaskName); }
void PerformForceBuild() { FarmIntegrator.ForceBuild(Branch.Repository.RepoConfig.FarmSyncTaskName); }