Add attachment as a comment.

        Setting attachment visibility is dependent on the user's permission. For example,
        Agents can create either public or internal attachments, while Unlicensed users can only create internal
        attachments, and Customers can only create public attachments.

        An additional comment may be provided which will be prepended to the attachments.

        :param service_desk_id: str
        :param issue_id_or_key: str
        :param filename: str, name, if file in current directory or full path to file
        :param public: OPTIONAL: bool (default is True)
        :param comment: OPTIONAL: str (default is None)
        :return: Request info

def create_attachment(self, service_desk_id, issue_id_or_key, filename, public=True, comment=None):
        """
        Add attachment as a comment.

        Setting attachment visibility is dependent on the user's permission. For example,
        Agents can create either public or internal attachments, while Unlicensed users can only create internal
        attachments, and Customers can only create public attachments.

        An additional comment may be provided which will be prepended to the attachments.

        :param service_desk_id: str
        :param issue_id_or_key: str
        :param filename: str, name, if file in current directory or full path to file
        :param public: OPTIONAL: bool (default is True)
        :param comment: OPTIONAL: str (default is None)
        :return: Request info
        """
        log.warning('Creating attachment...')

        # Create temporary attachment
        temp_attachment_id = self.attach_temporary_file(service_desk_id, filename)

        # Add attachments
        return self.add_attachment(issue_id_or_key, temp_attachment_id, public, comment)