code: def generate_identifier(result):
      
      # Determine the playbook file path to use for the ID
      if result.task.playbook and result.task.playbook.path:
          playbook_file = result.task.playbook.path
      else:
          playbook_file = ''
      play_path = u'%s.%s' % (playbook_file, result.task.play.name)
  
      # Determine the task file path to use for the ID
      if result.task.file and result.task.file.path:
          task_file = result.task.file.path
      else:
          task_file = ''
      task_path = u'%s.%s' % (task_file, result.task.name)
  
      # Combine both of the above for a full path
      identifier_path = u'%s.%s' % (play_path, task_path)
  
      # Assign the identifier as a hash of the fully unique path.
      identifier = hashlib.sha1(encodeutils.to_utf8(identifier_path)).hexdigest()
  
      return identifier
docs: Returns a fixed length identifier based on a hash of a combined set of
      playbook/task values which are as close as we can guess to unique for each
      task.