def get_comments(advisory_id): """5.2.10.2. GET /api/v1/comments?filter[key]=value Retrieve all advisory comments Example request body: {"filter": {"errata_id": 11112, "type": "AutomatedComment"}} Returns an array of comments ordered in descending order (newest first). The array may be empty depending on the filters used. The meaning of each attribute is documented under GET /api/v1/comments/{id} (see Erratum.get_comment()) Included for reference: 5.2.10.2.1. Filtering The list of comments can be filtered by applying filter[key]=value as a query parameter. All attributes of a comment - except advisory_state - can be used as a filter. This is a paginated API. Reference documentation: https://errata.devel.redhat.com/developer-guide/api-http-api.html#api-pagination """ body = {"filter": {"errata_id": advisory_id, "type": "Comment"}} res = requests.get(constants.errata_get_comments_url, verify=ssl.get_default_verify_paths().openssl_cafile, auth=HTTPKerberosAuth(), json=body) if res.status_code == 200: return res.json().get('data', []) elif res.status_code == 401: raise exceptions.ErrataToolUnauthorizedException(res.text) else: return False
def get_builds(advisory_id): """5.2.2.6. GET /api/v1/erratum/{id}/builds Fetch the Brew builds associated with an advisory. Returned builds are organized by product version, variant, arch and include all the build files from the advisory. Returned attributes for the product version include: * name: name of the product version. * description: description of the product version. Returned attributes for each build include: * id: build's ID from Brew, Errata Tool also uses this as an internal ID * nvr: nvr of the build. * variant_arch: the list of files grouped by variant and arch. https://errata.devel.redhat.com/developer-guide/api-http-api.html#api-get-apiv1erratumidbuilds """ res = requests.get(constants.errata_get_builds_url.format(id=advisory_id), verify=ssl.get_default_verify_paths().openssl_cafile, auth=HTTPKerberosAuth()) if res.status_code == 200: return res.json() else: raise exceptions.ErrataToolUnauthorizedException(res.text)