MT#7247 remove internal jobs (no uuid) from panel

Change-Id: I3321f60f3538049a5482a38bf0b0023529987357
changes/96/7496/1
Victor Seva 10 years ago
parent 1689bab0de
commit 975a7e2f1c

@ -86,5 +86,27 @@
},
"model": "repoapi.jenkinsbuildinfo",
"pk": 4
},
{
"fields": {
"buildnumber": 1,
"date": "2015-05-04T17:04:57.802Z",
"gerrit_change": null,
"gerrit_eventtype": null,
"gerrit_patchset": null,
"job_url": "https://jenkins.mgm.sipwise.com/job/release-update-deb-symlinks/",
"param_branch": null,
"param_distribution": "wheezy",
"param_ppa": null,
"param_release": "mr3.1-fake",
"param_tag": null,
"projectname": "release-update-deb-symlinks",
"jobname": "release-update-deb-symlinks",
"repo_name": null,
"result": "SUCCESS",
"tag": null
},
"model": "repoapi.jenkinsbuildinfo",
"pk": 5
}
]

@ -38,8 +38,9 @@ class JenkinsBuildInfoManager(models.Manager):
res[project][uuid][job.jobname] = model_to_dict(job)
# date is not editable... so not in the result
res[project][uuid][job.jobname]['date'] = job.date
uuid = self.latest_uuid(release, project)['tag']
res[project][uuid]['latest'] = True
uuid = self.latest_uuid(release, project)
if uuid:
res[project][uuid['tag']]['latest'] = True
return res
def releases(self, flat=True):
@ -51,7 +52,8 @@ class JenkinsBuildInfoManager(models.Manager):
def release_projects(self, release, flat=True):
res = self.get_queryset().filter(
param_release=release).values('projectname').distinct()
param_release=release,
tag__isnull=False).values('projectname').distinct()
if flat:
return res.values_list('projectname', flat=True)
else:
@ -59,12 +61,16 @@ class JenkinsBuildInfoManager(models.Manager):
def release_project_uuids_set(self, release, project):
res = self.get_queryset().filter(
param_release=release, projectname=project).distinct()
param_release=release,
projectname=project,
tag__isnull=False).distinct()
return res.order_by('projectname')
def release_project_uuids(self, release, project, flat=True):
res = self.get_queryset().filter(
param_release=release, projectname=project).distinct()
param_release=release,
projectname=project,
tag__isnull=False).distinct()
if flat:
return res.order_by('projectname').values_list('tag', flat=True)
else:
@ -76,9 +82,13 @@ class JenkinsBuildInfoManager(models.Manager):
def latest_uuid(self, release, project):
qs = self.get_queryset()
latest_uuid = qs.filter(
param_release=release, projectname=project).latest('date')
return {'tag': latest_uuid.tag, 'date': latest_uuid.date}
res = qs.filter(
param_release=release,
projectname=project,
tag__isnull=False)
if res:
latest_uuid = res.latest('date')
return {'tag': latest_uuid.tag, 'date': latest_uuid.date}
class JenkinsBuildInfo(models.Model):

Loading…
Cancel
Save