protected override IList <BuildStatus> GetBuildStatus() { CiEntryPointSetting ciEntryPointSetting = CiEntryPointSetting; var watchedBuildDefinitions = GetAllWatchedBuildDefinitions().ToArray(); if (string.IsNullOrEmpty(ciEntryPointSetting.Url)) { throw new SosException("Buildbot URL is null or empty"); } try { return(_service.GetBuildsStatuses(ciEntryPointSetting.Url, ciEntryPointSetting.UserName, ciEntryPointSetting.GetPassword(), watchedBuildDefinitions) .Cast <BuildStatus>().ToList()); } catch (WebException ex) { if ( ex.Message.StartsWith("The remote name could not be resolved:") || ex.Message.Contains("Unable to connect to the remote server") ) { throw new ServerUnavailableException(); } throw; } }
private AppVeyorBuildStatus GetBuildStatus(BuildDefinitionSetting buildDefinitionSetting, CiEntryPointSetting ciEntryPointSetting) { var token = ciEntryPointSetting.GetPassword(); var projectInfo = AppVeyorBuildDefinition.FromId(buildDefinitionSetting.Id); var serviceClient = CreateClient(ciEntryPointSetting.Url, token); var request = new GetProjectLastBuild { AccountName = projectInfo.AccountName, ProjectSlug = projectInfo.Slug }; try { var response = serviceClient.Get(request); if (response.Build == null) { throw new BuildDefinitionNotFoundException(buildDefinitionSetting); } return(new AppVeyorBuildStatus(CreateProjectUrl(projectInfo), response.Project, response.Build, buildDefinitionSetting)); } catch (WebServiceException) { throw new BuildDefinitionNotFoundException(buildDefinitionSetting); } }
public ConfigureAppVeyor(SirenOfShameSettings sosSettings, AppVeyorCiEntryPoint appVeyorCiEntryPoint, CiEntryPointSetting ciEntryPointSetting) : base(sosSettings) { _appVeyorCiEntryPoint = appVeyorCiEntryPoint; InitializeComponent(); _ciEntryPointSetting = ciEntryPointSetting; _url.Text = _ciEntryPointSetting.Url ?? APP_VEYOR_API_BASE_URL; _password.Text = _ciEntryPointSetting.GetPassword(); }
public ConfigureTeamCity(SirenOfShameSettings sosSettings, TeamCityCiEntryPoint teamCityCiEntryPoint, CiEntryPointSetting ciEntryPointSetting) : base(sosSettings) { _teamCityCiEntryPoint = teamCityCiEntryPoint; InitializeComponent(); _ciEntryPointSetting = ciEntryPointSetting; _url.Text = _ciEntryPointSetting.Url; _userName.Text = _ciEntryPointSetting.UserName; _password.Text = _ciEntryPointSetting.GetPassword(); Load += OnLoad; }
public ConfigureTfs(SirenOfShameSettings settings, TfsCiEntryPoint tfsCiEntryPoint, CiEntryPointSetting ciEntryPointSetting) : base(settings) { _tfsCiEntryPoint = tfsCiEntryPoint; InitializeComponent(); _ciEntryPointSetting = ciEntryPointSetting; _url.Text = _ciEntryPointSetting.Url; someoneElse.Checked = !string.IsNullOrEmpty(_ciEntryPointSetting.UserName); username.Text = _ciEntryPointSetting.UserName; password.Text = _ciEntryPointSetting.GetPassword(); DataBindAsync(); }
public ConfigureBuildBot(SirenOfShameSettings sosSettings, BuildBotCIEntryPoint BuildBotCiEntryPoint, CiEntryPointSetting ciEntryPointSetting) : base(sosSettings) { _BuildBotCiEntryPoint = BuildBotCiEntryPoint; InitializeComponent(); _ciEntryPointSetting = ciEntryPointSetting; _url.Text = _ciEntryPointSetting.Url; _userName.Text = _ciEntryPointSetting.UserName; _password.Text = _ciEntryPointSetting.GetPassword(); if (!string.IsNullOrEmpty(_url.Text)) { ReloadProjects(); } }
public ConfigureHudson(SirenOfShameSettings sosSettings, HudsonCIEntryPoint hudsonCiEntryPoint, CiEntryPointSetting ciEntryPointSetting) : base(sosSettings) { _hudsonCiEntryPoint = hudsonCiEntryPoint; InitializeComponent(); _ciEntryPointSetting = ciEntryPointSetting; _url.Text = _ciEntryPointSetting.Url; _userName.Text = _ciEntryPointSetting.UserName; _password.Text = _ciEntryPointSetting.GetPassword(); _treatUnstableAsSuccess.Checked = _ciEntryPointSetting.TreatUnstableAsSuccess; if (!string.IsNullOrEmpty(_url.Text)) { ReloadProjects(); } }
public ConfigureTfsRest(SirenOfShameSettings sosSettings, TfsRestCiEntryPoint ciEntryPoint, CiEntryPointSetting ciEntryPointSetting) : base(sosSettings) { _ciEntryPoint = ciEntryPoint; _ciEntryPointSetting = ciEntryPointSetting; InitializeComponent(); _url.Text = _ciEntryPointSetting.Url; _userName.Text = _ciEntryPointSetting.UserName; _password.Text = _ciEntryPointSetting.GetPassword(); _collection.Text = _ciEntryPointSetting.CollectionName; if (!string.IsNullOrEmpty(_url.Text)) { ReloadProjects(); } }
private HudsonBuildStatus GetBuildStatus(BuildDefinitionSetting buildDefinitionSetting, CiEntryPointSetting ciEntryPointSetting) { string userName = ciEntryPointSetting.UserName; string password = ciEntryPointSetting.GetPassword(); var rootUrl = GetRootUrl(ciEntryPointSetting.Url); var treatUnstableAsSuccess = ciEntryPointSetting.TreatUnstableAsSuccess; string url = rootUrl + "/job/" + buildDefinitionSetting.Id + "/api/xml"; try { XDocument doc = DownloadXml(url, userName, password); if (doc.Root == null) { return(new HudsonBuildStatus(null, buildDefinitionSetting, "Could not get project status", treatUnstableAsSuccess)); } var lastBuildElem = doc.Root.Element("lastBuild"); if (lastBuildElem == null) { return(new HudsonBuildStatus(null, buildDefinitionSetting, "No project builds found", treatUnstableAsSuccess)); } var buildNumber = lastBuildElem.ElementValueOrDefault("number"); var buildUrl = rootUrl + "/job/" + buildDefinitionSetting.Id + "/" + buildNumber; if (string.IsNullOrWhiteSpace(buildUrl)) { throw new Exception("Could not get build url"); } buildUrl += "/api/xml"; doc = DownloadXml(buildUrl, userName, password); if (doc.Root == null) { throw new Exception("Could not get project build status"); } return(GetBuildStatusAndCommentsFromXDocument(buildDefinitionSetting, doc, treatUnstableAsSuccess)); } catch (SosException ex) { if (ex.Message.ToLower(CultureInfo.CurrentCulture).Contains("not_found")) { throw new BuildDefinitionNotFoundException(buildDefinitionSetting); } throw; } }
private TravisCiBuildStatus GetBuildStatus(CiEntryPointSetting ciEntryPointSetting, BuildDefinitionSetting buildDefinitionSetting) { var webClient = new WebClient(); var authToken = ciEntryPointSetting.GetPassword(); AddTravisHeaders(webClient, authToken); var travisBuildDef = TravisCiBuildDefinition.FromIdString(buildDefinitionSetting.Id); var buildDefinitionUrl = GetUrl(ciEntryPointSetting.Url, travisBuildDef.OwnerName, travisBuildDef.ProjectName); try { var json = webClient.DownloadString(buildDefinitionUrl); var lastBuildId = GetJsonValue(json, "last_build_id"); var buildUrl = string.Format("{0}builds/{1}", ciEntryPointSetting.Url, lastBuildId); json = webClient.DownloadString(buildUrl); return(new TravisCiBuildStatus(travisBuildDef, json, buildDefinitionSetting)); } catch (WebException webException) { throw WebClientXml.ToServerUnavailableException(buildDefinitionUrl, webException); } }
public TfsConnectionDetails(CiEntryPointSetting ciEntryPointSetting) { BaseUrl = ciEntryPointSetting.Url; Username = ciEntryPointSetting.UserName; Password = ciEntryPointSetting.GetPassword(); }
public MyTfsServer(CiEntryPointSetting ciEntryPointSetting) { try { _tfsConfigurationServer = GetTfsConfigurationServer(ciEntryPointSetting.Url, ciEntryPointSetting.UserName, ciEntryPointSetting.GetPassword()); _tfsConfigurationServer.EnsureAuthenticated(); } catch (TeamFoundationServiceUnavailableException ex) { _log.Debug(ex); throw new ServerUnavailableException(ex.Message, ex); } }