code: def anitya_by_upstream_project(config, message, projects=None, *args, **kw):
      
      # We only deal in anitya messages, first off.
      if not anitya_catchall(config, message):
          return False
  
      if not projects or not isinstance(projects, six.string_types):
          return False
  
      # Get the project for the message.
      project = message.get('msg', {}).get('project', {}).get('name', None)
  
      # Split the string into a list of targets
      targets = [p.strip() for p in projects.split(',')]
      # Filter out empty strings if someone is putting ',,,' garbage in
      targets = [target for target in targets if target]
  
      return project in targets
docs: Anything regarding a particular "upstream project"
  
      Adding this rule will let through *any* anitya notification that pertains
      to a particular "upstream project".  Note that the "project" name is often
      different from the distro "package" name.  For instance, the package
      python-requests in Fedora will have the upstream project name "requests".
  
      You can specify a comma-separated list of upstream project names here.