Example #1
0
        public void GetProject(string baseUrl, string authToken, string ownerName, string projectName, Action <TravisCiBuildDefinition> getProjectComplete, Action <Exception> getProjectError)
        {
            WebClient webClient  = new WebClient();
            var       travisUrl  = GetUrl(baseUrl, ownerName, projectName);
            var       projectUrl = new Uri(travisUrl);

            webClient.DownloadStringCompleted += (s, e) =>
            {
                if (e.Error != null)
                {
                    getProjectError(e.Error);
                    return;
                }
                try
                {
                    getProjectComplete(TravisCiBuildDefinition.FromJson(e.Result));
                }
                catch (Exception ex)
                {
                    getProjectError(ex);
                }
            };
            AddTravisHeaders(webClient, authToken);
            webClient.DownloadStringAsync(projectUrl);
        }
Example #2
0
        private TravisCiBuildStatus GetBuildStatus(BuildDefinitionSetting buildDefinitionSetting)
        {
            var webClient          = new WebClient();
            var travisBuildDef     = TravisCiBuildDefinition.FromIdString(buildDefinitionSetting.Id);
            var buildDefinitionUrl = "https://api.travis-ci.org/repositories/" + travisBuildDef.OwnerName + "/" + travisBuildDef.ProjectName + ".json";

            try
            {
                var json        = webClient.DownloadString(buildDefinitionUrl);
                var lastBuildId = GetJsonValue(json, "last_build_id");
                var buildUrl    = "https://api.travis-ci.org/builds/" + lastBuildId + ".json";
                json = webClient.DownloadString(buildUrl);
                return(new TravisCiBuildStatus(travisBuildDef, json, buildDefinitionSetting));
            }
            catch (WebException webException)
            {
                throw WebClientXml.ToServerUnavailableException(buildDefinitionUrl, webException);
            }
        }
 public TravisCiBuildStatus(TravisCiBuildDefinition travisCiBuildDefinition, string jsonDoc, BuildDefinitionSetting buildDefinitionSetting)
 {
     try
     {
         BuildStatusEnum = ToBuildStatusEnum(TravisCiService.GetJsonValue(jsonDoc, "result"));
         BuildDefinitionId = buildDefinitionSetting.Id;
         Name = buildDefinitionSetting.Name;
         RequestedBy = TravisCiService.GetJsonValue(jsonDoc, "author_name");
         StartedTime = TravisCiService.GetJsonDate(jsonDoc, "started_at");
         Comment = TravisCiService.GetJsonValue(jsonDoc, "message");
         FinishedTime = TravisCiService.GetJsonDate(jsonDoc, "finished_at");
         Url = "http://travis-ci.org/" + travisCiBuildDefinition.OwnerName + "/" + travisCiBuildDefinition.ProjectName + "/builds/" + TravisCiService.GetJsonValue(jsonDoc, "id");
         BuildId = TravisCiService.GetJsonValue(jsonDoc, "id");
     }
     catch (Exception)
     {
         _log.Error("Error parsing the following json: " + jsonDoc);
         throw;
     }
 }
 public TravisCiBuildStatus(TravisCiBuildDefinition travisCiBuildDefinition, string jsonDoc, BuildDefinitionSetting buildDefinitionSetting)
 {
     try
     {
         BuildStatusEnum   = ToBuildStatusEnum(TravisCiService.GetJsonValue(jsonDoc, "result"));
         BuildDefinitionId = buildDefinitionSetting.Id;
         Name         = buildDefinitionSetting.Name;
         RequestedBy  = TravisCiService.GetJsonValue(jsonDoc, "author_name");
         StartedTime  = TravisCiService.GetJsonDate(jsonDoc, "started_at");
         Comment      = TravisCiService.GetJsonValue(jsonDoc, "message");
         FinishedTime = TravisCiService.GetJsonDate(jsonDoc, "finished_at");
         Url          = "http://travis-ci.org/" + travisCiBuildDefinition.OwnerName + "/" + travisCiBuildDefinition.ProjectName + "/builds/" + TravisCiService.GetJsonValue(jsonDoc, "id");
         BuildId      = TravisCiService.GetJsonValue(jsonDoc, "id");
     }
     catch (Exception)
     {
         _log.Error("Error parsing the following json: " + jsonDoc);
         throw;
     }
 }
Example #5
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);
            }
        }