3.8.8. Changes connector
- class buildbot.db.changes.ChangesConnectorComponent
This class handles changes in the Buildbot database, including pulling information from the changes sub-tables.
An instance of this class is available at
master.db.changes.Changes are indexed by changeid, and are represented by a
ChangeModeldataclass, which has the following fields:changeid(the ID of this change)parent_changeids(list of ID; change’s parents)author(unicode; the author of the change)committer(unicode; the committer of the change)files(list of unicode; source-code filenames changed)comments(unicode; user comments)is_dir(deprecated)links(list of unicode; links for this change, e.g., to web views, review)revision(unicode string; revision for this change, orNoneif unknown)when_timestamp(datetime instance; time of the change)branch(unicode string; branch on which the change took place, orNonefor the “default branch”, whatever that might mean)category(unicode string; user-defined category of this change, orNone)revlink(unicode string; link to a web view of this change)properties(user-specified properties for this change, represented as a dictionary mapping keys to (value, source))repository(unicode string; repository where this change occurred)project(unicode string; user-defined project to which this change corresponds)
- getParentChangeIds(branch, repository, project, codebase)
- Parameters:
branch (unicode string) – the branch of the change
repository (unicode string) – the repository in which this change took place
project (unicode string) – the project this change is a part of
codebase (unicode string)
- Returns:
the last changeID that matches the branch, repository, project, or codebase
- addChange(author=None, committer=None, files=None, comments=None, is_dir=0, links=None, revision=None, when_timestamp=None, branch=None, category=None, revlink='', properties={}, repository='', project='', uid=None)
- Parameters:
author (unicode string) – the author of this change
committer (unicode string) – the committer of this change
files – a list of filenames that were changed
comments – user comments on the change
is_dir – deprecated
links (list of unicode strings) – a list of links related to this change, e.g., to web viewers or review pages
revision (unicode string) – the revision identifier for this change
when_timestamp (datetime instance or None) – when this change occurred, or the current time if None
branch (unicode string) – the branch on which this change took place
category (unicode string) – category for this change (arbitrary use by Buildbot users)
revlink (unicode string) – link to a web view of this revision
properties (dictionary) – properties to set on this change, where values are tuples of (value, source). At the moment, the source must be
'Change', although this may be relaxed in later versionsrepository (unicode string) – the repository in which this change took place
project (unicode string) – the project this change is a part of
uid (integer) – uid generated for the change author
- Returns:
new change’s ID via Deferred
Add a Change with the given attributes to the database, returning the changeid via a Deferred. All arguments should be given as keyword arguments.
The
projectandrepositoryarguments must be strings;Noneis not allowed.
- getChange(changeid, no_cache=False)
- Parameters:
changeid – the id of the change instance to fetch
no_cache (boolean) – bypass cache and always fetch from database
- Returns:
ChangeModelor None, via Deferred
Get a
ChangeModelfor the given changeid, orNoneif no such change exists.
- getChangeUids(changeid)
- Parameters:
changeid – the id of the change instance to fetch
- Returns:
list of uids via Deferred
Get the userids associated with the given changeid.
- getChanges(resultSpec=None)
- Parameters:
resultSpec – result spec containing filters sorting and paging requests from data/REST API. If possible, the db layer can optimize the SQL query using this information.
- Returns:
list of
ChangeModelvia Deferred
Get a list of the changes, represented as
ChangeModel, matching the given criteria. ifresultSpecis not provided, changes are sorted, and paged using generic data query options.
- getChangesCount()
- Returns:
list of dictionaries via Deferred
Get the number of changes that the query option would return if no paging option was set.
- getLatestChangeid()
- Returns:
changeid via Deferred
Get the most-recently-assigned changeid, or
Noneif there are no changes at all.
- getChangesForBuild(buildid)
- Parameters:
buildid – ID of the build
- Returns:
list of
ChangeModelvia Deferred
Get the “blame” list of changes for a build.
- getBuildsForChange(changeid)
- Parameters:
changeid – ID of the change
- Returns:
list of
ChangeModelvia Deferred
Get builds related to a change.
- getChangeFromSSid(sourcestampid)
- Parameters:
sourcestampid – ID of the sourcestampid
- Returns:
ChangeModelvia Deferred
Returns the
ChangeModelrelated to the sourcestamp ID.