public async Task <JenkinsView> GetViewAsync(IJenkins jenkinsPlugin) { const string api = "api/json"; using (var jenkinsRequest = new JenkinsRequest(jenkinsPlugin)) { return(await jenkinsRequest.GetAsync <JenkinsView>(jenkinsPlugin, api).ConfigureAwait(false)); } }
public async Task <JenkinsJob> GetJobAsync(IJenkins jenkinsPlugin) { const string api = "lastBuild/api/json?tree=result,building,executor[progress]"; using (var jenkinsRequest = new JenkinsRequest(jenkinsPlugin)) { return(await jenkinsRequest.GetAsync <JenkinsJob>(jenkinsPlugin, api).ConfigureAwait(false)); } }
public async Task TriggerJobAsync(JenkinsJob_v1 jenkinsPlugin) { var api = jenkinsPlugin.IsParameterized ? BuildWithParametersApi(jenkinsPlugin) : "build?token=" + jenkinsPlugin.ApiToken; var crumb = jenkinsPlugin.CSRF ? await IssueCrumbAsync(jenkinsPlugin).ConfigureAwait(false) : null; using (var jenkinsRequest = new JenkinsRequest(jenkinsPlugin)) { await jenkinsRequest.PostAsync(jenkinsPlugin, api, false, crumb).ConfigureAwait(false); } }
private async Task <JenkinsCrumb> IssueCrumbAsync(IJenkins jenkinsPlugin) { const string api = "crumbIssuer/api/json"; try { using (var jenkinsRequest = new JenkinsRequest(jenkinsPlugin)) { var crumb = await jenkinsRequest.GetAsync <JenkinsCrumb>(jenkinsPlugin, api, true).ConfigureAwait(false); if (!crumb.IsValid()) { _logger.Info("Jenkins server did not return a valid crumb. Make sure your user name and API token are correct."); } return(crumb); } } catch (Exception ex) { throw new Exception("Jenkins: An error occurred while requesting crumb. Try to enable or disable CSRF in the properties window.", ex); } }