code: def get_single_upstream_artifact_full_path(context, task_id, path):
      
      return os.path.abspath(os.path.join(context.config['work_dir'], 'cot', task_id, path))
docs: Return the full path where an upstream artifact should be located.
  
      Artifact may not exist. If you want to be sure if does, use
      ``get_and_check_single_upstream_artifact_full_path()`` instead.
  
      This function is mainly used to move artifacts to the expected location.
  
      Args:
          context (scriptworker.context.Context): the scriptworker context.
          task_id (str): the task id of the task that published the artifact
          path (str): the relative path of the artifact
  
      Returns:
          str: absolute path to the artifact should be.