code: @Override
      public void perform(@Nonnull Run<?, ?> run, @Nonnull FilePath workspace, @Nonnull Launcher launcher,
                          @Nonnull TaskListener listener) {
          try {
              String sha = getCommitShaSource().get(run, listener);
              List<GHRepository> repos = getReposSource().repos(run, listener);
              String contextName = getContextSource().context(run, listener);
  
              String backref = getStatusBackrefSource().get(run, listener);
  
              GitHubStatusResultSource.StatusResult result = getStatusResultSource().get(run, listener);
  
              String message = result.getMsg();
              GHCommitState state = result.getState();
  
              listener.getLogger().printf(
                      "[%s] %s on repos %s (sha:%7.7s) with context:%s%n",
                      getDescriptor().getDisplayName(),
                      state,
                      repos,
                      sha,
                      contextName
              );
  
              for (GHRepository repo : repos) {
                  listener.getLogger().println(
                          GitHubCommitNotifier_SettingCommitStatus(repo.getHtmlUrl() + "/commit/" + sha)
                  );
  
                  repo.createCommitStatus(sha, state, backref, message, contextName);
              }
  
          } catch (Exception e) {
              CombineErrorHandler.errorHandling().withHandlers(getErrorHandlers()).handle(e, run, listener);
          }
      }
docs: Gets info from the providers and updates commit status