def get_reply_blocks()

in utils/ryzenai/notification_service.py [0:0]


    def get_reply_blocks(self, job_name, failure, text):
        """
        failure: A failure of the form {"line": full test name, "trace": error trace}
        """
        # `text` must be less than 3001 characters in Slack SDK
        # keep some room for adding "[Truncated]" when necessary
        MAX_ERROR_TEXT = 3000 - len("[Truncated]")

        failure_text = ""
        new_text = failure_text + f'*{failure["line"]}*\n_{failure["trace"]}_\n\n'
        if len(new_text) > MAX_ERROR_TEXT:
            # `failure_text` here has length <= 3000
            failure_text = new_text[:MAX_ERROR_TEXT] + "[Truncated]"
        else:
            # `failure_text` here has length <= MAX_ERROR_TEXT
            failure_text = new_text

        title = job_name

        return [
            {"type": "header", "text": {"type": "plain_text", "text": title.upper(), "emoji": True}},
            {"type": "section", "text": {"type": "mrkdwn", "text": failure_text}},
        ]