# 3.5.6. change

resource type: change
  Attributes:

    - changeid (integer) – the ID of this change

    - author (string) – the author of the change in “name”, “name <email>” or just “email” (with @) format

    - branch? (string) – branch on which the change took place, or none for the “default branch”, whatever that might mean

    - category? (string) – user-defined category of this change, or none

    - codebase (string) – codebase in this repository

    - comments (string) – user comments for this change (aka commit)

    - files[] (string) – list of source-code filenames changed

    - parent_changeids[] (integer) – The ID of the parents. The data api allows for several parents, but the core Buildbot does not yet support it

    - project (string) – user-defined project to which this change corresponds

    - properties (sourcedproperties) – user-specified properties for this change, represented as an object mapping keys to tuple (value, source)

    - repository (string) – repository where this change occurred

    - revision? (string) – revision for this change, or none if unknown

    - revlink? (string) – link to a web view of this change

    - sourcestamp (sourcestamp) – the sourcestamp resource for this change

    - when_timestamp (integer) – time of the change

A change resource represents a change to the source code monitored by Buildbot.

## 3.5.6.1. Update Methods

All update methods are available as attributes of `master.data.updates`.

class buildbot.data.changes.Change
  addChange(files=None, comments=None, author=None, revision=None, when_timestamp=None, branch=None, category=None, revlink='', properties={}, repository='', codebase=None, project='', src=None)
    Parameters:

      - files (list of unicode strings) – a list of filenames that were changed

      - comments (unicode) – user comments on the change

      - author (unicode) – the author of this change

      - revision (unicode) – the revision identifier for this change

      - when_timestamp (integer) – when this change occurred (seconds since the epoch), or the current time if None

      - branch (unicode) – the branch on which this change took place

      - category (unicode) – category for this change

      - revlink (string) – link to a web view of this revision

      - properties (dictionary with unicode keys and simple values (JSON-able).) – properties to set on this change. Note that the property source is not included in this dictionary.

      - repository (unicode) – the repository in which this change took place

      - project (unicode) – the project this change is a part of

      - src (unicode) – source of the change (vcs or other)

    Returns:

      The ID of the new change, via Deferred

    Add a new change to Buildbot. This method is the interface between change sources and the rest of Buildbot.

    All parameters should be passed as keyword arguments.

    All parameters labeled ‘unicode’ must be unicode strings and not bytestrings. Filenames in `files`, and property names, must also be unicode strings. This is tested by the fake implementation.

## 3.5.6.2. Endpoints

path: /builders/{builderid_or_buildername}/builds/{build_number}/changes
  Path Keys:

    - builderid_or_buildername (number|string) – the ID or name of the builder

    - build_number (number) – the number of the build within the builder

This path selects all changes tested by a build

`GET`
  `returns`

    `collection` of `change`

path: /builds/{buildid}/changes
  Path Keys:

    buildid (number) – the id of the build

This path selects all changes tested by a build

`GET`
  `returns`

    `collection` of `change`

path: /changes

This path selects all changes. On a reasonably loaded master, this can quickly return a very large result, taking minutes to process. A specific query configuration is optimized which allows to get the recent changes: `order:-changeid&limit=<n>`

`GET`
  `returns`

    `collection` of `change`

path: /changes/{changeid}
  Path Keys:

    changeid (number) – the id of a change

This path selects one change by id

`GET`
  `returns`

    `collection` of `change`

path: /sourcestamps/{ssid}/changes
  Path Keys:

    ssid (number) – the id of the sourcestamp

This path selects all changes associated to one sourcestamp

`GET`
  `returns`

    `collection` of `change`