[snowpatch] [PATCH v2 5/5] jenkins: Only link to artifact if it actually exists

Russell Currey ruscur at russell.cc
Tue Dec 11 14:46:01 AEDT 2018


Signed-off-by: Russell Currey <ruscur at russell.cc>
---
 src/jenkins.rs | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/src/jenkins.rs b/src/jenkins.rs
index 1fbcc49..67d729e 100644
--- a/src/jenkins.rs
+++ b/src/jenkins.rs
@@ -191,9 +191,19 @@ impl JenkinsBackend {
     }
 
     pub fn get_results_url(&self, build_url: &str, job: &BTreeMap<String, String>) -> String {
+        let default_url = format!("{}/", build_url);
         match job.get("artifact") {
-            Some(artifact) => format!("{}/artifact/{}", build_url, artifact),
-            None => format!("{}/", build_url),
+            Some(artifact) => {
+                let artifact_url = format!("{}/artifact/{}", build_url, artifact);
+                match self.get_url(&artifact_url) {
+                    Ok(mut resp) => match resp.status().is_success() {
+                        true => artifact_url,
+                        false => default_url,
+                    },
+                    Err(_e) => default_url,
+                }
+            }
+            None => default_url,
         }
     }
 
-- 
2.19.2



More information about the snowpatch mailing list