aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTeddy Wing2017-11-09 01:28:14 +0100
committerTeddy Wing2017-11-09 01:28:14 +0100
commitfe3401411a324a7777514f66b1e79a3331ed0690 (patch)
treedfb62a0e1f7a9dbc405139f882efae72d3d5f2af /src
parentba48634c5af91766ec701f5cca5d646646e65b89 (diff)
downloadkipper-fe3401411a324a7777514f66b1e79a3331ed0690.tar.bz2
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`.
Diffstat (limited to 'src')
-rw-r--r--src/jenkins.rs13
1 files changed, 12 insertions, 1 deletions
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()