- * Subtypes would likely want to extend from either {@link MasterToSlaveCallable}
- * or {@link SlaveToMasterFileCallable}.
- *
+ * A typical implementation would be a {@code record} implementing {@link ControllerToAgentFileCallable}.
* @see FilePath#act(FileCallable)
*/
public interface FileCallable
- * It is both the recommended and default implementation to serve different icons based on {@link #isOffline}.
+ * @see #getIcon()
*/
@Exported
@Override
@@ -759,14 +747,6 @@ public String getIconClassName() {
return IComputer.super.getIconClassName();
}
- public String getIconAltText() {
- // The machine was taken offline by someone
- if (isTemporarilyOffline() && getOfflineCause() instanceof OfflineCause.UserCause) return "[temporarily offline by user]";
- // There is a "technical" reason the computer will not accept new builds
- if (isOffline() || !isAcceptingTasks()) return "[offline]";
- return "[online]";
- }
-
@Exported
@Override public @NonNull String getDisplayName() {
return nodeName;
diff --git a/core/src/main/java/hudson/model/Descriptor.java b/core/src/main/java/hudson/model/Descriptor.java
index 562b96e37b8e..c55b7982695e 100644
--- a/core/src/main/java/hudson/model/Descriptor.java
+++ b/core/src/main/java/hudson/model/Descriptor.java
@@ -24,7 +24,6 @@
package hudson.model;
-import static hudson.util.QuotedStringTokenizer.quote;
import static jakarta.servlet.http.HttpServletResponse.SC_NOT_FOUND;
import edu.umd.cs.findbugs.annotations.CheckForNull;
@@ -475,6 +474,12 @@ public void calcAutoCompleteSettings(String field, Map
* When the response HTML includes a JavaScript function in a pre-determined name, that function gets executed.
* This method generates such a response from JavaScript text.
+ *
+ * @deprecated use {@link #showNotification(String, NotificationType)} instead, which is CSP compatible version
*/
+ @Deprecated
public static HttpResponseException applyResponse(final String script) {
return new HttpResponseException() {
@Override
@@ -98,4 +104,36 @@ public void generateResponse(StaplerRequest2 req, StaplerResponse2 rsp, Object n
}
};
}
+
+ /**
+ * Generates the response for the asynchronous background form submission (AKA the Apply button),
+ * that will show a notification of certain type and with provided message.
+ *
+ * @param message a message to display in the popup. Only plain text is supported.
+ * @param notificationType type of notification. See {@link NotificationType} for supported types. Defines the notification
+ * color and the icon that will be shown.
+ *
+ * @since 2.482
+ */
+ public static HttpResponseException showNotification(final String message, final NotificationType notificationType) {
+ return new HttpResponseException() {
+ @Override
+ public void generateResponse(StaplerRequest2 req, StaplerResponse2 rsp, Object node) throws IOException {
+ rsp.setContentType("text/html;charset=UTF-8");
+ rsp.getWriter().println("");
+ }
+ };
+ }
+
+
+ /**
+ * Corresponds to types declared in index.js
+ */
+ public enum NotificationType {
+ SUCCESS,
+ WARNING,
+ ERROR
+ }
}
diff --git a/core/src/main/java/jenkins/AgentProtocol.java b/core/src/main/java/jenkins/AgentProtocol.java
index d43398985810..1494dc60b183 100644
--- a/core/src/main/java/jenkins/AgentProtocol.java
+++ b/core/src/main/java/jenkins/AgentProtocol.java
@@ -7,8 +7,6 @@
import hudson.TcpSlaveAgentListener;
import java.io.IOException;
import java.net.Socket;
-import java.util.Set;
-import jenkins.model.Jenkins;
/**
* Pluggable Jenkins TCP agent protocol handler called from {@link TcpSlaveAgentListener}.
@@ -18,57 +16,31 @@
* Implementations of this extension point is singleton, and its {@link #handle(Socket)} method
* gets invoked concurrently whenever a new connection comes in.
*
- * Note that the logic within {@link #call} may not use Remoting APIs
+ * newer than {@link RemotingVersionInfo#getMinimumSupportedVersion}.
+ * (Core and plugin APIs will be identical to those run inside the controller.)
+ * @param
+ * For implementers: this can use HTML formatting, so make sure to only include trusted content.
+ */
+ @NonNull
+ default String getReason() {
+ // fetch the localized string for "Disconnected By"
+ String gsub_base = hudson.slaves.Messages.SlaveComputer_DisconnectedBy("", "");
+ // regex to remove commented reason base string
+ String gsub1 = "^" + gsub_base + "[\\w\\W]* \\: ";
+ // regex to remove non-commented reason base string
+ String gsub2 = "^" + gsub_base + "[\\w\\W]*";
+ return Objects.requireNonNull(Util.escape(toString().replaceAll(gsub1, "").replaceAll(gsub2, "")));
+ }
+
+ /**
+ * @return A short message (one word) that summarizes the offline cause.
+ *
+ *
+ * For implementers: this can use HTML formatting, so make sure to only include trusted content.
+ */
+ @NonNull
+ default String getMessage() {
+ return Messages.IOfflineCause_offline();
+ }
+
+ /**
+ * @return the CSS class name that should be used to render the status.
+ */
+ @SuppressWarnings("unused") // jelly
+ default String getStatusClass() {
+ return "warning";
+ }
+
+ /**
+ * Timestamp in which the event happened.
+ */
+ long getTimestamp();
+
+ /**
+ * Same as {@link #getTimestamp()} but in a different type.
+ */
+ @NonNull
+ default Date getTime() {
+ return new Date(getTimestamp());
+ }
+}
diff --git a/core/src/main/java/jenkins/model/IComputer.java b/core/src/main/java/jenkins/model/IComputer.java
index 0708748f4370..e00ee78bd30f 100644
--- a/core/src/main/java/jenkins/model/IComputer.java
+++ b/core/src/main/java/jenkins/model/IComputer.java
@@ -32,8 +32,10 @@
import hudson.security.AccessControlled;
import java.util.List;
import java.util.concurrent.Future;
+import jenkins.agents.IOfflineCause;
import org.jenkins.ui.icon.Icon;
import org.jenkins.ui.icon.IconSet;
+import org.jenkins.ui.icon.IconSpec;
import org.kohsuke.accmod.Restricted;
import org.kohsuke.accmod.restrictions.Beta;
@@ -43,7 +45,7 @@
* @since 2.480
*/
@Restricted(Beta.class)
-public interface IComputer extends AccessControlled {
+public interface IComputer extends AccessControlled, IconSpec {
/**
* Returns {@link Node#getNodeName() the name of the node}.
*/
@@ -91,6 +93,12 @@ default boolean hasOfflineCause() {
return Util.fixEmpty(getOfflineCauseReason()) != null;
}
+ /**
+ * @return the offline cause if the computer is offline.
+ * @since 2.483
+ */
+ IOfflineCause getOfflineCause();
+
/**
* If the computer was offline (either temporarily or not),
* this method will return the cause as a string (without user info).
@@ -101,7 +109,12 @@ default boolean hasOfflineCause() {
* empty string if the system was put offline without given a cause.
*/
@NonNull
- String getOfflineCauseReason();
+ default String getOfflineCauseReason() {
+ if (getOfflineCause() == null) {
+ return "";
+ }
+ return getOfflineCause().getReason();
+ }
/**
* @return true if the node is currently connecting to the Jenkins controller.
@@ -115,12 +128,45 @@ default boolean hasOfflineCause() {
*
* @see #getIconClassName()
*/
- String getIcon();
+ default String getIcon() {
+ // The computer is not accepting tasks, e.g. because the availability demands it being offline.
+ if (!isAcceptingTasks()) {
+ return "symbol-computer-not-accepting";
+ }
+ var offlineCause = getOfflineCause();
+ if (offlineCause != null) {
+ return offlineCause.getComputerIcon();
+ }
+ // The computer is not connected or it is temporarily offline due to a node monitor
+ if (isOffline()) return "symbol-computer-offline";
+ return "symbol-computer";
+ }
/**
* Returns the alternative text for the computer icon.
*/
- String getIconAltText();
+ @SuppressWarnings("unused") // jelly
+ default String getIconAltText() {
+ if (!isAcceptingTasks()) {
+ return "[suspended]";
+ }
+ var offlineCause = getOfflineCause();
+ if (offlineCause != null) {
+ return offlineCause.getComputerIconAltText();
+ }
+ // There is a "technical" reason the computer will not accept new builds
+ if (isOffline()) return "[offline]";
+ return "[online]";
+ }
+
+ default String getTooltip() {
+ var offlineCause = getOfflineCause();
+ if (offlineCause != null) {
+ return offlineCause.toString();
+ } else {
+ return "";
+ }
+ }
/**
* Returns the class name that will be used to look up the icon.
diff --git a/core/src/main/java/jenkins/model/Jenkins.java b/core/src/main/java/jenkins/model/Jenkins.java
index dc2c7926f605..66adc45f82e8 100644
--- a/core/src/main/java/jenkins/model/Jenkins.java
+++ b/core/src/main/java/jenkins/model/Jenkins.java
@@ -147,6 +147,7 @@
import hudson.scm.RepositoryBrowser;
import hudson.scm.SCM;
import hudson.search.CollectionSearchIndex;
+import hudson.search.SearchIndex;
import hudson.search.SearchIndexBuilder;
import hudson.search.SearchItem;
import hudson.security.ACL;
@@ -656,47 +657,6 @@ private static int getSlaveAgentPortInitialValue(int def) {
*/
private static final boolean SLAVE_AGENT_PORT_ENFORCE = SystemProperties.getBoolean(Jenkins.class.getName() + ".slaveAgentPortEnforce", false);
- /**
- * The TCP agent protocols that are explicitly disabled (we store the disabled ones so that newer protocols
- * are enabled by default). Will be {@code null} instead of empty to simplify XML format.
- *
- * @since 2.16
- */
- @CheckForNull
- @GuardedBy("this")
- private List
To prevent Jenkins from having to load all builds from disk when someone accesses the job API, the
For any project, it's critical to know how the software is used, but tracking usage data is inherently difficult in open-source projects.
Anonymous usage statistics address this need.
When enabled, Jenkins periodically sends information to the Jenkins project.
The Jenkins project uses this information to set development priorities.
- Jenkins reports the following general usage statistics:
- The following trials defined on this instance are active now or in the future:
-
- Start date: ${collector.start} ${%There are currently no active trials.}
+ The following trials defined on this instance are active now or in the future:
+
+ Start date: ${collector.start}
+ Extending UI
- *
- *
- *
* @author Kohsuke Kawaguchi
* @since 1.467
* @see TcpSlaveAgentListener
*/
public abstract class AgentProtocol implements ExtensionPoint {
/**
- * Allow experimental {@link AgentProtocol} implementations to declare being opt-in.
- * Note that {@link Jenkins#setAgentProtocols(Set)} only records the protocols where the admin has made a
- * conscious decision thus:
- *
- *
- * Implementations should not transition rapidly from {@code opt-in -> opt-out -> opt-in}.
- * Implementations should never flip-flop: {@code opt-in -> opt-out -> opt-in -> opt-out} as that will basically
- * clear any preference that an admin has set. This latter restriction should be ok as we only ever will be
- * adding new protocols and retiring old ones.
- *
- * @return {@code true} if the protocol requires explicit opt-in.
- * @since 2.16
- * @see Jenkins#setAgentProtocols(Set)
+ * @deprecated no longer used
*/
+ @Deprecated
public boolean isOptIn() {
return false;
}
+
/**
- * Allow essential {@link AgentProtocol} implementations (basically {@link TcpSlaveAgentListener.PingAgentProtocol})
- * to be always enabled.
- *
- * @return {@code true} if the protocol can never be disabled.
- * @since 2.16
+ * @deprecated no longer used
*/
-
+ @Deprecated
public boolean isRequired() {
return false;
}
/**
- * Checks if the protocol is deprecated.
- *
- * @since 2.75
+ * @deprecated no longer used
*/
+ @Deprecated
public boolean isDeprecated() {
return false;
}
@@ -79,17 +51,15 @@ public boolean isDeprecated() {
* This is a short string that consists of printable ASCII chars. Sent by the client to select the protocol.
*
* @return
- * null to be disabled. This is useful for avoiding getting used
- * until the protocol is properly configured.
+ * null to be disabled
*/
+ @CheckForNull
public abstract String getName();
/**
- * Returns the human readable protocol display name.
- *
- * @return the human readable protocol display name.
- * @since 2.16
+ * @deprecated no longer used
*/
+ @Deprecated
public String getDisplayName() {
return getName();
}
diff --git a/core/src/main/java/jenkins/MasterToSlaveFileCallable.java b/core/src/main/java/jenkins/MasterToSlaveFileCallable.java
index 34afd3c11ae5..6296c6d65b28 100644
--- a/core/src/main/java/jenkins/MasterToSlaveFileCallable.java
+++ b/core/src/main/java/jenkins/MasterToSlaveFileCallable.java
@@ -1,26 +1,16 @@
package jenkins;
import hudson.FilePath.FileCallable;
-import hudson.remoting.VirtualChannel;
-import java.io.File;
-import jenkins.security.Roles;
-import jenkins.slaves.RemotingVersionInfo;
-import org.jenkinsci.remoting.RoleChecker;
+import jenkins.agents.ControllerToAgentFileCallable;
/**
- * {@link FileCallable}s that are meant to be only used on the master.
- *
- * Note that the logic within {@link #invoke(File, VirtualChannel)} should use API of a minimum supported Remoting version.
- * See {@link RemotingVersionInfo#getMinimumSupportedVersion()}.
- *
+ * {@link FileCallable}s that could run on an agent.
+ * For new code, implement {@link ControllerToAgentFileCallable}
+ * which has the advantage that it can be used on {@code record}s.
* @since 1.587 / 1.580.1
- * @param
- * Plugin extension points that implement/extend Action/ManagementLink should
- * also implement this interface.
+ * If your class provides an icon spec you should implement this interface.
*
* @author tom.fennelly@gmail.com
* @since 2.0
diff --git a/core/src/main/resources/hudson/Messages.properties b/core/src/main/resources/hudson/Messages.properties
index 99c77ebbed46..a15f31703cd0 100644
--- a/core/src/main/resources/hudson/Messages.properties
+++ b/core/src/main/resources/hudson/Messages.properties
@@ -127,7 +127,6 @@ PluginWrapper.Plugin.Has.Dependent=The plugin ''{0}'' has, at least, one depende
PluginWrapper.Plugin.Disabled=Plugin ''{0}'' disabled
PluginWrapper.NoSuchPlugin=No such plugin found with the name ''{0}''
PluginWrapper.Error.Disabling=There was an error disabling the ''{0}'' plugin. Error: ''{1}''
-TcpSlaveAgentListener.PingAgentProtocol.displayName=Ping protocol
ProxyConfigurationManager.DisplayName=Proxy Configuration
ProxyConfigurationManager.Description=Configure the http proxy used by Jenkins
diff --git a/core/src/main/resources/hudson/Messages_bg.properties b/core/src/main/resources/hudson/Messages_bg.properties
index 98b816053e44..e741c7400a06 100644
--- a/core/src/main/resources/hudson/Messages_bg.properties
+++ b/core/src/main/resources/hudson/Messages_bg.properties
@@ -105,9 +105,6 @@ PluginWrapper.disabledAndObsolete=\
# {0} is disabled. To fix, enable it.
PluginWrapper.disabled=\
„{0}“ е изключена. Включете я.
-# Ping protocol
-TcpSlaveAgentListener.PingAgentProtocol.displayName=\
- Протокол „ping“
# {0} v{1} failed to load. Fix this plugin first.
PluginWrapper.failed_to_load_dependency=\
„{0}“, версия {1} не се зареди. Оправете приставката.
diff --git a/core/src/main/resources/hudson/Messages_de.properties b/core/src/main/resources/hudson/Messages_de.properties
index e4068a20b58a..d524a518cd44 100644
--- a/core/src/main/resources/hudson/Messages_de.properties
+++ b/core/src/main/resources/hudson/Messages_de.properties
@@ -75,5 +75,3 @@ AboutJenkins.DisplayName=Über Jenkins
AboutJenkins.Description=Versions- und Lizenzinformationen anzeigen.
Functions.NoExceptionDetails=Keine Details zum Ausnahmefehler
-
-TcpSlaveAgentListener.PingAgentProtocol.displayName=Ping-Protokoll
diff --git a/core/src/main/resources/hudson/Messages_es.properties b/core/src/main/resources/hudson/Messages_es.properties
index 298ef23821d8..47d3b400c747 100644
--- a/core/src/main/resources/hudson/Messages_es.properties
+++ b/core/src/main/resources/hudson/Messages_es.properties
@@ -117,4 +117,3 @@ PluginWrapper.Plugin.Has.Dependant=El plugin {0} tiene, al menos, un plugin depe
PluginWrapper.Plugin.Disabled=Plugin {0} deshabilitado
PluginWrapper.NoSuchPlugin=No se encuentra un plugin con el nombre {0}
PluginWrapper.Error.Disabling=Hubo un error al desactivar el plugin ''{0}''. Error: ''{1}''
-TcpSlaveAgentListener.PingAgentProtocol.displayName=Protocolo ping
diff --git a/core/src/main/resources/hudson/Messages_fr.properties b/core/src/main/resources/hudson/Messages_fr.properties
index 1e0286deddc5..06e739d3b479 100644
--- a/core/src/main/resources/hudson/Messages_fr.properties
+++ b/core/src/main/resources/hudson/Messages_fr.properties
@@ -126,4 +126,3 @@ PluginWrapper.Plugin.Has.Dependent=Le plugin "{0}" a au moins un plugin dépenda
PluginWrapper.Plugin.Disabled=Plugin "{0}" désactivé
PluginWrapper.NoSuchPlugin=Aucun plugin trouvé avec le nom "{0}"
PluginWrapper.Error.Disabling=Une erreur a été relevée lors de la désactivation du plugin "{0}". Erreur : "{1}"
-TcpSlaveAgentListener.PingAgentProtocol.displayName=Protocole de ping
diff --git a/core/src/main/resources/hudson/Messages_it.properties b/core/src/main/resources/hudson/Messages_it.properties
index 2747e2d39366..d63200aabd1e 100644
--- a/core/src/main/resources/hudson/Messages_it.properties
+++ b/core/src/main/resources/hudson/Messages_it.properties
@@ -109,7 +109,6 @@ ProxyConfiguration.MalformedTestUrl=URL di prova {0} malformato.
ProxyConfiguration.NonTLSWarning=Jenkins supporta solo l''utilizzo di una connessione http al proxy. Le credenziali potrebbero essere esposte a qualcuno sulla stessa rete.
ProxyConfiguration.Success=Connessione riuscita (codice {0})
ProxyConfiguration.TestUrlRequired=È richiesto un URL di prova.
-TcpSlaveAgentListener.PingAgentProtocol.displayName=Protocollo ping
Util.day={0} g
Util.hour={0} h
Util.millisecond={0} ms
diff --git a/core/src/main/resources/hudson/Messages_pt_BR.properties b/core/src/main/resources/hudson/Messages_pt_BR.properties
index 0a809578524e..d67bdcba599c 100644
--- a/core/src/main/resources/hudson/Messages_pt_BR.properties
+++ b/core/src/main/resources/hudson/Messages_pt_BR.properties
@@ -57,7 +57,6 @@ PluginWrapper.missing=Não foi possível encontrar {0} v{1}. Para corrigir, inst
Functions.NoExceptionDetails=Sem detalhes da exception
FilePath.validateAntFileMask.whitespaceSeparator=Espaços em branco não podem mais serem utilizados como separador. Por \
favor use ", " como separadores.
-TcpSlaveAgentListener.PingAgentProtocol.displayName=Protocolo de ping
PluginWrapper.PluginWrapperAdministrativeMonitor.DisplayName=Falha ao carregar a extensão
ProxyConfiguration.MalformedTestUrl=URL de teste {0} inválida.
FilePath.TildaDoesntWork="~" é suportado apenas em um shell Unix e em nenhum outro lugar.
diff --git a/core/src/main/resources/hudson/Messages_sr.properties b/core/src/main/resources/hudson/Messages_sr.properties
index 3c266c5d67a3..414a84b3a41b 100644
--- a/core/src/main/resources/hudson/Messages_sr.properties
+++ b/core/src/main/resources/hudson/Messages_sr.properties
@@ -40,4 +40,3 @@ PluginWrapper.disabledAndObsolete={0}, верзија {1} је онемогућ
PluginWrapper.disabled={0}, верзија {1} је онемогућено. Молимо вас, омогућите ову модулу.
PluginWrapper.obsolete={0}, верзија {1} је старије него што је подржано. Инсталирајте верзију {2} или новије.
PluginWrapper.obsoleteCore=Морате ажурирати Jenkins са верзије {0} на {1} или новије да би могли користити ову модулу.
-TcpSlaveAgentListener.PingAgentProtocol.displayName=Протокол 'ping'
diff --git a/core/src/main/resources/hudson/Messages_sv_SE.properties b/core/src/main/resources/hudson/Messages_sv_SE.properties
index fdfa6ee3a524..f4a977e99098 100644
--- a/core/src/main/resources/hudson/Messages_sv_SE.properties
+++ b/core/src/main/resources/hudson/Messages_sv_SE.properties
@@ -125,7 +125,6 @@ PluginWrapper.Plugin.Has.Dependent=Insticksprogrammet ''{0}'' har minst ett bero
PluginWrapper.Plugin.Disabled=Insticksprogrammet ''{0}'' inaktiverades
PluginWrapper.NoSuchPlugin=Inget insticksprogram med namnet ''{0}'' hittades
PluginWrapper.Error.Disabling=Ett fel uppstod när insticksprogrammet ''{0}'' inaktiverades. Fel: ''{1}''
-TcpSlaveAgentListener.PingAgentProtocol.displayName=Ping-protokoll
ProxyConfigurationManager.DisplayName=Proxykonfiguration
ProxyConfigurationManager.Description=Konfigurera http-proxyn som Jenkins använder
diff --git a/core/src/main/resources/hudson/Messages_zh_TW.properties b/core/src/main/resources/hudson/Messages_zh_TW.properties
index 708613e7e603..cc5fb76cb059 100644
--- a/core/src/main/resources/hudson/Messages_zh_TW.properties
+++ b/core/src/main/resources/hudson/Messages_zh_TW.properties
@@ -96,7 +96,6 @@ PluginWrapper.Plugin.Has.Dependent=外掛「{0}」有至少一個相依性外掛
PluginWrapper.Plugin.Disabled=已停用外掛「{0}」
PluginWrapper.NoSuchPlugin=找不到名為「{0}」的外掛
PluginWrapper.Error.Disabling=停用外掛「{0}」時發生錯誤,錯誤\: 「{1}」
-TcpSlaveAgentListener.PingAgentProtocol.displayName=Ping 協定
PluginManager.emptyUpdateSiteUrl=更新站台網址不得為空,請輸入網址
PluginManager.connectionFailed=無法連線至這個URL
diff --git a/core/src/main/resources/hudson/diagnosis/ReverseProxySetupMonitor/message_tr.properties b/core/src/main/resources/hudson/diagnosis/ReverseProxySetupMonitor/message_tr.properties
index 2ac4acc9ebbe..2de2187639d5 100644
--- a/core/src/main/resources/hudson/diagnosis/ReverseProxySetupMonitor/message_tr.properties
+++ b/core/src/main/resources/hudson/diagnosis/ReverseProxySetupMonitor/message_tr.properties
@@ -1,4 +1,4 @@
# This file is under the MIT License by authors
-More\ Info=Daha fazla Bilgi
+More\ Info=Daha Fazla Bilgi
blurb=Ters vekil sunucu yapılandırmanız bozuk görünüyor.
diff --git a/core/src/main/resources/hudson/model/AllView/noJob_tr.properties b/core/src/main/resources/hudson/model/AllView/noJob_tr.properties
index f11e7258733e..31dd63cf187c 100644
--- a/core/src/main/resources/hudson/model/AllView/noJob_tr.properties
+++ b/core/src/main/resources/hudson/model/AllView/noJob_tr.properties
@@ -29,6 +29,7 @@ setUpDistributedBuilds=Dağıtılmış bir yapılandırma kurun
setUpAgent=Bir ajan kur
setUpCloud=Bir bulut ayarla
learnMoreDistributedBuilds=Dağıtılmış yapılandırmalar hakkında daha fazla bilgi edinin
+thisFolderIsEmpty=Bu klasör boş
startBuilding=Yazılım projenizi yapılandırmaya başlayın
diff --git a/core/src/main/resources/hudson/model/Computer/sidepanel_tr.properties b/core/src/main/resources/hudson/model/Computer/sidepanel_tr.properties
index a96d29188a81..30694a2d05e4 100644
--- a/core/src/main/resources/hudson/model/Computer/sidepanel_tr.properties
+++ b/core/src/main/resources/hudson/model/Computer/sidepanel_tr.properties
@@ -23,6 +23,6 @@
Back\ to\ List=Listeye Dön
Build\ History=Yapılandırma Geçmişi
Configure=Yapılandır
-Load\ Statistics=Yüklenme istatistikleri
+Load\ Statistics=Yük İstatistikleri
Script\ Console=Script Konsolu
Status=Durum
diff --git a/core/src/main/resources/hudson/model/ComputerSet/_legend.jelly b/core/src/main/resources/hudson/model/ComputerSet/_legend.jelly
index 07871a6fe5f1..1668323aa584 100644
--- a/core/src/main/resources/hudson/model/ComputerSet/_legend.jelly
+++ b/core/src/main/resources/hudson/model/ComputerSet/_legend.jelly
@@ -10,6 +10,13 @@
${%online}
+
\
Agents will be shown as suspended
in the Build Executor Status
widgets.
+paused=The agent has been put offline due to the configured retention strategy. It will be brought back online when needed (e.g. a new task requests it).
offline=None of the above conditions applies. The agent is not connected or it is still connected but a node monitor decided \
that the agent is not in a healthy state. An agent in this state should be investigated.
Legend=Icon legend
diff --git a/core/src/main/resources/hudson/model/ComputerSet/index.jelly b/core/src/main/resources/hudson/model/ComputerSet/index.jelly
index c96346ac4949..5e957e2bd9c0 100644
--- a/core/src/main/resources/hudson/model/ComputerSet/index.jelly
+++ b/core/src/main/resources/hudson/model/ComputerSet/index.jelly
@@ -77,7 +77,7 @@ THE SOFTWARE.
diff --git a/core/src/main/resources/hudson/model/ComputerSet/index_tr.properties b/core/src/main/resources/hudson/model/ComputerSet/index_tr.properties
new file mode 100644
index 000000000000..0434bbae3c0e
--- /dev/null
+++ b/core/src/main/resources/hudson/model/ComputerSet/index_tr.properties
@@ -0,0 +1,4 @@
+Nodes=Sunucular
+New\ Node=Yeni Sunucu
+Name=İsim
+Data\ obtained=Son güncelleme
diff --git a/core/src/main/resources/hudson/model/ComputerSet/new_tr.properties b/core/src/main/resources/hudson/model/ComputerSet/new_tr.properties
new file mode 100644
index 000000000000..921759b8e7ef
--- /dev/null
+++ b/core/src/main/resources/hudson/model/ComputerSet/new_tr.properties
@@ -0,0 +1,2 @@
+New\ node=Yeni sunucu
+Node\ name=Sunucu ismi
diff --git a/core/src/main/resources/hudson/model/ComputerSet/sidepanel_tr.properties b/core/src/main/resources/hudson/model/ComputerSet/sidepanel_tr.properties
index ec93e331bfed..f4761cfdc026 100644
--- a/core/src/main/resources/hudson/model/ComputerSet/sidepanel_tr.properties
+++ b/core/src/main/resources/hudson/model/ComputerSet/sidepanel_tr.properties
@@ -22,3 +22,5 @@
Back\ to\ Dashboard=Kontrol Merkezi'ne Dön
Manage\ Jenkins=Jenkins''i Yönet
+Nodes=Sunucular
+Clouds=Bulutlar
diff --git a/core/src/main/resources/hudson/model/Job/_api.jelly b/core/src/main/resources/hudson/model/Job/_api.jelly
index 28a161afbb65..652a44c4ec56 100644
--- a/core/src/main/resources/hudson/model/Job/_api.jelly
+++ b/core/src/main/resources/hudson/model/Job/_api.jelly
@@ -30,7 +30,7 @@ THE SOFTWARE.
Retrieving all builds
builds
- tree only contains the 50 newest builds. If you really need to get all builds, access the allBuilds
tree,
+ tree only contains the 100 newest builds. If you really need to get all builds, access the allBuilds
tree,
e.g. by fetching …/api/xml?tree=allBuilds[…]
. Note that this may result in significant performance degradation
if you have a lot of builds in this job.
General usage statistics
+ General usage statistics
@@ -24,7 +24,7 @@
Telemetry collection
+ Telemetry collection
-
+
- End date: ${collector.end}
-
+
+
+ End date: ${collector.end}
+