public override Connector CreateNew(ConnectorConfiguration configuration, bool?checkRedirect = null) { log.Debug("Creating new JenkinsProject based on configuration {configuration}", new { configuration.Name, configuration.Identifier }); var jenkinsProject = new JenkinsConnector(configuration, new JenkinsApi()); if (checkRedirect == null) { return(jenkinsProject); } else if (checkRedirect == false) { return(jenkinsProject); } if (blueOceanCache.ContainsKey(jenkinsProject.Address)) { jenkinsProject.Configuration.GetConfigurationByKey("RedirectPlugin").Value = blueOceanCache[jenkinsProject.Address].ToString(); configuration.GetConfigurationByKey("RedirectPlugin").Value = blueOceanCache[jenkinsProject.Address].ToString(); return(jenkinsProject); } var task = Task.Run(async() => await jenkinsProject.IsReachableUrl(JenkinsApi.UrlHelper.ProjectUrl(jenkinsProject) + JenkinsApi.UrlHelper.RedirectPluginUrlSuffix)); task.Wait(); var result = task.Result; if (result == true) { jenkinsProject.Configuration.GetConfigurationByKey("RedirectPlugin").Value = "True"; configuration.GetConfigurationByKey("RedirectPlugin").Value = "True"; blueOceanCache.Add(jenkinsProject.Address, true); } else { blueOceanCache.Add(jenkinsProject.Address, false); } return(jenkinsProject); }