diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/jenkins.rs | 20 | 
1 files changed, 20 insertions, 0 deletions
| diff --git a/src/jenkins.rs b/src/jenkins.rs index 1879574..ff15428 100644 --- a/src/jenkins.rs +++ b/src/jenkins.rs @@ -101,6 +101,26 @@ pub fn get_jobs(repo_name: String) -> Vec<String> {          .collect::<Vec<String>>()  } +pub fn request_job(url: String) -> Job { +    let client = reqwest::Client::new(); + +    let credentials = auth_credentials(); + +    let mut response = client.get(&format!("{}/api/json", url)) +        .header(Authorization(credentials)) +        .send() +        .unwrap(); + +    let body = response.text().unwrap(); + +    let mut job = json::parse(body.as_ref()).unwrap(); + +    Job { +        display_name: job["displayName"].take_string().unwrap(), +        result: result_from_job(job["result"].take_string()), +    } +} +  // Does the `commit_ref` correspond to the job?  pub fn job_for_commit(job: Job, commit_ref: CommitRef) -> bool {      job.display_name == af83::job_name(commit_ref) | 
