.. bb:reporter:: GerritVerifyStatusPush

GerritVerifyStatusPush
++++++++++++++++++++++

.. py:currentmodule:: buildbot.reporters.status_gerrit_verify_status

.. py:class:: GerritVerifyStatusPush

:class:`GerritVerifyStatusPush` sends a verify status to Gerrit using the verify-status_ Gerrit plugin.

It is an alternate method to :bb:reporter:`GerritStatusPush`, which uses the SSH API to send reviews.

The verify-status_ plugin allows several CI statuses to be sent for the same change, and display them separately in the Gerrit UI.

Most parameters are :index:`renderables <renderable>`

.. py:class:: GerritVerifyStatusPush( \
    baseURL, auth, \
    startDescription="Build started.", endDescription="Build done.", \
    verification_name=Interpolate("%(prop:buildername)s"), abstain=False, category=None, reporter=None, \
    verbose=False, generators=None, **kwargs)
    :noindex:

    :param string baseURL: Gerrit HTTP base URL
    :param string auth: a requests authentication configuration. (can be a :ref:`Secret`)
       if Gerrit is configured with ``BasicAuth``, then it shall be ``('login', 'password')``
       if Gerrit is configured with ``DigestAuth``, then it shall be ``requests.auth.HTTPDigestAuth('login', 'password')`` from the requests module.
    :param renderable string startDescription: the comment sent when the build is starting.
        This parameter is deprecated, use ``generators`` instead.
    :param renderable string endDescription: the comment sent when the build is finishing.
        This parameter is deprecated, use ``generators`` instead.
    :type generators: list of IReportGenerator instances
    :param generators: A list of report generators that will be used to generate reports to be sent by this reporter.
        Currently the reporter will consider only the report generated by the first generator.
    :param renderable string verification_name: the name of the job displayed in the Gerrit UI.
    :param renderable boolean abstain: whether this results should be counted as voting.
    :param renderable boolean category: Category of the build.
    :param renderable boolean reporter: The user that verified this build
    :param boolean verbose: Whether to log every requests.
    :param list builders: only send update for specified builders
        This parameter is deprecated, use ``generators`` instead.
    :param boolean verify: disable ssl verification for the case you use temporary self signed certificates
    :param boolean debug: logs every requests and their response

This reporter is integrated with :class:`GerritChangeSource`, and will update changes detected by this change source.

This reporter can also send reports for changes triggered manually provided that there is a property in the build named ``gerrit_changes``, containing the list of changes that were tested.
This property must be a list of dictionaries, containing ``change_id`` and ``revision_id`` keys, as defined in the revision endpoints of the `Gerrit documentation`_

.. _txrequests: https://pypi.python.org/pypi/txrequests
.. _verify-status: https://gerrit.googlesource.com/plugins/verify-status
.. _Gerrit documentation: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#revision-endpoints
