Caution
Buildbot no longer supports Python 2.7 on the Buildbot master.
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 chdict, which has the following keys:
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
chdict via Deferred
Get a change dictionary for the given changeid, or
Noneif 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 dictionaries via Deferred
Get a list of the changes, represented as dictionaries, matching the given criteria. if
resultSpecis 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 dictionaries via Deferred
Get the “blame” list of changes for a build.
- getBuildsForChange(changeid)
- Parameters
changeid – ID of the change
- Returns
list of buildDict via Deferred
Get builds related to a change.
- getChangeFromSSid(sourcestampid)
- Parameters
sourcestampid – ID of the sourcestampid
- Returns
chdict via Deferred
Returns the change dictionary related to the sourcestamp ID.