Ejemplo n.º 1
0
        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;
            }
        }
Ejemplo n.º 2
0
        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);
            }
        }
Ejemplo n.º 3
0
 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();
 }
Ejemplo n.º 4
0
 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;
 }
Ejemplo n.º 5
0
 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();
 }
Ejemplo n.º 6
0
 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();
     }
 }
Ejemplo n.º 7
0
 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();
     }
 }
Ejemplo n.º 8
0
 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();
     }
 }
Ejemplo n.º 9
0
        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;
            }
        }
Ejemplo n.º 10
0
        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);
            }
        }
Ejemplo n.º 11
0
 public TfsConnectionDetails(CiEntryPointSetting ciEntryPointSetting)
 {
     BaseUrl  = ciEntryPointSetting.Url;
     Username = ciEntryPointSetting.UserName;
     Password = ciEntryPointSetting.GetPassword();
 }
Ejemplo n.º 12
0
 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);
     }
 }