From 90a6b0273d29c634a325abe7f21e8fb31f9b578c Mon Sep 17 00:00:00 2001
From: Martyn Gigg <martyn.gigg@stfc.ac.uk>
Date: Fri, 13 Jul 2018 11:44:41 +0100
Subject: [PATCH] Groovy script to run a proces on all Jenkins nodes

---
 dev-docs/source/JenkinsConfiguration.rst | 20 ++++++++++++++++++--
 1 file changed, 18 insertions(+), 2 deletions(-)

diff --git a/dev-docs/source/JenkinsConfiguration.rst b/dev-docs/source/JenkinsConfiguration.rst
index 3d086895bee..c578d67f7b3 100644
--- a/dev-docs/source/JenkinsConfiguration.rst
+++ b/dev-docs/source/JenkinsConfiguration.rst
@@ -414,8 +414,8 @@ Print All Loggers
       println "${it}";
     }
 
-Run a Process
--------------
+Run a Process On a Single Node
+------------------------------
 
 .. code-block:: groovy
 
@@ -426,6 +426,22 @@ Run a Process
     Process p = "cmd /c Taskkill /F /IM MantidPlot.exe".execute()
     println "${p.text}"
 
+Run a Process Across All Nodes
+------------------------------
+
+.. code-block:: groovy
+
+    import hudson.util.RemotingDiagnostics;
+
+    for (slave in hudson.model.Hudson.instance.slaves) {
+       println slave.name;
+       // is it connected?
+       if(slave.getChannel()) {
+        println RemotingDiagnostics.executeGroovy("println \"ls\".execute().text", slave.getChannel());
+      }
+    }
+
+
 Update default values for job parameters
 ----------------------------------------
 
-- 
GitLab