From fe3401411a324a7777514f66b1e79a3331ed0690 Mon Sep 17 00:00:00 2001 From: Teddy Wing Date: Thu, 9 Nov 2017 01:28:14 +0100 Subject: jenkins.rs: Add `commit_status` method on `JobStatus` A new method that establishes correspondences between Jenkins statuses and GitHub statuses, so we can pass a GitHub `CommitStatus` to `update_commit_status` given a `Job`. --- src/jenkins.rs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/jenkins.rs b/src/jenkins.rs index 1e98a01..0992983 100644 --- a/src/jenkins.rs +++ b/src/jenkins.rs @@ -48,6 +48,17 @@ pub enum JobStatus { Unknown, } +impl JobStatus { + fn commit_status(&self) -> github::CommitStatus { + match *self { + JobStatus::Success => github::CommitStatus::Success, + JobStatus::Failure => github::CommitStatus::Failure, + JobStatus::Pending => github::CommitStatus::Pending, + JobStatus::Unknown => github::CommitStatus::Error, + } + } +} + pub struct Job { display_name: String, result: JobStatus, @@ -80,7 +91,7 @@ pub fn find_and_track_build_and_update_status( github::update_commit_status( commit_ref, - job.commit_status().result, + job.result.commit_status(), job_url, None, "continuous-integration/jenkins".to_string() -- cgit v1.2.3