This page documents the latest, unreleased version of Buildbot. For documentation for released versions, see SetProperties

class buildbot.steps.master.SetProperties

SetProperties takes a dictionary to be turned into build properties.

It is similar to SetProperty, and meant to be used with a Renderer function or a dictionary of Interpolate objects which allows the value to be built from other property values:

"""Example borrowed from Julia's master.cfg (MIT)"""
from buildbot.plugins import *

def compute_artifact_filename(props):
    # Get the output of the `make print-BINARYDIST_FILENAME` step
    reported_filename = props.getProperty('artifact_filename')

    # First, see if we got a BINARYDIST_FILENAME output
    if reported_filename[:26] == "BINARYDIST_FILENAME=":
        local_filename = util.Interpolate(reported_filename[26:].strip() +
        # If not, use non-sf/consistent_distnames naming
        if is_mac(props):
            template = \
        elif is_winnt(props):
            template = \
            template = \

        local_filename = util.Interpolate(template)

    # upload_filename always follows sf/consistent_distname rules
    upload_filename = util.Interpolate(

    return {
        "local_filename": local_filename
        "upload_filename": upload_filename