Caution

Buildbot no longer supports Python 2.7 on the Buildbot master.

3.8.6. Steps connector

class buildbot.db.steps.StepsConnectorComponent

This class handles the steps performed within the context of a build. Within a build, each step has a unique name and a unique 0-based number.

An instance of this class is available at master.db.steps.

Builds are indexed by stepid and their contents are represented as stepdicts (step dictionaries), with the following keys:

  • id (the step ID, globally unique)

  • number (the step number, unique only within the build)

  • name (the step name, an 50-character identifier unique only within the build)

  • buildid (the ID of the build containing this step)

  • started_at (datetime at which this step began)

  • complete_at (datetime at which this step finished, or None if it is ongoing)

  • state_string (short string describing the step’s state)

  • results (results of this step; see Build Result Codes)

  • urls (list of URLs produced by this step. Each urls is stored as a dictionary with keys name and url)

  • hidden (true if the step should be hidden in status displays)

getStep(stepid=None, buildid=None, number=None, name=None)
Parameters:
  • stepid (integer) – the step id to retrieve

  • buildid (integer) – the build from which to get the step

  • number (integer) – the step number

  • name (50-character identifier) – the step name

Returns:

stepdict via Deferred

Get a single step. The step can be specified by:

  • stepid alone

  • buildid and number, the step number within that build

  • buildid and name, the unique step name within that build

getSteps(buildid)
Parameters:

buildid (integer) – the build from which to get the step

Returns:

list of stepdicts, sorted by number, via Deferred

Get all steps in the given build, ordered by number.

addStep(self, buildid, name, state_string)
Parameters:
  • buildid (integer) – the build to which to add the step

  • name (50-character identifier) – the step name

  • state_string (unicode) – the initial state of the step

Returns:

tuple of step ID, step number, and step name, via Deferred

Add a new step to a build. The given name will be used if it is unique; otherwise, a unique numerical suffix will be appended.

setStepStateString(stepid, state_string):
Parameters:
  • stepid (integer) – step ID

  • state_string (unicode) – updated state of the step

Returns:

Deferred

Update the state string for the given step.

finishStep(stepid, results, hidden)
Parameters:
  • stepid (integer) – step ID

  • results (integer) – step result

  • hidden (bool) – true if the step should be hidden

Returns:

Deferred

Mark the given step as finished, with complete_at set to the current time.

Note

This update is done unconditionally, even if the steps are already finished.

addURL(self, stepid, name, url)
Parameters:
  • stepid (integer) – the stepid to add the url.

  • name (string) – the url name

  • url (string) – the actual url

Returns:

None via deferred

Add a new url to a step. The new url is added to the list of urls.