public virtual async Task<AppVeyorServiceResponse<Build>> StartBuild(string accountName, string projectSlug, string branchName) { var response = new AppVeyorServiceResponse<Build>(); try { Condition.Requires(accountName, "accountName").IsNotNullOrEmpty(); Condition.Requires(projectSlug, "projectSlug").IsNotNullOrEmpty(); Condition.Requires(branchName, "branchName").IsNotNullOrEmpty(); var request = new RestRequest("builds", Method.POST); request.AddJsonBody(new { accountName, projectSlug, branch = branchName }); var build = await ExecuteAsync<Build>(request); response.Result = build; } catch (Exception exception) { response.Exception = exception; response.HasError = true; } return response; }
private void ValidateResponseAndRefresh <T>(AppVeyorServiceResponse <T> response) { if (!response.HasError) { Initialize(); return; } AddAlert(response.Exception, response.Exception.Message); }
public async Task<AppVeyorServiceResponse<HttpStatusCode>> CancelBuild(Project project) { AppVeyorServiceResponse<HttpStatusCode> appVeyorServiceResponse; var buildVerionString = project.ToBuildVerionString(); if (!string.IsNullOrEmpty(buildVerionString)) { appVeyorServiceResponse = await _appVeyorService.ProjectApi.CancelBuild(project.AccountName, project.Slug, buildVerionString); } else { appVeyorServiceResponse = new AppVeyorServiceResponse<HttpStatusCode>(); appVeyorServiceResponse.Exception = new AppVeyorException("Unable to parse version from project."); appVeyorServiceResponse.HasError = true; } return appVeyorServiceResponse; }
public async Task <AppVeyorServiceResponse <HttpStatusCode> > CancelBuild(Project project) { AppVeyorServiceResponse <HttpStatusCode> appVeyorServiceResponse; var buildVerionString = project.ToBuildVerionString(); if (!string.IsNullOrEmpty(buildVerionString)) { appVeyorServiceResponse = await _appVeyorService.ProjectApi.CancelBuild(project.AccountName, project.Slug, buildVerionString); } else { appVeyorServiceResponse = new AppVeyorServiceResponse <HttpStatusCode>(); appVeyorServiceResponse.Exception = new AppVeyorException("Unable to parse version from project."); appVeyorServiceResponse.HasError = true; } return(appVeyorServiceResponse); }
public async Task<AppVeyorServiceResponse<List<Project>>> GetProjectsAsync() { var request = new RestRequest("projects", Method.GET); var response = new AppVeyorServiceResponse<List<Project>>(); try { var projects = await ExecuteAsync<List<Project>>(request); response.Result = projects; } catch (Exception exception) { response.Exception = exception; response.HasError = true; } return response; }
public async Task<AppVeyorServiceResponse<HttpStatusCode>> CancelBuild(string accountName, string projectSlug, string buildVersion) { var response = new AppVeyorServiceResponse<HttpStatusCode>(); try { Condition.Requires(accountName, "accountName").IsNotNullOrEmpty(); Condition.Requires(projectSlug, "projectSlug").IsNotNullOrEmpty(); Condition.Requires(buildVersion, "buildVersion").IsNotNullOrEmpty(); var request = new RestRequest("builds/{accountName}/{projectSlug}/{buildVersion}", Method.DELETE); request.AddUrlSegment("accountName", accountName); request.AddUrlSegment("projectSlug", projectSlug); request.AddUrlSegment("buildVersion", buildVersion); var stopResult = await ExecuteAsync<HttpStatusCode>(request); response.Result = stopResult; } catch (Exception exception) { response.Exception = exception; response.HasError = true; } return response; }