[JENKINS-71866] Allow to use alternate values for "Build with Parameters" and the "Build" button on the parameters page (#8496)

[JENKINS-71866] alternate for Build with Parameters

Allow to use alternate values for "Build with Parameters" and the
"Build" button on the parameters page.
See also JENKINS-46554 and JENKINS-27214
This commit is contained in:
Markus Winter authored and GitHub committed 2023-09-22 16:01:52 +02:00
1 parent c8c7526eed
commit 2fc718da2a
38 files changed
+31 -22

No files matched your search

@@ -34,6 +34,7 @@ import hudson.Extension;
import hudson.Util;
import hudson.model.Queue.WaitingItem;
import hudson.model.queue.ScheduleResult;
import hudson.util.AlternativeUiTextProvider;
import java.io.IOException;
import java.util.AbstractList;
import java.util.ArrayList;
@@ -72,6 +73,8 @@ import org.kohsuke.stapler.export.ExportedBean;
public class ParametersDefinitionProperty extends OptionalJobProperty<Job<?, ?>>
implements Action {
public static final AlternativeUiTextProvider.Message<Job> BUILD_BUTTON_TEXT = new AlternativeUiTextProvider.Message<>();
private final List<ParameterDefinition> parameterDefinitions;
@DataBoundConstructor
@@ -87,6 +90,11 @@ public class ParametersDefinitionProperty extends OptionalJobProperty<Job<?, ?>>
return parameterDefinitions == null ? new ParametersDefinitionProperty() : this;
}
public final String getBuildButtonText() {
return AlternativeUiTextProvider.get(BUILD_BUTTON_TEXT, owner, Messages.ParametersDefinitionProperty_BuildButtonText());
}
@Deprecated
public AbstractProject<?, ?> getOwner() {
return (AbstractProject) owner;
@@ -288,12 +288,14 @@ public abstract class ParameterizedJobMixIn<JobT extends Job<JobT, RunT> & Param
* @since 1.624
*/
public static final AlternativeUiTextProvider.Message<ParameterizedJob> BUILD_NOW_TEXT = new AlternativeUiTextProvider.Message<>();
public static final AlternativeUiTextProvider.Message<ParameterizedJob> BUILD_WITH_PARAMETERS_TEXT = new AlternativeUiTextProvider.Message<>();
/**
* Suggested implementation of {@link ParameterizedJob#getBuildNowText}.
*/
public final String getBuildNowText() {
return isParameterized() ? AlternativeUiTextProvider.get(BUILD_NOW_TEXT, asJob(), Messages.ParameterizedJobMixIn_build_with_parameters())
return isParameterized() ? AlternativeUiTextProvider.get(BUILD_WITH_PARAMETERS_TEXT, asJob(),
AlternativeUiTextProvider.get(BUILD_NOW_TEXT, asJob(), Messages.ParameterizedJobMixIn_build_with_parameters()))
: AlternativeUiTextProvider.get(BUILD_NOW_TEXT, asJob(), Messages.ParameterizedJobMixIn_build_now());
}