From c44b138d42076e266e6464161907ad7a00a27a62 Mon Sep 17 00:00:00 2001 From: "James E. Blair" Date: Sun, 23 Dec 2012 09:39:55 -0800 Subject: [PATCH] Set change url to gitweb URL. So that status pages can easily link to gitweb urls of ref-update triggered changes. Change-Id: Id9b708a473d92c30727f66578a0174f18c657723 Reviewed-on: https://review.openstack.org/18602 Approved: Jeremy Stanley Reviewed-by: Jeremy Stanley Tested-by: Jenkins --- zuul/model.py | 3 +++ zuul/trigger/gerrit.py | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/zuul/model.py b/zuul/model.py index aa55561c89..2b5f5b3598 100644 --- a/zuul/model.py +++ b/zuul/model.py @@ -247,6 +247,8 @@ class Pipeline(object): ret = {} if hasattr(changeish, 'url') and changeish.url is not None: ret['url'] = changeish.url + else: + ret['url'] = None ret['id'] = changeish._id() ret['project'] = changeish.project.name ret['jobs'] = [] @@ -607,6 +609,7 @@ class TriggerEvent(object): change.ref = self.ref change.oldrev = self.oldrev change.newrev = self.newrev + change.url = trigger.getGitwebUrl(project, sha=self.newrev) return change diff --git a/zuul/trigger/gerrit.py b/zuul/trigger/gerrit.py index 892eb3661e..d57c201c7a 100644 --- a/zuul/trigger/gerrit.py +++ b/zuul/trigger/gerrit.py @@ -342,3 +342,9 @@ class Gerrit(object): port = 29418 url = 'ssh://%s@%s:%s/%s' % (user, server, port, project.name) return url + + def getGitwebUrl(self, project, sha=None): + url = '%s/gitweb?p=%s.git' % (self.baseurl, project) + if sha: + url += ';a=commitdiff;h=' + sha + return url