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