code: @Override
      public StatusResult get(@Nonnull Run<?, ?> run, @Nonnull TaskListener listener)
              throws IOException, InterruptedException {
  
          for (ConditionalResult conditionalResult : getResults()) {
              if (conditionalResult.matches(run)) {
                  return new StatusResult(
                          defaultIfNull(EnumUtils.getEnum(GHCommitState.class, conditionalResult.getState()), ERROR),
                          new ExpandableMessage(conditionalResult.getMessage()).expandAll(run, listener)
                  );
              }
          }
  
          return new StatusResult(
                  PENDING,
                  new ExpandableMessage("Can't define which status to set").expandAll(run, listener)
          );
      }
docs: First matching result win. Or will be used pending state.
  Messages are expanded with token macro and env variables
  
  @return first matched result or pending state with warn msg