Source code for gerrit.changes.messages

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# @Author: Jialiang Shi
from gerrit.utils.gerritbase import GerritBase


[docs] class GerritChangeMessage(GerritBase): def __init__(self, id: str, change: str, gerrit): self.id = id self.change = change self.gerrit = gerrit self.endpoint = f"/changes/{self.change}/messages/{self.id}" super().__init__(self) def __str__(self): return self.id
[docs] def delete(self, input_=None): """ Deletes a change message. Note that only users with the Administrate Server global capability are permitted to delete a change message. .. code-block:: python input_ = { "reason": "spam" } change = client.changes.get('Project~stable~I10394472cbd17dd12454f229e4f6de00b143a444') message = change.messages.get("babf4c5dd53d7a11080696efa78830d0a07762e6") result = message.delete(input_) # or result = message.delete() :param input_: the DeleteChangeMessageInput entity, https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#delete-change-message-input :return: """ if input_ is None: self.gerrit.delete(self.endpoint) else: self.gerrit.post( self.endpoint + "/delete", json=input_, headers=self.gerrit.default_headers, )
[docs] class GerritChangeMessages: def __init__(self, change, gerrit): self.change = change self.gerrit = gerrit self.endpoint = f"/changes/{self.change}/messages"
[docs] def list(self): """ Lists all the messages of a change including detailed account information. :return: """ result = self.gerrit.get(self.endpoint) return result
[docs] def get(self, id_): """ Retrieves a change message including detailed account information. :param id_: change message id :return: """ result = self.gerrit.get(self.endpoint + f"/{id_}") id_ = result.get("id") return GerritChangeMessage(id=id_, change=self.change, gerrit=self.gerrit)