Skip to content

Commit

Permalink
Add builds for change route in data API
Browse files Browse the repository at this point in the history
  • Loading branch information
rajgoesout committed Jul 16, 2019
1 parent 3171e87 commit f517230
Showing 1 changed file with 23 additions and 18 deletions.
41 changes: 23 additions & 18 deletions master/buildbot/data/builds.py
Expand Up @@ -137,30 +137,35 @@ class BuildsEndpoint(Db2DataMixin, base.BuildNestingMixin, base.Endpoint):
/builders/n:builderid/builds
/builders/i:buildername/builds
/buildrequests/n:buildrequestid/builds
/changes/n:changeid/builds
/workers/n:workerid/builds
"""
rootLinkName = 'builds'

@defer.inlineCallbacks
def get(self, resultSpec, kwargs):
# following returns None if no filter
# true or false, if there is a complete filter
builderid = None
if 'builderid' in kwargs or 'buildername' in kwargs:
builderid = yield self.getBuilderId(kwargs)
if builderid is None:
return []
complete = resultSpec.popBooleanFilter("complete")
buildrequestid = resultSpec.popIntegerFilter("buildrequestid")
resultSpec.fieldMapping = self.fieldMapping
builds = yield self.master.db.builds.getBuilds(
builderid=builderid,
buildrequestid=kwargs.get('buildrequestid', buildrequestid),
workerid=kwargs.get('workerid'),
complete=complete,
resultSpec=resultSpec)
# returns properties' list
filters = resultSpec.popProperties()
changeid = kwargs.get('changeid')
if changeid is not None:
builds = yield self.master.db.builds.getBuildsForChange(changeid)
else:
# following returns None if no filter
# true or false, if there is a complete filter
builderid = None
if 'builderid' in kwargs or 'buildername' in kwargs:
builderid = yield self.getBuilderId(kwargs)
if builderid is None:
return []
complete = resultSpec.popBooleanFilter("complete")
buildrequestid = resultSpec.popIntegerFilter("buildrequestid")
resultSpec.fieldMapping = self.fieldMapping
builds = yield self.master.db.builds.getBuilds(
builderid=builderid,
buildrequestid=kwargs.get('buildrequestid', buildrequestid),
workerid=kwargs.get('workerid'),
complete=complete,
resultSpec=resultSpec)
# returns properties' list
filters = resultSpec.popProperties()
buildscol = []
for b in builds:
data = yield self.db2data(b)
Expand Down

0 comments on commit f517230

Please sign in to comment.