@Override
 public void requireMinimumPluginVersion(String pluginShortName, String version) {
   Plugin plugin = Jenkins.getInstance().getPlugin(pluginShortName);
   if (plugin == null) {
     markBuildAsUnstable("plugin '" + pluginShortName + "' needs to be installed");
   } else if (plugin.getWrapper().getVersionNumber().isOlderThan(new VersionNumber(version))) {
     markBuildAsUnstable(
         "plugin '"
             + pluginShortName
             + "' needs to be updated to version "
             + version
             + " or later");
   }
 }
 @Override
 public String getCredentialsId(String credentialsDescription) {
   Jenkins jenkins = Jenkins.getInstance();
   Plugin credentialsPlugin = jenkins.getPlugin("credentials");
   if (credentialsPlugin != null
       && !credentialsPlugin
           .getWrapper()
           .getVersionNumber()
           .isOlderThan(new VersionNumber("1.6"))) {
     for (CredentialsProvider credentialsProvider :
         jenkins.getExtensionList(CredentialsProvider.class)) {
       for (StandardCredentials credentials :
           credentialsProvider.getCredentials(StandardCredentials.class, jenkins, SYSTEM)) {
         if (credentials.getDescription().equals(credentialsDescription)) {
           logDeprecationWarning("finding credentials by description");
           return credentials.getId();
         } else if (credentials.getId().equals(credentialsDescription)) {
           return credentials.getId();
         }
       }
     }
   }
   return null;
 }
 @Override
 public VersionNumber getPluginVersion(String pluginShortName) {
   Plugin plugin = Jenkins.getInstance().getPlugin(pluginShortName);
   return plugin == null ? null : plugin.getWrapper().getVersionNumber();
 }