def METHOD_NAME(self, context):
    self._context = context
    if not os.environ.get("OPENPYPE_PUBLISH_DATA"):
        raise KnownPublishError("Missing `OPENPYPE_PUBLISH_DATA`")
    # QUESTION
    #   Do we support (or want support) multiple files in the variable?
    #   - what if they have different context?
    paths = os.environ["OPENPYPE_PUBLISH_DATA"].split(os.pathsep)
    # Using already collected Anatomy
    anatomy = context.data["anatomy"]
    self.log.debug("Getting root setting for project \"{}\"".format(
        anatomy.project_name
    ))
    self.log.debug("anatomy: {}".format(anatomy.roots))
    try:
        session_is_set = False
        for path in paths:
            path = anatomy.fill_root(path)
            data = self._load_json(path)
            assert data, "failed to load json file"
            if not session_is_set:
                session_data = data["session"]
                remapped = anatomy.roots_obj.path_remapper(
                    session_data["AVALON_WORKDIR"]
                )
                if remapped:
                    session_data["AVALON_WORKDIR"] = remapped
                self.log.debug("Setting session using data from file")
                legacy_io.Session.update(session_data)
                os.environ.update(session_data)
                session_is_set = True
            self._process_path(data, anatomy)
            context.data["cleanupFullPaths"].append(path)
            context.data["cleanupEmptyDirs"].append(os.path.dirname(path))
    except Exception as e:
        self.log.error(e, exc_info=True)
        raise Exception("Error") from e