code: def run(self):
          
          if self.workflow.builder.base_from_scratch:
              self.log.info("Skipping check and set rebuild: unsupported for FROM-scratch images")
              return False
          if self.workflow.builder.custom_base_image:
              self.log.info("Skipping check and set rebuild: unsupported for custom base images")
              return False
  
          metadata = get_build_json().get("metadata", {})
          self.build_labels = metadata.get("labels", {})
          buildconfig = self.build_labels["buildconfig"]
          is_rebuild = self.build_labels.get(self.label_key) == self.label_value
          self.log.info("This is a rebuild? %s", is_rebuild)
  
          if not is_rebuild:
              # Update the BuildConfig metadata so the next Build
              # instantiated from it is detected as being an automated
              # rebuild
              osbs = get_openshift_session(self.workflow, self.openshift_fallback)
              new_labels = {self.label_key: self.label_value}
              osbs.update_labels_on_build_config(buildconfig, new_labels)
          else:
              self.pull_latest_commit_if_configured()
  
          return is_rebuild
docs: run the plugin