class_docstr: Interface for a Publisher. All class-based publishers must inherit from this class.
class_docstr_tok: ["Interface","for","a","Publisher",".","All","class-based","publishers","must","inherit","from","this","class","."]
docstr: Publishes the given alert.
  
  As a general rule of thumb, published fields that are specific to a certain output are
  published as top-level keys of the following format:
  
  [output service name].[field name]
  
  E.g. "demisto.blah"
  
  Args:
      alert (Alert): The alert instance to publish.
      publication (dict): An existing publication generated by previous publishers in the
          series of publishers, or {}.
  
  Returns:
      dict: The published alert.
docstr_tok: ["Publishes","the","given","alert",".","As","a","general","rule","of","thumb",",","published","fields","that","are","specific","to","a","certain","output","are","published","as","top-level","keys","of","the","following","format",":","[","output","service","name","]",".","[","field","name","]","E.g",".","``","demisto.blah","''","Args",":","alert","(","Alert",")",":","The","alert","instance","to","publish",".","publication","(","dict",")",":","An","existing","publication","generated","by","previous","publishers","in","the","series","of","publishers",",","or","{","}",".","Returns",":","dict",":","The","published","alert","."]
code: def publish(self, alert, publication):
      """Publishes the given alert.
  
      As a general rule of thumb, published fields that are specific to a certain output are
      published as top-level keys of the following format:
  
      [output service name].[field name]
  
      E.g. "demisto.blah"
  
      Args:
          alert (Alert): The alert instance to publish.
          publication (dict): An existing publication generated by previous publishers in the
              series of publishers, or {}.
  
      Returns:
          dict: The published alert.
      """
  
imports: from abc import abstractmethod
  from copy import deepcopy
  from inspect import isclass
  from streamalert.shared.config import load_config
  from streamalert.shared.importer import import_folders
  from streamalert.shared.logger import get_logger
label_desc: Use image node_id 1 for calling the AlertPublisher obj's underlying member method code with example usage: obj.publish(alert, publication) without return types