rundeck-api-java-client/xref/org/rundeck/api/RundeckClient.html
2014-01-23 12:29:46 -08:00

3426 lines
536 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>RundeckClient xref</title>
<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../apidocs/org/rundeck/api/RundeckClient.html">View Javadoc</a></div><pre>
<a class="jxr_linenumber" name="1" href="#1">1</a> <em class="jxr_comment">/*</em>
<a class="jxr_linenumber" name="2" href="#2">2</a> <em class="jxr_comment"> * Copyright 2011 Vincent Behar</em>
<a class="jxr_linenumber" name="3" href="#3">3</a> <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="4" href="#4">4</a> <em class="jxr_comment"> * Licensed under the Apache License, Version 2.0 (the "License");</em>
<a class="jxr_linenumber" name="5" href="#5">5</a> <em class="jxr_comment"> * you may not use this file except in compliance with the License.</em>
<a class="jxr_linenumber" name="6" href="#6">6</a> <em class="jxr_comment"> * You may obtain a copy of the License at</em>
<a class="jxr_linenumber" name="7" href="#7">7</a> <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="8" href="#8">8</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em>
<a class="jxr_linenumber" name="9" href="#9">9</a> <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="10" href="#10">10</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em>
<a class="jxr_linenumber" name="11" href="#11">11</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em>
<a class="jxr_linenumber" name="12" href="#12">12</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em>
<a class="jxr_linenumber" name="13" href="#13">13</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em>
<a class="jxr_linenumber" name="14" href="#14">14</a> <em class="jxr_comment"> * limitations under the License.</em>
<a class="jxr_linenumber" name="15" href="#15">15</a> <em class="jxr_comment"> */</em>
<a class="jxr_linenumber" name="16" href="#16">16</a> <strong class="jxr_keyword">package</strong> org.rundeck.api;
<a class="jxr_linenumber" name="17" href="#17">17</a>
<a class="jxr_linenumber" name="18" href="#18">18</a> <strong class="jxr_keyword">import</strong> org.apache.commons.io.FileUtils;
<a class="jxr_linenumber" name="19" href="#19">19</a> <strong class="jxr_keyword">import</strong> org.apache.commons.io.IOUtils;
<a class="jxr_linenumber" name="20" href="#20">20</a> <strong class="jxr_keyword">import</strong> org.apache.commons.lang.StringUtils;
<a class="jxr_linenumber" name="21" href="#21">21</a> <strong class="jxr_keyword">import</strong> org.rundeck.api.RundeckApiException.RundeckApiLoginException;
<a class="jxr_linenumber" name="22" href="#22">22</a> <strong class="jxr_keyword">import</strong> org.rundeck.api.RundeckApiException.RundeckApiTokenException;
<a class="jxr_linenumber" name="23" href="#23">23</a> <strong class="jxr_keyword">import</strong> org.rundeck.api.domain.*;
<a class="jxr_linenumber" name="24" href="#24">24</a> <strong class="jxr_keyword">import</strong> org.rundeck.api.domain.RundeckExecution.ExecutionStatus;
<a class="jxr_linenumber" name="25" href="#25">25</a> <strong class="jxr_keyword">import</strong> org.rundeck.api.parser.*;
<a class="jxr_linenumber" name="26" href="#26">26</a> <strong class="jxr_keyword">import</strong> org.rundeck.api.query.ExecutionQuery;
<a class="jxr_linenumber" name="27" href="#27">27</a> <strong class="jxr_keyword">import</strong> org.rundeck.api.util.AssertUtil;
<a class="jxr_linenumber" name="28" href="#28">28</a> <strong class="jxr_keyword">import</strong> org.rundeck.api.util.PagedResults;
<a class="jxr_linenumber" name="29" href="#29">29</a> <strong class="jxr_keyword">import</strong> org.rundeck.api.util.ParametersUtil;
<a class="jxr_linenumber" name="30" href="#30">30</a>
<a class="jxr_linenumber" name="31" href="#31">31</a> <strong class="jxr_keyword">import</strong> java.io.File;
<a class="jxr_linenumber" name="32" href="#32">32</a> <strong class="jxr_keyword">import</strong> java.io.FileInputStream;
<a class="jxr_linenumber" name="33" href="#33">33</a> <strong class="jxr_keyword">import</strong> java.io.IOException;
<a class="jxr_linenumber" name="34" href="#34">34</a> <strong class="jxr_keyword">import</strong> java.io.InputStream;
<a class="jxr_linenumber" name="35" href="#35">35</a> <strong class="jxr_keyword">import</strong> java.io.Serializable;
<a class="jxr_linenumber" name="36" href="#36">36</a> <strong class="jxr_keyword">import</strong> java.util.ArrayList;
<a class="jxr_linenumber" name="37" href="#37">37</a> <strong class="jxr_keyword">import</strong> java.util.Date;
<a class="jxr_linenumber" name="38" href="#38">38</a> <strong class="jxr_keyword">import</strong> java.util.List;
<a class="jxr_linenumber" name="39" href="#39">39</a> <strong class="jxr_keyword">import</strong> java.util.Properties;
<a class="jxr_linenumber" name="40" href="#40">40</a> <strong class="jxr_keyword">import</strong> java.util.concurrent.TimeUnit;
<a class="jxr_linenumber" name="41" href="#41">41</a>
<a class="jxr_linenumber" name="42" href="#42">42</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="43" href="#43">43</a> <em class="jxr_javadoccomment"> * Main entry point to talk to a RunDeck instance.</em>
<a class="jxr_linenumber" name="44" href="#44">44</a> <em class="jxr_javadoccomment"> * &lt;p&gt;</em>
<a class="jxr_linenumber" name="45" href="#45">45</a> <em class="jxr_javadoccomment"> * &lt;em&gt;Deprecation Warning:&lt;/em&gt; These methods which take multiple arguments are deprecated in</em>
<a class="jxr_linenumber" name="46" href="#46">46</a> <em class="jxr_javadoccomment"> * favor of single argument versions, and associated Builder classes to generate them.</em>
<a class="jxr_linenumber" name="47" href="#47">47</a> <em class="jxr_javadoccomment"> * These methods will be removed in version 10 of this library:</em>
<a class="jxr_linenumber" name="48" href="#48">48</a> <em class="jxr_javadoccomment"> * &lt;ul&gt;</em>
<a class="jxr_linenumber" name="49" href="#49">49</a> <em class="jxr_javadoccomment"> * &lt;li&gt; triggerAdhocScript(...), use {@link #triggerAdhocScript(RunAdhocScript)} and {@link RunAdhocScriptBuilder}&lt;/li&gt;</em>
<a class="jxr_linenumber" name="50" href="#50">50</a> <em class="jxr_javadoccomment"> * &lt;li&gt; runAdhocScript(...), use {@link #runAdhocScript(RunAdhocScript)} and {@link RunAdhocScriptBuilder}&lt;/li&gt;</em>
<a class="jxr_linenumber" name="51" href="#51">51</a> <em class="jxr_javadoccomment"> * &lt;li&gt; triggerAdhocCommand(...), use {@link #triggerAdhocCommand(RunAdhocCommand)} and {@link</em>
<a class="jxr_linenumber" name="52" href="#52">52</a> <em class="jxr_javadoccomment"> * RunAdhocCommandBuilder}&lt;/li&gt;</em>
<a class="jxr_linenumber" name="53" href="#53">53</a> <em class="jxr_javadoccomment"> * &lt;li&gt; runAdhocCommand(...), use {@link #runAdhocCommand(RunAdhocCommand)} and {@link</em>
<a class="jxr_linenumber" name="54" href="#54">54</a> <em class="jxr_javadoccomment"> * RunAdhocCommandBuilder}&lt;/li&gt;</em>
<a class="jxr_linenumber" name="55" href="#55">55</a> <em class="jxr_javadoccomment"> * &lt;li&gt; triggerJob(...), use {@link #triggerJob(RunJob)} and {@link</em>
<a class="jxr_linenumber" name="56" href="#56">56</a> <em class="jxr_javadoccomment"> * RunJobBuilder}&lt;/li&gt;</em>
<a class="jxr_linenumber" name="57" href="#57">57</a> <em class="jxr_javadoccomment"> * &lt;li&gt; runJob(...), use {@link #runJob(RunJob)} and {@link</em>
<a class="jxr_linenumber" name="58" href="#58">58</a> <em class="jxr_javadoccomment"> * RunJobBuilder}&lt;/li&gt;</em>
<a class="jxr_linenumber" name="59" href="#59">59</a> <em class="jxr_javadoccomment"> * &lt;li&gt; importJobs(...), use {@link #importJobs(RundeckJobsImport)} and {@link #importJobs(String, RundeckJobsImport)}&lt;/li&gt;</em>
<a class="jxr_linenumber" name="60" href="#60">60</a> <em class="jxr_javadoccomment"> * &lt;/ul&gt;</em>
<a class="jxr_linenumber" name="61" href="#61">61</a> <em class="jxr_javadoccomment"> * &lt;/p&gt;</em>
<a class="jxr_linenumber" name="62" href="#62">62</a> <em class="jxr_javadoccomment"> * &lt;p&gt;</em>
<a class="jxr_linenumber" name="63" href="#63">63</a> <em class="jxr_javadoccomment"> * You have 2 methods for authentication : login-based or token-based. If you want to use the first, you need to provide</em>
<a class="jxr_linenumber" name="64" href="#64">64</a> <em class="jxr_javadoccomment"> * both a "login" and a "password". Otherwise, just provide a "token" (also called "auth-token"). See the RunDeck</em>
<a class="jxr_linenumber" name="65" href="#65">65</a> <em class="jxr_javadoccomment"> * documentation for generating such a token.&lt;/p&gt;</em>
<a class="jxr_linenumber" name="66" href="#66">66</a> <em class="jxr_javadoccomment"> * &lt;br&gt;</em>
<a class="jxr_linenumber" name="67" href="#67">67</a> <em class="jxr_javadoccomment"> * Usage : &lt;br&gt;</em>
<a class="jxr_linenumber" name="68" href="#68">68</a> <em class="jxr_javadoccomment"> * &lt;code&gt;</em>
<a class="jxr_linenumber" name="69" href="#69">69</a> <em class="jxr_javadoccomment"> * &lt;pre&gt;</em>
<a class="jxr_linenumber" name="70" href="#70">70</a> <em class="jxr_javadoccomment"> * // using login-based authentication :</em>
<a class="jxr_linenumber" name="71" href="#71">71</a> <em class="jxr_javadoccomment"> * RundeckClient rundeck = new RundeckClient("<a href="http://localhost:4440" target="alexandria_uri">http://localhost:4440</a>", "admin", "admin");</em>
<a class="jxr_linenumber" name="72" href="#72">72</a> <em class="jxr_javadoccomment"> * // or for a token-based authentication :</em>
<a class="jxr_linenumber" name="73" href="#73">73</a> <em class="jxr_javadoccomment"> * RundeckClient rundeck = new RundeckClient("<a href="http://localhost:4440" target="alexandria_uri">http://localhost:4440</a>", "PDDNKo5VE29kpk4prOUDr2rsKdRkEvsD");</em>
<a class="jxr_linenumber" name="74" href="#74">74</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="75" href="#75">75</a> <em class="jxr_javadoccomment"> * List&amp;lt;RundeckProject&amp;gt; projects = rundeck.getProjects();</em>
<a class="jxr_linenumber" name="76" href="#76">76</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="77" href="#77">77</a> <em class="jxr_javadoccomment"> * RundeckJob job = rundeck.findJob("my-project", "main-group/sub-group", "job-name");</em>
<a class="jxr_linenumber" name="78" href="#78">78</a> <em class="jxr_javadoccomment"> * RundeckExecution execution = rundeck.triggerJob(job.getId(),</em>
<a class="jxr_linenumber" name="79" href="#79">79</a> <em class="jxr_javadoccomment"> * new OptionsBuilder().addOption("version", "1.2.0").toProperties());</em>
<a class="jxr_linenumber" name="80" href="#80">80</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="81" href="#81">81</a> <em class="jxr_javadoccomment"> * List&amp;lt;RundeckExecution&amp;gt; runningExecutions = rundeck.getRunningExecutions("my-project");</em>
<a class="jxr_linenumber" name="82" href="#82">82</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="83" href="#83">83</a> <em class="jxr_javadoccomment"> * rundeck.exportJobsToFile("/tmp/jobs.xml", FileType.XML, "my-project");</em>
<a class="jxr_linenumber" name="84" href="#84">84</a> <em class="jxr_javadoccomment"> * rundeck.importJobs("/tmp/jobs.xml", FileType.XML);</em>
<a class="jxr_linenumber" name="85" href="#85">85</a> <em class="jxr_javadoccomment"> * &lt;/pre&gt;</em>
<a class="jxr_linenumber" name="86" href="#86">86</a> <em class="jxr_javadoccomment"> * &lt;/code&gt;</em>
<a class="jxr_linenumber" name="87" href="#87">87</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="88" href="#88">88</a> <em class="jxr_javadoccomment"> * @author Vincent Behar</em>
<a class="jxr_linenumber" name="89" href="#89">89</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="90" href="#90">90</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../org/rundeck/api/RundeckClient.html">RundeckClient</a> <strong class="jxr_keyword">implements</strong> Serializable {
<a class="jxr_linenumber" name="91" href="#91">91</a>
<a class="jxr_linenumber" name="92" href="#92">92</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> serialVersionUID = 1L;
<a class="jxr_linenumber" name="93" href="#93">93</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String JOBS_IMPORT = <span class="jxr_string">"/jobs/import"</span>;
<a class="jxr_linenumber" name="94" href="#94">94</a>
<a class="jxr_linenumber" name="95" href="#95">95</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="96" href="#96">96</a> <em class="jxr_javadoccomment"> * Supported version numbers</em>
<a class="jxr_linenumber" name="97" href="#97">97</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="98" href="#98">98</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> enum <a href="../../../org/rundeck/api/RundeckClient.html">Version</a> {
<a class="jxr_linenumber" name="99" href="#99">99</a> V5(5),
<a class="jxr_linenumber" name="100" href="#100">100</a> V6(6),
<a class="jxr_linenumber" name="101" href="#101">101</a> V7(7),
<a class="jxr_linenumber" name="102" href="#102">102</a> V8(8),
<a class="jxr_linenumber" name="103" href="#103">103</a> V9(9),
<a class="jxr_linenumber" name="104" href="#104">104</a> ;
<a class="jxr_linenumber" name="105" href="#105">105</a>
<a class="jxr_linenumber" name="106" href="#106">106</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> versionNumber;
<a class="jxr_linenumber" name="107" href="#107">107</a>
<a class="jxr_linenumber" name="108" href="#108">108</a> <a href="../../../org/rundeck/api/RundeckClient.html">Version</a>(<strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> i) {
<a class="jxr_linenumber" name="109" href="#109">109</a> versionNumber = i;
<a class="jxr_linenumber" name="110" href="#110">110</a> }
<a class="jxr_linenumber" name="111" href="#111">111</a>
<a class="jxr_linenumber" name="112" href="#112">112</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> getVersionNumber() {
<a class="jxr_linenumber" name="113" href="#113">113</a> <strong class="jxr_keyword">return</strong> versionNumber;
<a class="jxr_linenumber" name="114" href="#114">114</a> }
<a class="jxr_linenumber" name="115" href="#115">115</a> }
<a class="jxr_linenumber" name="116" href="#116">116</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> <a href="../../../org/rundeck/api/RundeckClient.html">Version</a> of the API supported */</em>
<a class="jxr_linenumber" name="117" href="#117">117</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">transient</strong> <strong class="jxr_keyword">int</strong> API_VERSION = Version.V9.getVersionNumber();
<a class="jxr_linenumber" name="118" href="#118">118</a>
<a class="jxr_linenumber" name="119" href="#119">119</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String API = <span class="jxr_string">"/api/"</span>;
<a class="jxr_linenumber" name="120" href="#120">120</a>
<a class="jxr_linenumber" name="121" href="#121">121</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> End-point of the API */</em>
<a class="jxr_linenumber" name="122" href="#122">122</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">transient</strong> String API_ENDPOINT = API + API_VERSION;
<a class="jxr_linenumber" name="123" href="#123">123</a>
<a class="jxr_linenumber" name="124" href="#124">124</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> Default value for the "pooling interval" used when running jobs/commands/scripts */</em>
<a class="jxr_linenumber" name="125" href="#125">125</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">transient</strong> <strong class="jxr_keyword">long</strong> DEFAULT_POOLING_INTERVAL = 5;
<a class="jxr_linenumber" name="126" href="#126">126</a>
<a class="jxr_linenumber" name="127" href="#127">127</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> Default unit of the "pooling interval" used when running jobs/commands/scripts */</em>
<a class="jxr_linenumber" name="128" href="#128">128</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">transient</strong> TimeUnit DEFAULT_POOLING_UNIT = TimeUnit.SECONDS;
<a class="jxr_linenumber" name="129" href="#129">129</a>
<a class="jxr_linenumber" name="130" href="#130">130</a> <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> URL of the RunDeck instance ("<a href="<a href="http://localhost:4440" target="alexandria_uri">http://localhost:4440</a>" target="alexandria_uri"><a href="http://localhost:4440" target="alexandria_uri">http://localhost:4440</a></a>", "http://rundeck.your-compagny.com/", etc) */</em>
<a class="jxr_linenumber" name="131" href="#131">131</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> String url;
<a class="jxr_linenumber" name="132" href="#132">132</a>
<a class="jxr_linenumber" name="133" href="#133">133</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> apiVersion = API_VERSION;
<a class="jxr_linenumber" name="134" href="#134">134</a>
<a class="jxr_linenumber" name="135" href="#135">135</a> <strong class="jxr_keyword">private</strong> String token;
<a class="jxr_linenumber" name="136" href="#136">136</a>
<a class="jxr_linenumber" name="137" href="#137">137</a> <strong class="jxr_keyword">private</strong> String login;
<a class="jxr_linenumber" name="138" href="#138">138</a>
<a class="jxr_linenumber" name="139" href="#139">139</a> <strong class="jxr_keyword">private</strong> String password;
<a class="jxr_linenumber" name="140" href="#140">140</a>
<a class="jxr_linenumber" name="141" href="#141">141</a> <strong class="jxr_keyword">private</strong> String sessionID;
<a class="jxr_linenumber" name="142" href="#142">142</a>
<a class="jxr_linenumber" name="143" href="#143">143</a> <strong class="jxr_keyword">void</strong> setToken(String token) {
<a class="jxr_linenumber" name="144" href="#144">144</a> <strong class="jxr_keyword">this</strong>.token = token;
<a class="jxr_linenumber" name="145" href="#145">145</a> }
<a class="jxr_linenumber" name="146" href="#146">146</a>
<a class="jxr_linenumber" name="147" href="#147">147</a> <strong class="jxr_keyword">void</strong> setLogin(String login) {
<a class="jxr_linenumber" name="148" href="#148">148</a> <strong class="jxr_keyword">this</strong>.login = login;
<a class="jxr_linenumber" name="149" href="#149">149</a> }
<a class="jxr_linenumber" name="150" href="#150">150</a>
<a class="jxr_linenumber" name="151" href="#151">151</a> <strong class="jxr_keyword">void</strong> setPassword(String password) {
<a class="jxr_linenumber" name="152" href="#152">152</a> <strong class="jxr_keyword">this</strong>.password = password;
<a class="jxr_linenumber" name="153" href="#153">153</a> }
<a class="jxr_linenumber" name="154" href="#154">154</a>
<a class="jxr_linenumber" name="155" href="#155">155</a> <strong class="jxr_keyword">void</strong> setSessionID(String sessionID) {
<a class="jxr_linenumber" name="156" href="#156">156</a> <strong class="jxr_keyword">this</strong>.sessionID = sessionID;
<a class="jxr_linenumber" name="157" href="#157">157</a> }
<a class="jxr_linenumber" name="158" href="#158">158</a>
<a class="jxr_linenumber" name="159" href="#159">159</a> <strong class="jxr_keyword">int</strong> getApiVersion() {
<a class="jxr_linenumber" name="160" href="#160">160</a> <strong class="jxr_keyword">return</strong> (apiVersion &gt; 0 ? apiVersion : API_VERSION);
<a class="jxr_linenumber" name="161" href="#161">161</a> }
<a class="jxr_linenumber" name="162" href="#162">162</a>
<a class="jxr_linenumber" name="163" href="#163">163</a> <strong class="jxr_keyword">void</strong> setApiVersion(<strong class="jxr_keyword">int</strong> apiVersion) {
<a class="jxr_linenumber" name="164" href="#164">164</a> <strong class="jxr_keyword">this</strong>.apiVersion = (apiVersion &gt; 0 ? apiVersion : API_VERSION);
<a class="jxr_linenumber" name="165" href="#165">165</a> }
<a class="jxr_linenumber" name="166" href="#166">166</a>
<a class="jxr_linenumber" name="167" href="#167">167</a> <strong class="jxr_keyword">void</strong> setApiVersion(<a href="../../../org/rundeck/api/RundeckClient.html">Version</a> apiVersion) {
<a class="jxr_linenumber" name="168" href="#168">168</a> setApiVersion(apiVersion.getVersionNumber());
<a class="jxr_linenumber" name="169" href="#169">169</a> }
<a class="jxr_linenumber" name="170" href="#170">170</a>
<a class="jxr_linenumber" name="171" href="#171">171</a> String getApiEndpoint() {
<a class="jxr_linenumber" name="172" href="#172">172</a> <strong class="jxr_keyword">return</strong> API + getApiVersion();
<a class="jxr_linenumber" name="173" href="#173">173</a> }
<a class="jxr_linenumber" name="174" href="#174">174</a>
<a class="jxr_linenumber" name="175" href="#175">175</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="176" href="#176">176</a> <em class="jxr_javadoccomment"> * Instantiate a new {@link RundeckClient} for the RunDeck instance at the given url, using login-based</em>
<a class="jxr_linenumber" name="177" href="#177">177</a> <em class="jxr_javadoccomment"> * authentication.</em>
<a class="jxr_linenumber" name="178" href="#178">178</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="179" href="#179">179</a> <em class="jxr_javadoccomment"> * @param url of the RunDeck instance ("<a href="http://localhost:4440" target="alexandria_uri">http://localhost:4440</a>", "http://rundeck.your-compagny.com/", etc)</em>
<a class="jxr_linenumber" name="180" href="#180">180</a> <em class="jxr_javadoccomment"> * @param login to use for authentication on the RunDeck instance</em>
<a class="jxr_linenumber" name="181" href="#181">181</a> <em class="jxr_javadoccomment"> * @param password to use for authentication on the RunDeck instance</em>
<a class="jxr_linenumber" name="182" href="#182">182</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the url, login or password is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="183" href="#183">183</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="184" href="#184">184</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/RundeckClient.html">RundeckClient</a>(String url, String login, String password) <strong class="jxr_keyword">throws</strong> IllegalArgumentException {
<a class="jxr_linenumber" name="185" href="#185">185</a> <strong class="jxr_keyword">this</strong>(url);
<a class="jxr_linenumber" name="186" href="#186">186</a> AssertUtil.notBlank(login, <span class="jxr_string">"The RunDeck login is mandatory !"</span>);
<a class="jxr_linenumber" name="187" href="#187">187</a> AssertUtil.notBlank(password, <span class="jxr_string">"The RunDeck password is mandatory !"</span>);
<a class="jxr_linenumber" name="188" href="#188">188</a> <strong class="jxr_keyword">this</strong>.login = login;
<a class="jxr_linenumber" name="189" href="#189">189</a> <strong class="jxr_keyword">this</strong>.password = password;
<a class="jxr_linenumber" name="190" href="#190">190</a> <strong class="jxr_keyword">this</strong>.token = <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="191" href="#191">191</a> }
<a class="jxr_linenumber" name="192" href="#192">192</a>
<a class="jxr_linenumber" name="193" href="#193">193</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="194" href="#194">194</a> <em class="jxr_javadoccomment"> * Instantiate a new {@link RundeckClient} for the RunDeck instance at the given url,</em>
<a class="jxr_linenumber" name="195" href="#195">195</a> <em class="jxr_javadoccomment"> * using token-based or session-based authentication. Either token or sessionID must be valid</em>
<a class="jxr_linenumber" name="196" href="#196">196</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="197" href="#197">197</a> <em class="jxr_javadoccomment"> * @param url of the RunDeck instance ("<a href="http://localhost:4440" target="alexandria_uri">http://localhost:4440</a>", "http://rundeck.your-compagny.com/", etc)</em>
<a class="jxr_linenumber" name="198" href="#198">198</a> <em class="jxr_javadoccomment"> * @param token to use for authentication on the RunDeck instance</em>
<a class="jxr_linenumber" name="199" href="#199">199</a> <em class="jxr_javadoccomment"> * @param sessionID to use for session authentication on the RunDeck instance</em>
<a class="jxr_linenumber" name="200" href="#200">200</a> <em class="jxr_javadoccomment"> * @param useToken should be true if using token, false if using sessionID</em>
<a class="jxr_linenumber" name="201" href="#201">201</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the url or token is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="202" href="#202">202</a> <em class="jxr_javadoccomment"> * @deprecated Use the builder {@link RundeckClientBuilder}, this method will not be public in version 10 of this library.</em>
<a class="jxr_linenumber" name="203" href="#203">203</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="204" href="#204">204</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/RundeckClient.html">RundeckClient</a>(String url, String token, String sessionID, <strong class="jxr_keyword">boolean</strong> useToken) <strong class="jxr_keyword">throws</strong> IllegalArgumentException {
<a class="jxr_linenumber" name="205" href="#205">205</a> <strong class="jxr_keyword">this</strong>(url);
<a class="jxr_linenumber" name="206" href="#206">206</a>
<a class="jxr_linenumber" name="207" href="#207">207</a> <strong class="jxr_keyword">if</strong>(useToken){
<a class="jxr_linenumber" name="208" href="#208">208</a> AssertUtil.notBlank(token, <span class="jxr_string">"Token is mandatory!"</span>);
<a class="jxr_linenumber" name="209" href="#209">209</a> <strong class="jxr_keyword">this</strong>.token = token;
<a class="jxr_linenumber" name="210" href="#210">210</a> <strong class="jxr_keyword">this</strong>.sessionID = <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="211" href="#211">211</a> }
<a class="jxr_linenumber" name="212" href="#212">212</a> <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="213" href="#213">213</a> AssertUtil.notBlank(sessionID, <span class="jxr_string">"sessionID is mandatory!"</span>);
<a class="jxr_linenumber" name="214" href="#214">214</a> <strong class="jxr_keyword">this</strong>.sessionID = sessionID;
<a class="jxr_linenumber" name="215" href="#215">215</a> <strong class="jxr_keyword">this</strong>.token = <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="216" href="#216">216</a> }
<a class="jxr_linenumber" name="217" href="#217">217</a> <strong class="jxr_keyword">this</strong>.login = <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="218" href="#218">218</a> <strong class="jxr_keyword">this</strong>.password = <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="219" href="#219">219</a> }
<a class="jxr_linenumber" name="220" href="#220">220</a>
<a class="jxr_linenumber" name="221" href="#221">221</a>
<a class="jxr_linenumber" name="222" href="#222">222</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/RundeckClient.html">RundeckClient</a>(String url, String token) <strong class="jxr_keyword">throws</strong> IllegalArgumentException {
<a class="jxr_linenumber" name="223" href="#223">223</a> <strong class="jxr_keyword">this</strong>(url, token, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">true</strong>);
<a class="jxr_linenumber" name="224" href="#224">224</a> }
<a class="jxr_linenumber" name="225" href="#225">225</a>
<a class="jxr_linenumber" name="226" href="#226">226</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="227" href="#227">227</a> <em class="jxr_javadoccomment"> * Used by RundeckClientBuilder</em>
<a class="jxr_linenumber" name="228" href="#228">228</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="229" href="#229">229</a> <a href="../../../org/rundeck/api/RundeckClient.html">RundeckClient</a>(<strong class="jxr_keyword">final</strong> String url) <strong class="jxr_keyword">throws</strong> IllegalArgumentException {
<a class="jxr_linenumber" name="230" href="#230">230</a> AssertUtil.notBlank(url, <span class="jxr_string">"The RunDeck URL is mandatory !"</span>);
<a class="jxr_linenumber" name="231" href="#231">231</a> <strong class="jxr_keyword">this</strong>.url=url;
<a class="jxr_linenumber" name="232" href="#232">232</a> }
<a class="jxr_linenumber" name="233" href="#233">233</a>
<a class="jxr_linenumber" name="234" href="#234">234</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="235" href="#235">235</a> <em class="jxr_javadoccomment"> * Create a builder for RundeckClient</em>
<a class="jxr_linenumber" name="236" href="#236">236</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="237" href="#237">237</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <a href="../../../org/rundeck/api/RundeckClientBuilder.html">RundeckClientBuilder</a> builder() {
<a class="jxr_linenumber" name="238" href="#238">238</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/RundeckClientBuilder.html">RundeckClientBuilder</a>();
<a class="jxr_linenumber" name="239" href="#239">239</a> }
<a class="jxr_linenumber" name="240" href="#240">240</a>
<a class="jxr_linenumber" name="241" href="#241">241</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="242" href="#242">242</a> <em class="jxr_javadoccomment"> * Try to "ping" the RunDeck instance to see if it is alive</em>
<a class="jxr_linenumber" name="243" href="#243">243</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="244" href="#244">244</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException if the ping fails</em>
<a class="jxr_linenumber" name="245" href="#245">245</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="246" href="#246">246</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> ping() <strong class="jxr_keyword">throws</strong> RundeckApiException {
<a class="jxr_linenumber" name="247" href="#247">247</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/ApiCall.html">ApiCall</a>(<strong class="jxr_keyword">this</strong>).ping();
<a class="jxr_linenumber" name="248" href="#248">248</a> }
<a class="jxr_linenumber" name="249" href="#249">249</a>
<a class="jxr_linenumber" name="250" href="#250">250</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="251" href="#251">251</a> <em class="jxr_javadoccomment"> * Test the authentication on the RunDeck instance.</em>
<a class="jxr_linenumber" name="252" href="#252">252</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="253" href="#253">253</a> <em class="jxr_javadoccomment"> * @return sessionID if doing username+password login and it succeeded</em>
<a class="jxr_linenumber" name="254" href="#254">254</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="255" href="#255">255</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="256" href="#256">256</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="257" href="#257">257</a> <strong class="jxr_keyword">public</strong> String testAuth() <strong class="jxr_keyword">throws</strong> RundeckApiLoginException, RundeckApiTokenException {
<a class="jxr_linenumber" name="258" href="#258">258</a> <strong class="jxr_keyword">return</strong> (<strong class="jxr_keyword">new</strong> ApiCall(<strong class="jxr_keyword">this</strong>)).testAuth();
<a class="jxr_linenumber" name="259" href="#259">259</a> }
<a class="jxr_linenumber" name="260" href="#260">260</a>
<a class="jxr_linenumber" name="261" href="#261">261</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="262" href="#262">262</a> <em class="jxr_javadoccomment"> * @deprecated Use {@link #testAuth()}</em>
<a class="jxr_linenumber" name="263" href="#263">263</a> <em class="jxr_javadoccomment"> * @see #testAuth()</em>
<a class="jxr_linenumber" name="264" href="#264">264</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="265" href="#265">265</a> @Deprecated
<a class="jxr_linenumber" name="266" href="#266">266</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testCredentials() <strong class="jxr_keyword">throws</strong> RundeckApiLoginException, RundeckApiTokenException {
<a class="jxr_linenumber" name="267" href="#267">267</a> testAuth();
<a class="jxr_linenumber" name="268" href="#268">268</a> }
<a class="jxr_linenumber" name="269" href="#269">269</a>
<a class="jxr_linenumber" name="270" href="#270">270</a> <em class="jxr_comment">/*</em>
<a class="jxr_linenumber" name="271" href="#271">271</a> <em class="jxr_comment"> * Projects</em>
<a class="jxr_linenumber" name="272" href="#272">272</a> <em class="jxr_comment"> */</em>
<a class="jxr_linenumber" name="273" href="#273">273</a>
<a class="jxr_linenumber" name="274" href="#274">274</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="275" href="#275">275</a> <em class="jxr_javadoccomment"> * List all projects</em>
<a class="jxr_linenumber" name="276" href="#276">276</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="277" href="#277">277</a> <em class="jxr_javadoccomment"> * @return a {@link List} of {@link RundeckProject} : might be empty, but won't be null</em>
<a class="jxr_linenumber" name="278" href="#278">278</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API</em>
<a class="jxr_linenumber" name="279" href="#279">279</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="280" href="#280">280</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="281" href="#281">281</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="282" href="#282">282</a> <strong class="jxr_keyword">public</strong> List&lt;RundeckProject&gt; getProjects() <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException,
<a class="jxr_linenumber" name="283" href="#283">283</a> <a href="../../../org/rundeck/api/RundeckApiException.html">RundeckApiTokenException</a> {
<a class="jxr_linenumber" name="284" href="#284">284</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/ApiCall.html">ApiCall</a>(<strong class="jxr_keyword">this</strong>).get(<strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/ApiPathBuilder.html">ApiPathBuilder</a>(<span class="jxr_string">"/projects"</span>),
<a class="jxr_linenumber" name="285" href="#285">285</a> <strong class="jxr_keyword">new</strong> ListParser&lt;RundeckProject&gt;(<strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/parser/ProjectParser.html">ProjectParser</a>(), <span class="jxr_string">"result/projects/project"</span>));
<a class="jxr_linenumber" name="286" href="#286">286</a> }
<a class="jxr_linenumber" name="287" href="#287">287</a>
<a class="jxr_linenumber" name="288" href="#288">288</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="289" href="#289">289</a> <em class="jxr_javadoccomment"> * Get the definition of a single project, identified by the given name</em>
<a class="jxr_linenumber" name="290" href="#290">290</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="291" href="#291">291</a> <em class="jxr_javadoccomment"> * @param projectName name of the project - mandatory</em>
<a class="jxr_linenumber" name="292" href="#292">292</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckProject} instance - won't be null</em>
<a class="jxr_linenumber" name="293" href="#293">293</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="294" href="#294">294</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="295" href="#295">295</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="296" href="#296">296</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the projectName is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="297" href="#297">297</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="298" href="#298">298</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckProject.html">RundeckProject</a> getProject(String projectName) <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException,
<a class="jxr_linenumber" name="299" href="#299">299</a> RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="300" href="#300">300</a> AssertUtil.notBlank(projectName, <span class="jxr_string">"projectName is mandatory to get the details of a project !"</span>);
<a class="jxr_linenumber" name="301" href="#301">301</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/ApiCall.html">ApiCall</a>(<strong class="jxr_keyword">this</strong>).get(<strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/ApiPathBuilder.html">ApiPathBuilder</a>(<span class="jxr_string">"/project/"</span>, projectName),
<a class="jxr_linenumber" name="302" href="#302">302</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/parser/ProjectParser.html">ProjectParser</a>(<span class="jxr_string">"result/projects/project"</span>));
<a class="jxr_linenumber" name="303" href="#303">303</a> }
<a class="jxr_linenumber" name="304" href="#304">304</a>
<a class="jxr_linenumber" name="305" href="#305">305</a> <em class="jxr_comment">/*</em>
<a class="jxr_linenumber" name="306" href="#306">306</a> <em class="jxr_comment"> * Jobs</em>
<a class="jxr_linenumber" name="307" href="#307">307</a> <em class="jxr_comment"> */</em>
<a class="jxr_linenumber" name="308" href="#308">308</a>
<a class="jxr_linenumber" name="309" href="#309">309</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="310" href="#310">310</a> <em class="jxr_javadoccomment"> * List all jobs (for all projects)</em>
<a class="jxr_linenumber" name="311" href="#311">311</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="312" href="#312">312</a> <em class="jxr_javadoccomment"> * @return a {@link List} of {@link RundeckJob} : might be empty, but won't be null</em>
<a class="jxr_linenumber" name="313" href="#313">313</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API</em>
<a class="jxr_linenumber" name="314" href="#314">314</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="315" href="#315">315</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="316" href="#316">316</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="317" href="#317">317</a> <strong class="jxr_keyword">public</strong> List&lt;RundeckJob&gt; getJobs() <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException, RundeckApiTokenException {
<a class="jxr_linenumber" name="318" href="#318">318</a> List&lt;RundeckJob&gt; jobs = <strong class="jxr_keyword">new</strong> ArrayList&lt;RundeckJob&gt;();
<a class="jxr_linenumber" name="319" href="#319">319</a> <strong class="jxr_keyword">for</strong> (RundeckProject project : getProjects()) {
<a class="jxr_linenumber" name="320" href="#320">320</a> jobs.addAll(getJobs(project.getName()));
<a class="jxr_linenumber" name="321" href="#321">321</a> }
<a class="jxr_linenumber" name="322" href="#322">322</a> <strong class="jxr_keyword">return</strong> jobs;
<a class="jxr_linenumber" name="323" href="#323">323</a> }
<a class="jxr_linenumber" name="324" href="#324">324</a>
<a class="jxr_linenumber" name="325" href="#325">325</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="326" href="#326">326</a> <em class="jxr_javadoccomment"> * List all jobs that belongs to the given project</em>
<a class="jxr_linenumber" name="327" href="#327">327</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="328" href="#328">328</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="329" href="#329">329</a> <em class="jxr_javadoccomment"> * @return a {@link List} of {@link RundeckJob} : might be empty, but won't be null</em>
<a class="jxr_linenumber" name="330" href="#330">330</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="331" href="#331">331</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="332" href="#332">332</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="333" href="#333">333</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="334" href="#334">334</a> <em class="jxr_javadoccomment"> * @see #getJobs(String, String, String, String...)</em>
<a class="jxr_linenumber" name="335" href="#335">335</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="336" href="#336">336</a> <strong class="jxr_keyword">public</strong> List&lt;RundeckJob&gt; getJobs(String project) <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException,
<a class="jxr_linenumber" name="337" href="#337">337</a> RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="338" href="#338">338</a> <strong class="jxr_keyword">return</strong> getJobs(project, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">new</strong> String[0]);
<a class="jxr_linenumber" name="339" href="#339">339</a> }
<a class="jxr_linenumber" name="340" href="#340">340</a>
<a class="jxr_linenumber" name="341" href="#341">341</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="342" href="#342">342</a> <em class="jxr_javadoccomment"> * List the jobs that belongs to the given project, and matches the given criteria (jobFilter, groupPath and jobIds)</em>
<a class="jxr_linenumber" name="343" href="#343">343</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="344" href="#344">344</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="345" href="#345">345</a> <em class="jxr_javadoccomment"> * @param jobFilter a filter for the job Name - optional</em>
<a class="jxr_linenumber" name="346" href="#346">346</a> <em class="jxr_javadoccomment"> * @param groupPath a group or partial group path to include all jobs within that group path - optional</em>
<a class="jxr_linenumber" name="347" href="#347">347</a> <em class="jxr_javadoccomment"> * @param jobIds a list of Job IDs to include - optional</em>
<a class="jxr_linenumber" name="348" href="#348">348</a> <em class="jxr_javadoccomment"> * @return a {@link List} of {@link RundeckJob} : might be empty, but won't be null</em>
<a class="jxr_linenumber" name="349" href="#349">349</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="350" href="#350">350</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="351" href="#351">351</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="352" href="#352">352</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="353" href="#353">353</a> <em class="jxr_javadoccomment"> * @see #getJobs(String)</em>
<a class="jxr_linenumber" name="354" href="#354">354</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="355" href="#355">355</a> <strong class="jxr_keyword">public</strong> List&lt;RundeckJob&gt; getJobs(String project, String jobFilter, String groupPath, String... jobIds)
<a class="jxr_linenumber" name="356" href="#356">356</a> <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="357" href="#357">357</a> AssertUtil.notBlank(project, <span class="jxr_string">"project is mandatory to get all jobs !"</span>);
<a class="jxr_linenumber" name="358" href="#358">358</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/ApiCall.html">ApiCall</a>(<strong class="jxr_keyword">this</strong>).get(<strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/ApiPathBuilder.html">ApiPathBuilder</a>(<span class="jxr_string">"/jobs"</span>).param(<span class="jxr_string">"project"</span>, project)
<a class="jxr_linenumber" name="359" href="#359">359</a> .param(<span class="jxr_string">"jobFilter"</span>, jobFilter)
<a class="jxr_linenumber" name="360" href="#360">360</a> .param(<span class="jxr_string">"groupPath"</span>, groupPath)
<a class="jxr_linenumber" name="361" href="#361">361</a> .param(<span class="jxr_string">"idlist"</span>, StringUtils.join(jobIds, <span class="jxr_string">","</span>)),
<a class="jxr_linenumber" name="362" href="#362">362</a> <strong class="jxr_keyword">new</strong> ListParser&lt;RundeckJob&gt;(<strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/parser/JobParser.html">JobParser</a>(), <span class="jxr_string">"result/jobs/job"</span>));
<a class="jxr_linenumber" name="363" href="#363">363</a> }
<a class="jxr_linenumber" name="364" href="#364">364</a>
<a class="jxr_linenumber" name="365" href="#365">365</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="366" href="#366">366</a> <em class="jxr_javadoccomment"> * Export the definitions of all jobs that belongs to the given project</em>
<a class="jxr_linenumber" name="367" href="#367">367</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="368" href="#368">368</a> <em class="jxr_javadoccomment"> * @param filename path of the file where the content should be saved - mandatory</em>
<a class="jxr_linenumber" name="369" href="#369">369</a> <em class="jxr_javadoccomment"> * @param format of the export. See {@link FileType} - mandatory</em>
<a class="jxr_linenumber" name="370" href="#370">370</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="371" href="#371">371</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="372" href="#372">372</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="373" href="#373">373</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="374" href="#374">374</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the format or project is blank (null, empty or whitespace), or the format is</em>
<a class="jxr_linenumber" name="375" href="#375">375</a> <em class="jxr_javadoccomment"> * invalid</em>
<a class="jxr_linenumber" name="376" href="#376">376</a> <em class="jxr_javadoccomment"> * @throws IOException if we failed to write to the file</em>
<a class="jxr_linenumber" name="377" href="#377">377</a> <em class="jxr_javadoccomment"> * @see #exportJobsToFile(String, FileType, String, String, String, String...)</em>
<a class="jxr_linenumber" name="378" href="#378">378</a> <em class="jxr_javadoccomment"> * @see #exportJobs(String, String)</em>
<a class="jxr_linenumber" name="379" href="#379">379</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="380" href="#380">380</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> exportJobsToFile(String filename, String format, String project) <strong class="jxr_keyword">throws</strong> RundeckApiException,
<a class="jxr_linenumber" name="381" href="#381">381</a> RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException, IOException {
<a class="jxr_linenumber" name="382" href="#382">382</a> AssertUtil.notBlank(format, <span class="jxr_string">"format is mandatory to export jobs !"</span>);
<a class="jxr_linenumber" name="383" href="#383">383</a> exportJobsToFile(filename, FileType.valueOf(StringUtils.upperCase(format)), project);
<a class="jxr_linenumber" name="384" href="#384">384</a> }
<a class="jxr_linenumber" name="385" href="#385">385</a>
<a class="jxr_linenumber" name="386" href="#386">386</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="387" href="#387">387</a> <em class="jxr_javadoccomment"> * Export the definitions of all jobs that belongs to the given project</em>
<a class="jxr_linenumber" name="388" href="#388">388</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="389" href="#389">389</a> <em class="jxr_javadoccomment"> * @param filename path of the file where the content should be saved - mandatory</em>
<a class="jxr_linenumber" name="390" href="#390">390</a> <em class="jxr_javadoccomment"> * @param format of the export. See {@link FileType} - mandatory</em>
<a class="jxr_linenumber" name="391" href="#391">391</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="392" href="#392">392</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="393" href="#393">393</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="394" href="#394">394</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="395" href="#395">395</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) or the format is null</em>
<a class="jxr_linenumber" name="396" href="#396">396</a> <em class="jxr_javadoccomment"> * @throws IOException if we failed to write to the file</em>
<a class="jxr_linenumber" name="397" href="#397">397</a> <em class="jxr_javadoccomment"> * @see #exportJobsToFile(String, FileType, String, String, String, String...)</em>
<a class="jxr_linenumber" name="398" href="#398">398</a> <em class="jxr_javadoccomment"> * @see #exportJobs(FileType, String)</em>
<a class="jxr_linenumber" name="399" href="#399">399</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="400" href="#400">400</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> exportJobsToFile(String filename, <a href="../../../org/rundeck/api/FileType.html">FileType</a> format, String project) <strong class="jxr_keyword">throws</strong> RundeckApiException,
<a class="jxr_linenumber" name="401" href="#401">401</a> RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException, IOException {
<a class="jxr_linenumber" name="402" href="#402">402</a> exportJobsToFile(filename, format, project, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">new</strong> String[0]);
<a class="jxr_linenumber" name="403" href="#403">403</a> }
<a class="jxr_linenumber" name="404" href="#404">404</a>
<a class="jxr_linenumber" name="405" href="#405">405</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="406" href="#406">406</a> <em class="jxr_javadoccomment"> * Export the definitions of the jobs that belongs to the given project, and matches the given criteria (jobFilter,</em>
<a class="jxr_linenumber" name="407" href="#407">407</a> <em class="jxr_javadoccomment"> * groupPath and jobIds)</em>
<a class="jxr_linenumber" name="408" href="#408">408</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="409" href="#409">409</a> <em class="jxr_javadoccomment"> * @param filename path of the file where the content should be saved - mandatory</em>
<a class="jxr_linenumber" name="410" href="#410">410</a> <em class="jxr_javadoccomment"> * @param format of the export. See {@link FileType} - mandatory</em>
<a class="jxr_linenumber" name="411" href="#411">411</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="412" href="#412">412</a> <em class="jxr_javadoccomment"> * @param jobFilter a filter for the job Name - optional</em>
<a class="jxr_linenumber" name="413" href="#413">413</a> <em class="jxr_javadoccomment"> * @param groupPath a group or partial group path to include all jobs within that group path - optional</em>
<a class="jxr_linenumber" name="414" href="#414">414</a> <em class="jxr_javadoccomment"> * @param jobIds a list of Job IDs to include - optional</em>
<a class="jxr_linenumber" name="415" href="#415">415</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="416" href="#416">416</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="417" href="#417">417</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="418" href="#418">418</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the filename, format or project is blank (null, empty or whitespace), or the</em>
<a class="jxr_linenumber" name="419" href="#419">419</a> <em class="jxr_javadoccomment"> * format is invalid</em>
<a class="jxr_linenumber" name="420" href="#420">420</a> <em class="jxr_javadoccomment"> * @throws IOException if we failed to write to the file</em>
<a class="jxr_linenumber" name="421" href="#421">421</a> <em class="jxr_javadoccomment"> * @see #exportJobsToFile(String, FileType, String, String, String, String...)</em>
<a class="jxr_linenumber" name="422" href="#422">422</a> <em class="jxr_javadoccomment"> * @see #exportJobs(FileType, String, String, String, String...)</em>
<a class="jxr_linenumber" name="423" href="#423">423</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="424" href="#424">424</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> exportJobsToFile(String filename, String format, String project, String jobFilter, String groupPath,
<a class="jxr_linenumber" name="425" href="#425">425</a> String... jobIds) <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException, RundeckApiTokenException,
<a class="jxr_linenumber" name="426" href="#426">426</a> IllegalArgumentException, IOException {
<a class="jxr_linenumber" name="427" href="#427">427</a> AssertUtil.notBlank(format, <span class="jxr_string">"format is mandatory to export jobs !"</span>);
<a class="jxr_linenumber" name="428" href="#428">428</a> exportJobsToFile(filename,
<a class="jxr_linenumber" name="429" href="#429">429</a> FileType.valueOf(StringUtils.upperCase(format)),
<a class="jxr_linenumber" name="430" href="#430">430</a> project,
<a class="jxr_linenumber" name="431" href="#431">431</a> jobFilter,
<a class="jxr_linenumber" name="432" href="#432">432</a> groupPath,
<a class="jxr_linenumber" name="433" href="#433">433</a> jobIds);
<a class="jxr_linenumber" name="434" href="#434">434</a> }
<a class="jxr_linenumber" name="435" href="#435">435</a>
<a class="jxr_linenumber" name="436" href="#436">436</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="437" href="#437">437</a> <em class="jxr_javadoccomment"> * Export the definitions of the jobs that belongs to the given project, and matches the given criteria (jobFilter,</em>
<a class="jxr_linenumber" name="438" href="#438">438</a> <em class="jxr_javadoccomment"> * groupPath and jobIds)</em>
<a class="jxr_linenumber" name="439" href="#439">439</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="440" href="#440">440</a> <em class="jxr_javadoccomment"> * @param filename path of the file where the content should be saved - mandatory</em>
<a class="jxr_linenumber" name="441" href="#441">441</a> <em class="jxr_javadoccomment"> * @param format of the export. See {@link FileType} - mandatory</em>
<a class="jxr_linenumber" name="442" href="#442">442</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="443" href="#443">443</a> <em class="jxr_javadoccomment"> * @param jobFilter a filter for the job Name - optional</em>
<a class="jxr_linenumber" name="444" href="#444">444</a> <em class="jxr_javadoccomment"> * @param groupPath a group or partial group path to include all jobs within that group path - optional</em>
<a class="jxr_linenumber" name="445" href="#445">445</a> <em class="jxr_javadoccomment"> * @param jobIds a list of Job IDs to include - optional</em>
<a class="jxr_linenumber" name="446" href="#446">446</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="447" href="#447">447</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="448" href="#448">448</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="449" href="#449">449</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the filename or project is blank (null, empty or whitespace), or the format</em>
<a class="jxr_linenumber" name="450" href="#450">450</a> <em class="jxr_javadoccomment"> * is null</em>
<a class="jxr_linenumber" name="451" href="#451">451</a> <em class="jxr_javadoccomment"> * @throws IOException if we failed to write to the file</em>
<a class="jxr_linenumber" name="452" href="#452">452</a> <em class="jxr_javadoccomment"> * @see #exportJobs(FileType, String, String, String, String...)</em>
<a class="jxr_linenumber" name="453" href="#453">453</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="454" href="#454">454</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> exportJobsToFile(String filename, <a href="../../../org/rundeck/api/FileType.html">FileType</a> format, String project, String jobFilter, String groupPath,
<a class="jxr_linenumber" name="455" href="#455">455</a> String... jobIds) <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException, RundeckApiTokenException,
<a class="jxr_linenumber" name="456" href="#456">456</a> IllegalArgumentException, IOException {
<a class="jxr_linenumber" name="457" href="#457">457</a> AssertUtil.notBlank(filename, <span class="jxr_string">"filename is mandatory to export a job !"</span>);
<a class="jxr_linenumber" name="458" href="#458">458</a> InputStream inputStream = exportJobs(format, project, jobFilter, groupPath, jobIds);
<a class="jxr_linenumber" name="459" href="#459">459</a> FileUtils.writeByteArrayToFile(<strong class="jxr_keyword">new</strong> File(filename), IOUtils.toByteArray(inputStream));
<a class="jxr_linenumber" name="460" href="#460">460</a> }
<a class="jxr_linenumber" name="461" href="#461">461</a>
<a class="jxr_linenumber" name="462" href="#462">462</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="463" href="#463">463</a> <em class="jxr_javadoccomment"> * Export the definitions of all jobs that belongs to the given project</em>
<a class="jxr_linenumber" name="464" href="#464">464</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="465" href="#465">465</a> <em class="jxr_javadoccomment"> * @param format of the export. See {@link FileType} - mandatory</em>
<a class="jxr_linenumber" name="466" href="#466">466</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="467" href="#467">467</a> <em class="jxr_javadoccomment"> * @return an {@link InputStream} instance, not linked to any network resources - won't be null</em>
<a class="jxr_linenumber" name="468" href="#468">468</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="469" href="#469">469</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="470" href="#470">470</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="471" href="#471">471</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the format or project is blank (null, empty or whitespace), or the format is</em>
<a class="jxr_linenumber" name="472" href="#472">472</a> <em class="jxr_javadoccomment"> * invalid</em>
<a class="jxr_linenumber" name="473" href="#473">473</a> <em class="jxr_javadoccomment"> * @see #exportJobs(FileType, String, String, String, String...)</em>
<a class="jxr_linenumber" name="474" href="#474">474</a> <em class="jxr_javadoccomment"> * @see #exportJobsToFile(String, String, String)</em>
<a class="jxr_linenumber" name="475" href="#475">475</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="476" href="#476">476</a> <strong class="jxr_keyword">public</strong> InputStream exportJobs(String format, String project) <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException,
<a class="jxr_linenumber" name="477" href="#477">477</a> RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="478" href="#478">478</a> AssertUtil.notBlank(format, <span class="jxr_string">"format is mandatory to export jobs !"</span>);
<a class="jxr_linenumber" name="479" href="#479">479</a> <strong class="jxr_keyword">return</strong> exportJobs(FileType.valueOf(StringUtils.upperCase(format)), project);
<a class="jxr_linenumber" name="480" href="#480">480</a> }
<a class="jxr_linenumber" name="481" href="#481">481</a>
<a class="jxr_linenumber" name="482" href="#482">482</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="483" href="#483">483</a> <em class="jxr_javadoccomment"> * Export the definitions of all jobs that belongs to the given project</em>
<a class="jxr_linenumber" name="484" href="#484">484</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="485" href="#485">485</a> <em class="jxr_javadoccomment"> * @param format of the export. See {@link FileType} - mandatory</em>
<a class="jxr_linenumber" name="486" href="#486">486</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="487" href="#487">487</a> <em class="jxr_javadoccomment"> * @return an {@link InputStream} instance, not linked to any network resources - won't be null</em>
<a class="jxr_linenumber" name="488" href="#488">488</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="489" href="#489">489</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="490" href="#490">490</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="491" href="#491">491</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) or the format is null</em>
<a class="jxr_linenumber" name="492" href="#492">492</a> <em class="jxr_javadoccomment"> * @see #exportJobs(FileType, String, String, String, String...)</em>
<a class="jxr_linenumber" name="493" href="#493">493</a> <em class="jxr_javadoccomment"> * @see #exportJobsToFile(String, FileType, String)</em>
<a class="jxr_linenumber" name="494" href="#494">494</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="495" href="#495">495</a> <strong class="jxr_keyword">public</strong> InputStream exportJobs(<a href="../../../org/rundeck/api/FileType.html">FileType</a> format, String project) <strong class="jxr_keyword">throws</strong> RundeckApiException,
<a class="jxr_linenumber" name="496" href="#496">496</a> RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="497" href="#497">497</a> <strong class="jxr_keyword">return</strong> exportJobs(format, project, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">new</strong> String[0]);
<a class="jxr_linenumber" name="498" href="#498">498</a> }
<a class="jxr_linenumber" name="499" href="#499">499</a>
<a class="jxr_linenumber" name="500" href="#500">500</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="501" href="#501">501</a> <em class="jxr_javadoccomment"> * Export the definitions of the jobs that belongs to the given project, and matches the given criteria (jobFilter,</em>
<a class="jxr_linenumber" name="502" href="#502">502</a> <em class="jxr_javadoccomment"> * groupPath and jobIds)</em>
<a class="jxr_linenumber" name="503" href="#503">503</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="504" href="#504">504</a> <em class="jxr_javadoccomment"> * @param format of the export. See {@link FileType} - mandatory</em>
<a class="jxr_linenumber" name="505" href="#505">505</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="506" href="#506">506</a> <em class="jxr_javadoccomment"> * @param jobFilter a filter for the job Name - optional</em>
<a class="jxr_linenumber" name="507" href="#507">507</a> <em class="jxr_javadoccomment"> * @param groupPath a group or partial group path to include all jobs within that group path - optional</em>
<a class="jxr_linenumber" name="508" href="#508">508</a> <em class="jxr_javadoccomment"> * @param jobIds a list of Job IDs to include - optional</em>
<a class="jxr_linenumber" name="509" href="#509">509</a> <em class="jxr_javadoccomment"> * @return an {@link InputStream} instance, not linked to any network resources - won't be null</em>
<a class="jxr_linenumber" name="510" href="#510">510</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="511" href="#511">511</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="512" href="#512">512</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="513" href="#513">513</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the format or project is blank (null, empty or whitespace), or the format is</em>
<a class="jxr_linenumber" name="514" href="#514">514</a> <em class="jxr_javadoccomment"> * invalid</em>
<a class="jxr_linenumber" name="515" href="#515">515</a> <em class="jxr_javadoccomment"> * @see #exportJobs(FileType, String, String, String, String...)</em>
<a class="jxr_linenumber" name="516" href="#516">516</a> <em class="jxr_javadoccomment"> * @see #exportJobsToFile(String, String, String, String, String, String...)</em>
<a class="jxr_linenumber" name="517" href="#517">517</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="518" href="#518">518</a> <strong class="jxr_keyword">public</strong> InputStream exportJobs(String format, String project, String jobFilter, String groupPath, String... jobIds)
<a class="jxr_linenumber" name="519" href="#519">519</a> <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="520" href="#520">520</a> AssertUtil.notBlank(format, <span class="jxr_string">"format is mandatory to export jobs !"</span>);
<a class="jxr_linenumber" name="521" href="#521">521</a> <strong class="jxr_keyword">return</strong> exportJobs(FileType.valueOf(StringUtils.upperCase(format)), project, jobFilter, groupPath, jobIds);
<a class="jxr_linenumber" name="522" href="#522">522</a> }
<a class="jxr_linenumber" name="523" href="#523">523</a>
<a class="jxr_linenumber" name="524" href="#524">524</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="525" href="#525">525</a> <em class="jxr_javadoccomment"> * Export the definitions of the jobs that belongs to the given project, and matches the given criteria (jobFilter,</em>
<a class="jxr_linenumber" name="526" href="#526">526</a> <em class="jxr_javadoccomment"> * groupPath and jobIds)</em>
<a class="jxr_linenumber" name="527" href="#527">527</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="528" href="#528">528</a> <em class="jxr_javadoccomment"> * @param format of the export. See {@link FileType} - mandatory</em>
<a class="jxr_linenumber" name="529" href="#529">529</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="530" href="#530">530</a> <em class="jxr_javadoccomment"> * @param jobFilter a filter for the job Name - optional</em>
<a class="jxr_linenumber" name="531" href="#531">531</a> <em class="jxr_javadoccomment"> * @param groupPath a group or partial group path to include all jobs within that group path - optional</em>
<a class="jxr_linenumber" name="532" href="#532">532</a> <em class="jxr_javadoccomment"> * @param jobIds a list of Job IDs to include - optional</em>
<a class="jxr_linenumber" name="533" href="#533">533</a> <em class="jxr_javadoccomment"> * @return an {@link InputStream} instance, not linked to any network resources - won't be null</em>
<a class="jxr_linenumber" name="534" href="#534">534</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="535" href="#535">535</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="536" href="#536">536</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="537" href="#537">537</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) or the format is null</em>
<a class="jxr_linenumber" name="538" href="#538">538</a> <em class="jxr_javadoccomment"> * @see #exportJobsToFile(String, FileType, String, String, String, String...)</em>
<a class="jxr_linenumber" name="539" href="#539">539</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="540" href="#540">540</a> <strong class="jxr_keyword">public</strong> InputStream exportJobs(<a href="../../../org/rundeck/api/FileType.html">FileType</a> format, String project, String jobFilter, String groupPath, String... jobIds)
<a class="jxr_linenumber" name="541" href="#541">541</a> <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="542" href="#542">542</a> AssertUtil.notNull(format, <span class="jxr_string">"format is mandatory to export jobs !"</span>);
<a class="jxr_linenumber" name="543" href="#543">543</a> AssertUtil.notBlank(project, <span class="jxr_string">"project is mandatory to export jobs !"</span>);
<a class="jxr_linenumber" name="544" href="#544">544</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/ApiCall.html">ApiCall</a>(<strong class="jxr_keyword">this</strong>).get(<strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/ApiPathBuilder.html">ApiPathBuilder</a>(<span class="jxr_string">"/jobs/export"</span>).param(<span class="jxr_string">"format"</span>, format)
<a class="jxr_linenumber" name="545" href="#545">545</a> .param(<span class="jxr_string">"project"</span>, project)
<a class="jxr_linenumber" name="546" href="#546">546</a> .param(<span class="jxr_string">"jobFilter"</span>, jobFilter)
<a class="jxr_linenumber" name="547" href="#547">547</a> .param(<span class="jxr_string">"groupPath"</span>, groupPath)
<a class="jxr_linenumber" name="548" href="#548">548</a> .param(<span class="jxr_string">"idlist"</span>, StringUtils.join(jobIds, <span class="jxr_string">","</span>)));
<a class="jxr_linenumber" name="549" href="#549">549</a> }
<a class="jxr_linenumber" name="550" href="#550">550</a>
<a class="jxr_linenumber" name="551" href="#551">551</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="552" href="#552">552</a> <em class="jxr_javadoccomment"> * Export the definition of a single job (identified by the given ID)</em>
<a class="jxr_linenumber" name="553" href="#553">553</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="554" href="#554">554</a> <em class="jxr_javadoccomment"> * @param filename path of the file where the content should be saved - mandatory</em>
<a class="jxr_linenumber" name="555" href="#555">555</a> <em class="jxr_javadoccomment"> * @param format of the export. See {@link FileType} - mandatory</em>
<a class="jxr_linenumber" name="556" href="#556">556</a> <em class="jxr_javadoccomment"> * @param jobId identifier of the job - mandatory</em>
<a class="jxr_linenumber" name="557" href="#557">557</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID)</em>
<a class="jxr_linenumber" name="558" href="#558">558</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="559" href="#559">559</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="560" href="#560">560</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the filename, format or jobId is blank (null, empty or whitespace), or the</em>
<a class="jxr_linenumber" name="561" href="#561">561</a> <em class="jxr_javadoccomment"> * format is invalid</em>
<a class="jxr_linenumber" name="562" href="#562">562</a> <em class="jxr_javadoccomment"> * @throws IOException if we failed to write to the file</em>
<a class="jxr_linenumber" name="563" href="#563">563</a> <em class="jxr_javadoccomment"> * @see #exportJobToFile(String, FileType, String)</em>
<a class="jxr_linenumber" name="564" href="#564">564</a> <em class="jxr_javadoccomment"> * @see #exportJob(String, String)</em>
<a class="jxr_linenumber" name="565" href="#565">565</a> <em class="jxr_javadoccomment"> * @see #getJob(String)</em>
<a class="jxr_linenumber" name="566" href="#566">566</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="567" href="#567">567</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> exportJobToFile(String filename, String format, String jobId) <strong class="jxr_keyword">throws</strong> RundeckApiException,
<a class="jxr_linenumber" name="568" href="#568">568</a> RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException, IOException {
<a class="jxr_linenumber" name="569" href="#569">569</a> AssertUtil.notBlank(format, <span class="jxr_string">"format is mandatory to export a job !"</span>);
<a class="jxr_linenumber" name="570" href="#570">570</a> exportJobToFile(filename, FileType.valueOf(StringUtils.upperCase(format)), jobId);
<a class="jxr_linenumber" name="571" href="#571">571</a> }
<a class="jxr_linenumber" name="572" href="#572">572</a>
<a class="jxr_linenumber" name="573" href="#573">573</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="574" href="#574">574</a> <em class="jxr_javadoccomment"> * Export the definition of a single job (identified by the given ID)</em>
<a class="jxr_linenumber" name="575" href="#575">575</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="576" href="#576">576</a> <em class="jxr_javadoccomment"> * @param filename path of the file where the content should be saved - mandatory</em>
<a class="jxr_linenumber" name="577" href="#577">577</a> <em class="jxr_javadoccomment"> * @param format of the export. See {@link FileType} - mandatory</em>
<a class="jxr_linenumber" name="578" href="#578">578</a> <em class="jxr_javadoccomment"> * @param jobId identifier of the job - mandatory</em>
<a class="jxr_linenumber" name="579" href="#579">579</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID)</em>
<a class="jxr_linenumber" name="580" href="#580">580</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="581" href="#581">581</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="582" href="#582">582</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the filename or jobId is blank (null, empty or whitespace), or the format is</em>
<a class="jxr_linenumber" name="583" href="#583">583</a> <em class="jxr_javadoccomment"> * null</em>
<a class="jxr_linenumber" name="584" href="#584">584</a> <em class="jxr_javadoccomment"> * @throws IOException if we failed to write to the file</em>
<a class="jxr_linenumber" name="585" href="#585">585</a> <em class="jxr_javadoccomment"> * @see #exportJob(FileType, String)</em>
<a class="jxr_linenumber" name="586" href="#586">586</a> <em class="jxr_javadoccomment"> * @see #getJob(String)</em>
<a class="jxr_linenumber" name="587" href="#587">587</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="588" href="#588">588</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> exportJobToFile(String filename, <a href="../../../org/rundeck/api/FileType.html">FileType</a> format, String jobId) <strong class="jxr_keyword">throws</strong> RundeckApiException,
<a class="jxr_linenumber" name="589" href="#589">589</a> RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException, IOException {
<a class="jxr_linenumber" name="590" href="#590">590</a> AssertUtil.notBlank(filename, <span class="jxr_string">"filename is mandatory to export a job !"</span>);
<a class="jxr_linenumber" name="591" href="#591">591</a> InputStream inputStream = exportJob(format, jobId);
<a class="jxr_linenumber" name="592" href="#592">592</a> FileUtils.writeByteArrayToFile(<strong class="jxr_keyword">new</strong> File(filename), IOUtils.toByteArray(inputStream));
<a class="jxr_linenumber" name="593" href="#593">593</a> }
<a class="jxr_linenumber" name="594" href="#594">594</a>
<a class="jxr_linenumber" name="595" href="#595">595</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="596" href="#596">596</a> <em class="jxr_javadoccomment"> * Export the definition of a single job, identified by the given ID</em>
<a class="jxr_linenumber" name="597" href="#597">597</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="598" href="#598">598</a> <em class="jxr_javadoccomment"> * @param format of the export. See {@link FileType} - mandatory</em>
<a class="jxr_linenumber" name="599" href="#599">599</a> <em class="jxr_javadoccomment"> * @param jobId identifier of the job - mandatory</em>
<a class="jxr_linenumber" name="600" href="#600">600</a> <em class="jxr_javadoccomment"> * @return an {@link InputStream} instance, not linked to any network resources - won't be null</em>
<a class="jxr_linenumber" name="601" href="#601">601</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID)</em>
<a class="jxr_linenumber" name="602" href="#602">602</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="603" href="#603">603</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="604" href="#604">604</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the format or jobId is blank (null, empty or whitespace), or the format is</em>
<a class="jxr_linenumber" name="605" href="#605">605</a> <em class="jxr_javadoccomment"> * invalid</em>
<a class="jxr_linenumber" name="606" href="#606">606</a> <em class="jxr_javadoccomment"> * @see #exportJobToFile(String, String, String)</em>
<a class="jxr_linenumber" name="607" href="#607">607</a> <em class="jxr_javadoccomment"> * @see #getJob(String)</em>
<a class="jxr_linenumber" name="608" href="#608">608</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="609" href="#609">609</a> <strong class="jxr_keyword">public</strong> InputStream exportJob(String format, String jobId) <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException,
<a class="jxr_linenumber" name="610" href="#610">610</a> RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="611" href="#611">611</a> AssertUtil.notBlank(format, <span class="jxr_string">"format is mandatory to export a job !"</span>);
<a class="jxr_linenumber" name="612" href="#612">612</a> <strong class="jxr_keyword">return</strong> exportJob(FileType.valueOf(StringUtils.upperCase(format)), jobId);
<a class="jxr_linenumber" name="613" href="#613">613</a> }
<a class="jxr_linenumber" name="614" href="#614">614</a>
<a class="jxr_linenumber" name="615" href="#615">615</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="616" href="#616">616</a> <em class="jxr_javadoccomment"> * Export the definition of a single job, identified by the given ID</em>
<a class="jxr_linenumber" name="617" href="#617">617</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="618" href="#618">618</a> <em class="jxr_javadoccomment"> * @param format of the export. See {@link FileType} - mandatory</em>
<a class="jxr_linenumber" name="619" href="#619">619</a> <em class="jxr_javadoccomment"> * @param jobId identifier of the job - mandatory</em>
<a class="jxr_linenumber" name="620" href="#620">620</a> <em class="jxr_javadoccomment"> * @return an {@link InputStream} instance, not linked to any network resources - won't be null</em>
<a class="jxr_linenumber" name="621" href="#621">621</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID)</em>
<a class="jxr_linenumber" name="622" href="#622">622</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="623" href="#623">623</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="624" href="#624">624</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the jobId is blank (null, empty or whitespace), or the format is null</em>
<a class="jxr_linenumber" name="625" href="#625">625</a> <em class="jxr_javadoccomment"> * @see #exportJobToFile(String, FileType, String)</em>
<a class="jxr_linenumber" name="626" href="#626">626</a> <em class="jxr_javadoccomment"> * @see #getJob(String)</em>
<a class="jxr_linenumber" name="627" href="#627">627</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="628" href="#628">628</a> <strong class="jxr_keyword">public</strong> InputStream exportJob(<a href="../../../org/rundeck/api/FileType.html">FileType</a> format, String jobId) <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException,
<a class="jxr_linenumber" name="629" href="#629">629</a> RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="630" href="#630">630</a> AssertUtil.notNull(format, <span class="jxr_string">"format is mandatory to export a job !"</span>);
<a class="jxr_linenumber" name="631" href="#631">631</a> AssertUtil.notBlank(jobId, <span class="jxr_string">"jobId is mandatory to export a job !"</span>);
<a class="jxr_linenumber" name="632" href="#632">632</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/ApiCall.html">ApiCall</a>(<strong class="jxr_keyword">this</strong>).get(<strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/ApiPathBuilder.html">ApiPathBuilder</a>(<span class="jxr_string">"/job/"</span>, jobId).param(<span class="jxr_string">"format"</span>, format));
<a class="jxr_linenumber" name="633" href="#633">633</a> }
<a class="jxr_linenumber" name="634" href="#634">634</a>
<a class="jxr_linenumber" name="635" href="#635">635</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="636" href="#636">636</a> <em class="jxr_javadoccomment"> * Import the definitions of jobs, from the given file</em>
<a class="jxr_linenumber" name="637" href="#637">637</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="638" href="#638">638</a> <em class="jxr_javadoccomment"> * @param filename of the file containing the jobs definitions - mandatory</em>
<a class="jxr_linenumber" name="639" href="#639">639</a> <em class="jxr_javadoccomment"> * @param fileType type of the file. See {@link FileType} - mandatory</em>
<a class="jxr_linenumber" name="640" href="#640">640</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckJobsImportResult} instance - won't be null</em>
<a class="jxr_linenumber" name="641" href="#641">641</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API</em>
<a class="jxr_linenumber" name="642" href="#642">642</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="643" href="#643">643</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="644" href="#644">644</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the filename or fileType is blank (null, empty or whitespace), or the</em>
<a class="jxr_linenumber" name="645" href="#645">645</a> <em class="jxr_javadoccomment"> * fileType is invalid</em>
<a class="jxr_linenumber" name="646" href="#646">646</a> <em class="jxr_javadoccomment"> * @throws IOException if we failed to read the file</em>
<a class="jxr_linenumber" name="647" href="#647">647</a> <em class="jxr_javadoccomment"> * @see #importJobs(InputStream, String)</em>
<a class="jxr_linenumber" name="648" href="#648">648</a> <em class="jxr_javadoccomment"> * @see #importJobs(String, FileType, RundeckJobsImportMethod)</em>
<a class="jxr_linenumber" name="649" href="#649">649</a> <em class="jxr_javadoccomment"> * @deprecated use {@link #importJobs(RundeckJobsImport)}, this method will be removed in version 10 of this library.</em>
<a class="jxr_linenumber" name="650" href="#650">650</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="651" href="#651">651</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckJobsImportResult.html">RundeckJobsImportResult</a> importJobs(String filename, String fileType) <strong class="jxr_keyword">throws</strong> RundeckApiException,
<a class="jxr_linenumber" name="652" href="#652">652</a> RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException, IOException {
<a class="jxr_linenumber" name="653" href="#653">653</a> AssertUtil.notBlank(fileType, <span class="jxr_string">"fileType is mandatory to import jobs !"</span>);
<a class="jxr_linenumber" name="654" href="#654">654</a> <strong class="jxr_keyword">return</strong> importJobs(filename, FileType.valueOf(StringUtils.upperCase(fileType)));
<a class="jxr_linenumber" name="655" href="#655">655</a> }
<a class="jxr_linenumber" name="656" href="#656">656</a>
<a class="jxr_linenumber" name="657" href="#657">657</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="658" href="#658">658</a> <em class="jxr_javadoccomment"> * Import the definitions of jobs, from the given file</em>
<a class="jxr_linenumber" name="659" href="#659">659</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="660" href="#660">660</a> <em class="jxr_javadoccomment"> * @param filename of the file containing the jobs definitions - mandatory</em>
<a class="jxr_linenumber" name="661" href="#661">661</a> <em class="jxr_javadoccomment"> * @param fileType type of the file. See {@link FileType} - mandatory</em>
<a class="jxr_linenumber" name="662" href="#662">662</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckJobsImportResult} instance - won't be null</em>
<a class="jxr_linenumber" name="663" href="#663">663</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API</em>
<a class="jxr_linenumber" name="664" href="#664">664</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="665" href="#665">665</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="666" href="#666">666</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the filename is blank (null, empty or whitespace), or the fileType is null</em>
<a class="jxr_linenumber" name="667" href="#667">667</a> <em class="jxr_javadoccomment"> * @throws IOException if we failed to read the file</em>
<a class="jxr_linenumber" name="668" href="#668">668</a> <em class="jxr_javadoccomment"> * @see #importJobs(InputStream, FileType)</em>
<a class="jxr_linenumber" name="669" href="#669">669</a> <em class="jxr_javadoccomment"> * @see #importJobs(String, FileType, RundeckJobsImportMethod)</em>
<a class="jxr_linenumber" name="670" href="#670">670</a> <em class="jxr_javadoccomment"> * @deprecated use {@link #importJobs(RundeckJobsImport)}, this method will be removed in version 10 of this</em>
<a class="jxr_linenumber" name="671" href="#671">671</a> <em class="jxr_javadoccomment"> * library.</em>
<a class="jxr_linenumber" name="672" href="#672">672</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="673" href="#673">673</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckJobsImportResult.html">RundeckJobsImportResult</a> importJobs(String filename, <a href="../../../org/rundeck/api/FileType.html">FileType</a> fileType) <strong class="jxr_keyword">throws</strong> RundeckApiException,
<a class="jxr_linenumber" name="674" href="#674">674</a> RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException, IOException {
<a class="jxr_linenumber" name="675" href="#675">675</a> <strong class="jxr_keyword">return</strong> importJobs(filename, fileType, (RundeckJobsImportMethod) <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="676" href="#676">676</a> }
<a class="jxr_linenumber" name="677" href="#677">677</a>
<a class="jxr_linenumber" name="678" href="#678">678</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="679" href="#679">679</a> <em class="jxr_javadoccomment"> * Import the definitions of jobs, from the given file, using the given behavior</em>
<a class="jxr_linenumber" name="680" href="#680">680</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="681" href="#681">681</a> <em class="jxr_javadoccomment"> * @param filename of the file containing the jobs definitions - mandatory</em>
<a class="jxr_linenumber" name="682" href="#682">682</a> <em class="jxr_javadoccomment"> * @param fileType type of the file. See {@link FileType} - mandatory</em>
<a class="jxr_linenumber" name="683" href="#683">683</a> <em class="jxr_javadoccomment"> * @param importBehavior see {@link RundeckJobsImportMethod}</em>
<a class="jxr_linenumber" name="684" href="#684">684</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckJobsImportResult} instance - won't be null</em>
<a class="jxr_linenumber" name="685" href="#685">685</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API</em>
<a class="jxr_linenumber" name="686" href="#686">686</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="687" href="#687">687</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="688" href="#688">688</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the filename or fileType is blank (null, empty or whitespace), or the</em>
<a class="jxr_linenumber" name="689" href="#689">689</a> <em class="jxr_javadoccomment"> * fileType or behavior is not valid</em>
<a class="jxr_linenumber" name="690" href="#690">690</a> <em class="jxr_javadoccomment"> * @throws IOException if we failed to read the file</em>
<a class="jxr_linenumber" name="691" href="#691">691</a> <em class="jxr_javadoccomment"> * @see #importJobs(InputStream, String, String)</em>
<a class="jxr_linenumber" name="692" href="#692">692</a> <em class="jxr_javadoccomment"> * @see #importJobs(String, FileType, RundeckJobsImportMethod)</em>
<a class="jxr_linenumber" name="693" href="#693">693</a> <em class="jxr_javadoccomment"> * @deprecated use {@link #importJobs(RundeckJobsImport)}, this method will be removed in version 10 of this</em>
<a class="jxr_linenumber" name="694" href="#694">694</a> <em class="jxr_javadoccomment"> * library.</em>
<a class="jxr_linenumber" name="695" href="#695">695</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="696" href="#696">696</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckJobsImportResult.html">RundeckJobsImportResult</a> importJobs(String filename, String fileType, String importBehavior)
<a class="jxr_linenumber" name="697" href="#697">697</a> <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException,
<a class="jxr_linenumber" name="698" href="#698">698</a> IOException {
<a class="jxr_linenumber" name="699" href="#699">699</a> AssertUtil.notBlank(fileType, <span class="jxr_string">"fileType is mandatory to import jobs !"</span>);
<a class="jxr_linenumber" name="700" href="#700">700</a> <strong class="jxr_keyword">return</strong> importJobs(filename,
<a class="jxr_linenumber" name="701" href="#701">701</a> FileType.valueOf(StringUtils.upperCase(fileType)),
<a class="jxr_linenumber" name="702" href="#702">702</a> RundeckJobsImportMethod.valueOf(StringUtils.upperCase(importBehavior)));
<a class="jxr_linenumber" name="703" href="#703">703</a> }
<a class="jxr_linenumber" name="704" href="#704">704</a>
<a class="jxr_linenumber" name="705" href="#705">705</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="706" href="#706">706</a> <em class="jxr_javadoccomment"> * Import the definitions of jobs, from the given file, using the given behavior</em>
<a class="jxr_linenumber" name="707" href="#707">707</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="708" href="#708">708</a> <em class="jxr_javadoccomment"> * @param filename of the file containing the jobs definitions - mandatory</em>
<a class="jxr_linenumber" name="709" href="#709">709</a> <em class="jxr_javadoccomment"> * @param fileType type of the file. See {@link FileType} - mandatory</em>
<a class="jxr_linenumber" name="710" href="#710">710</a> <em class="jxr_javadoccomment"> * @param importBehavior see {@link RundeckJobsImportMethod}</em>
<a class="jxr_linenumber" name="711" href="#711">711</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckJobsImportResult} instance - won't be null</em>
<a class="jxr_linenumber" name="712" href="#712">712</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API</em>
<a class="jxr_linenumber" name="713" href="#713">713</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="714" href="#714">714</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="715" href="#715">715</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the filename is blank (null, empty or whitespace), or the fileType is null</em>
<a class="jxr_linenumber" name="716" href="#716">716</a> <em class="jxr_javadoccomment"> * @throws IOException if we failed to read the file</em>
<a class="jxr_linenumber" name="717" href="#717">717</a> <em class="jxr_javadoccomment"> * @see #importJobs(InputStream, FileType, RundeckJobsImportMethod)</em>
<a class="jxr_linenumber" name="718" href="#718">718</a> <em class="jxr_javadoccomment"> * @deprecated use {@link #importJobs(String, RundeckJobsImport)}, this method will be removed in version 10 of</em>
<a class="jxr_linenumber" name="719" href="#719">719</a> <em class="jxr_javadoccomment"> * this library.</em>
<a class="jxr_linenumber" name="720" href="#720">720</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="721" href="#721">721</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckJobsImportResult.html">RundeckJobsImportResult</a> importJobs(String filename, <a href="../../../org/rundeck/api/FileType.html">FileType</a> fileType, <a href="../../../org/rundeck/api/domain/RundeckJobsImportMethod.html">RundeckJobsImportMethod</a> importBehavior)
<a class="jxr_linenumber" name="722" href="#722">722</a> <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException,
<a class="jxr_linenumber" name="723" href="#723">723</a> IOException {
<a class="jxr_linenumber" name="724" href="#724">724</a> AssertUtil.notBlank(filename, <span class="jxr_string">"filename (of jobs file) is mandatory to import jobs !"</span>);
<a class="jxr_linenumber" name="725" href="#725">725</a> FileInputStream stream = <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="726" href="#726">726</a> <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="727" href="#727">727</a> stream = FileUtils.openInputStream(<strong class="jxr_keyword">new</strong> File(filename));
<a class="jxr_linenumber" name="728" href="#728">728</a> <strong class="jxr_keyword">return</strong> importJobs(stream, fileType, importBehavior);
<a class="jxr_linenumber" name="729" href="#729">729</a> } <strong class="jxr_keyword">finally</strong> {
<a class="jxr_linenumber" name="730" href="#730">730</a> IOUtils.closeQuietly(stream);
<a class="jxr_linenumber" name="731" href="#731">731</a> }
<a class="jxr_linenumber" name="732" href="#732">732</a> }
<a class="jxr_linenumber" name="733" href="#733">733</a>
<a class="jxr_linenumber" name="734" href="#734">734</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="735" href="#735">735</a> <em class="jxr_javadoccomment"> * Import the definitions of jobs, from the given input stream</em>
<a class="jxr_linenumber" name="736" href="#736">736</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="737" href="#737">737</a> <em class="jxr_javadoccomment"> * @param stream inputStream for reading the definitions - mandatory</em>
<a class="jxr_linenumber" name="738" href="#738">738</a> <em class="jxr_javadoccomment"> * @param fileType type of the file. See {@link FileType} - mandatory</em>
<a class="jxr_linenumber" name="739" href="#739">739</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckJobsImportResult} instance - won't be null</em>
<a class="jxr_linenumber" name="740" href="#740">740</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API</em>
<a class="jxr_linenumber" name="741" href="#741">741</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="742" href="#742">742</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="743" href="#743">743</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the stream is null, or the fileType is blank (null, empty or whitespace) or</em>
<a class="jxr_linenumber" name="744" href="#744">744</a> <em class="jxr_javadoccomment"> * invalid</em>
<a class="jxr_linenumber" name="745" href="#745">745</a> <em class="jxr_javadoccomment"> * @see #importJobs(String, String)</em>
<a class="jxr_linenumber" name="746" href="#746">746</a> <em class="jxr_javadoccomment"> * @see #importJobs(InputStream, FileType, RundeckJobsImportMethod)</em>
<a class="jxr_linenumber" name="747" href="#747">747</a> <em class="jxr_javadoccomment"> * @deprecated use {@link #importJobs(RundeckJobsImport)}, this method will be removed in version 10 of this</em>
<a class="jxr_linenumber" name="748" href="#748">748</a> <em class="jxr_javadoccomment"> * library.</em>
<a class="jxr_linenumber" name="749" href="#749">749</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="750" href="#750">750</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckJobsImportResult.html">RundeckJobsImportResult</a> importJobs(InputStream stream, String fileType) <strong class="jxr_keyword">throws</strong> RundeckApiException,
<a class="jxr_linenumber" name="751" href="#751">751</a> RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="752" href="#752">752</a> AssertUtil.notBlank(fileType, <span class="jxr_string">"fileType is mandatory to import jobs !"</span>);
<a class="jxr_linenumber" name="753" href="#753">753</a> <strong class="jxr_keyword">return</strong> importJobs(stream, FileType.valueOf(StringUtils.upperCase(fileType)));
<a class="jxr_linenumber" name="754" href="#754">754</a> }
<a class="jxr_linenumber" name="755" href="#755">755</a>
<a class="jxr_linenumber" name="756" href="#756">756</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="757" href="#757">757</a> <em class="jxr_javadoccomment"> * Import the definitions of jobs, from the given input stream</em>
<a class="jxr_linenumber" name="758" href="#758">758</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="759" href="#759">759</a> <em class="jxr_javadoccomment"> * @param stream inputStream for reading the definitions - mandatory</em>
<a class="jxr_linenumber" name="760" href="#760">760</a> <em class="jxr_javadoccomment"> * @param fileType type of the file. See {@link FileType} - mandatory</em>
<a class="jxr_linenumber" name="761" href="#761">761</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckJobsImportResult} instance - won't be null</em>
<a class="jxr_linenumber" name="762" href="#762">762</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API</em>
<a class="jxr_linenumber" name="763" href="#763">763</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="764" href="#764">764</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="765" href="#765">765</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the stream or fileType is null</em>
<a class="jxr_linenumber" name="766" href="#766">766</a> <em class="jxr_javadoccomment"> * @see #importJobs(String, FileType)</em>
<a class="jxr_linenumber" name="767" href="#767">767</a> <em class="jxr_javadoccomment"> * @see #importJobs(InputStream, FileType, RundeckJobsImportMethod)</em>
<a class="jxr_linenumber" name="768" href="#768">768</a> <em class="jxr_javadoccomment"> * @deprecated use {@link #importJobs(RundeckJobsImport)}, this method will be removed in version 10 of this</em>
<a class="jxr_linenumber" name="769" href="#769">769</a> <em class="jxr_javadoccomment"> * library.</em>
<a class="jxr_linenumber" name="770" href="#770">770</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="771" href="#771">771</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckJobsImportResult.html">RundeckJobsImportResult</a> importJobs(InputStream stream, <a href="../../../org/rundeck/api/FileType.html">FileType</a> fileType) <strong class="jxr_keyword">throws</strong> RundeckApiException,
<a class="jxr_linenumber" name="772" href="#772">772</a> RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="773" href="#773">773</a> <strong class="jxr_keyword">return</strong> importJobs(stream, fileType, (RundeckJobsImportMethod) <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="774" href="#774">774</a> }
<a class="jxr_linenumber" name="775" href="#775">775</a>
<a class="jxr_linenumber" name="776" href="#776">776</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="777" href="#777">777</a> <em class="jxr_javadoccomment"> * Import the definitions of jobs, from the given input stream, using the given behavior</em>
<a class="jxr_linenumber" name="778" href="#778">778</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="779" href="#779">779</a> <em class="jxr_javadoccomment"> * @param stream inputStream for reading the definitions - mandatory</em>
<a class="jxr_linenumber" name="780" href="#780">780</a> <em class="jxr_javadoccomment"> * @param fileType type of the file. See {@link FileType} - mandatory</em>
<a class="jxr_linenumber" name="781" href="#781">781</a> <em class="jxr_javadoccomment"> * @param importBehavior see {@link RundeckJobsImportMethod}</em>
<a class="jxr_linenumber" name="782" href="#782">782</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckJobsImportResult} instance - won't be null</em>
<a class="jxr_linenumber" name="783" href="#783">783</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API</em>
<a class="jxr_linenumber" name="784" href="#784">784</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="785" href="#785">785</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="786" href="#786">786</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the stream is null, or the fileType is blank (null, empty or whitespace), or</em>
<a class="jxr_linenumber" name="787" href="#787">787</a> <em class="jxr_javadoccomment"> * the fileType or behavior is not valid</em>
<a class="jxr_linenumber" name="788" href="#788">788</a> <em class="jxr_javadoccomment"> * @see #importJobs(String, String, String)</em>
<a class="jxr_linenumber" name="789" href="#789">789</a> <em class="jxr_javadoccomment"> * @see #importJobs(InputStream, FileType, RundeckJobsImportMethod)</em>
<a class="jxr_linenumber" name="790" href="#790">790</a> <em class="jxr_javadoccomment"> * @deprecated use {@link #importJobs(RundeckJobsImport)}, this method will be removed in version 10 of this</em>
<a class="jxr_linenumber" name="791" href="#791">791</a> <em class="jxr_javadoccomment"> * library.</em>
<a class="jxr_linenumber" name="792" href="#792">792</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="793" href="#793">793</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckJobsImportResult.html">RundeckJobsImportResult</a> importJobs(InputStream stream, String fileType, String importBehavior)
<a class="jxr_linenumber" name="794" href="#794">794</a> <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="795" href="#795">795</a> AssertUtil.notBlank(fileType, <span class="jxr_string">"fileType is mandatory to import jobs !"</span>);
<a class="jxr_linenumber" name="796" href="#796">796</a> <strong class="jxr_keyword">return</strong> importJobs(stream,
<a class="jxr_linenumber" name="797" href="#797">797</a> FileType.valueOf(StringUtils.upperCase(fileType)),
<a class="jxr_linenumber" name="798" href="#798">798</a> RundeckJobsImportMethod.valueOf(StringUtils.upperCase(importBehavior)));
<a class="jxr_linenumber" name="799" href="#799">799</a> }
<a class="jxr_linenumber" name="800" href="#800">800</a>
<a class="jxr_linenumber" name="801" href="#801">801</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="802" href="#802">802</a> <em class="jxr_javadoccomment"> * Import the definitions of jobs, from the given input stream, using the given behavior</em>
<a class="jxr_linenumber" name="803" href="#803">803</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="804" href="#804">804</a> <em class="jxr_javadoccomment"> * @param stream inputStream for reading the definitions - mandatory</em>
<a class="jxr_linenumber" name="805" href="#805">805</a> <em class="jxr_javadoccomment"> * @param fileType type of the file. See {@link FileType} - mandatory</em>
<a class="jxr_linenumber" name="806" href="#806">806</a> <em class="jxr_javadoccomment"> * @param importBehavior see {@link RundeckJobsImportMethod}</em>
<a class="jxr_linenumber" name="807" href="#807">807</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckJobsImportResult} instance - won't be null</em>
<a class="jxr_linenumber" name="808" href="#808">808</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API</em>
<a class="jxr_linenumber" name="809" href="#809">809</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="810" href="#810">810</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="811" href="#811">811</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the stream or fileType is null</em>
<a class="jxr_linenumber" name="812" href="#812">812</a> <em class="jxr_javadoccomment"> * @see #importJobs(String, FileType, RundeckJobsImportMethod)</em>
<a class="jxr_linenumber" name="813" href="#813">813</a> <em class="jxr_javadoccomment"> * @deprecated use {@link #importJobs(RundeckJobsImport)}, this method will be removed in version 10 of this</em>
<a class="jxr_linenumber" name="814" href="#814">814</a> <em class="jxr_javadoccomment"> * library.</em>
<a class="jxr_linenumber" name="815" href="#815">815</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="816" href="#816">816</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckJobsImportResult.html">RundeckJobsImportResult</a> importJobs(InputStream stream, <a href="../../../org/rundeck/api/FileType.html">FileType</a> fileType,
<a class="jxr_linenumber" name="817" href="#817">817</a> <a href="../../../org/rundeck/api/domain/RundeckJobsImportMethod.html">RundeckJobsImportMethod</a> importBehavior) <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException,
<a class="jxr_linenumber" name="818" href="#818">818</a> RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="819" href="#819">819</a> <strong class="jxr_keyword">return</strong> importJobs(RundeckJobsImportBuilder.builder().setStream(stream).setFileType(fileType)
<a class="jxr_linenumber" name="820" href="#820">820</a> .setJobsImportMethod(importBehavior).build());
<a class="jxr_linenumber" name="821" href="#821">821</a> }
<a class="jxr_linenumber" name="822" href="#822">822</a>
<a class="jxr_linenumber" name="823" href="#823">823</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="824" href="#824">824</a> <em class="jxr_javadoccomment"> * Import the definitions of jobs, from the given input stream, using the given behavior</em>
<a class="jxr_linenumber" name="825" href="#825">825</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="826" href="#826">826</a> <em class="jxr_javadoccomment"> * @param rundeckJobsImport import request, see {@link RundeckJobsImportBuilder}</em>
<a class="jxr_linenumber" name="827" href="#827">827</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="828" href="#828">828</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckJobsImportResult} instance - won't be null</em>
<a class="jxr_linenumber" name="829" href="#829">829</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="830" href="#830">830</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API</em>
<a class="jxr_linenumber" name="831" href="#831">831</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="832" href="#832">832</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="833" href="#833">833</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the stream or fileType is null</em>
<a class="jxr_linenumber" name="834" href="#834">834</a> <em class="jxr_javadoccomment"> * @see #importJobs(String, FileType, RundeckJobsImportMethod)</em>
<a class="jxr_linenumber" name="835" href="#835">835</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="836" href="#836">836</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckJobsImportResult.html">RundeckJobsImportResult</a> importJobs(<strong class="jxr_keyword">final</strong> String filename,<strong class="jxr_keyword">final</strong> <a href="../../../org/rundeck/api/RundeckJobsImport.html">RundeckJobsImport</a> rundeckJobsImport) <strong class="jxr_keyword">throws</strong> RundeckApiException,
<a class="jxr_linenumber" name="837" href="#837">837</a> RundeckApiLoginException,
<a class="jxr_linenumber" name="838" href="#838">838</a> RundeckApiTokenException, IllegalArgumentException, IOException {
<a class="jxr_linenumber" name="839" href="#839">839</a> AssertUtil.notBlank(filename, <span class="jxr_string">"filename (of jobs file) is mandatory to import jobs !"</span>);
<a class="jxr_linenumber" name="840" href="#840">840</a> FileInputStream stream = <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="841" href="#841">841</a> <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="842" href="#842">842</a> stream = FileUtils.openInputStream(<strong class="jxr_keyword">new</strong> File(filename));
<a class="jxr_linenumber" name="843" href="#843">843</a> <strong class="jxr_keyword">return</strong> importJobs(RundeckJobsImportBuilder.builder(rundeckJobsImport).setStream(stream).build());
<a class="jxr_linenumber" name="844" href="#844">844</a> } <strong class="jxr_keyword">finally</strong> {
<a class="jxr_linenumber" name="845" href="#845">845</a>
<a class="jxr_linenumber" name="846" href="#846">846</a> IOUtils.closeQuietly(stream);
<a class="jxr_linenumber" name="847" href="#847">847</a> }
<a class="jxr_linenumber" name="848" href="#848">848</a> }
<a class="jxr_linenumber" name="849" href="#849">849</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="850" href="#850">850</a> <em class="jxr_javadoccomment"> * Import the definitions of jobs, from the given input stream, using the given behavior</em>
<a class="jxr_linenumber" name="851" href="#851">851</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="852" href="#852">852</a> <em class="jxr_javadoccomment"> * @param rundeckJobsImport import request, see {@link RundeckJobsImportBuilder}</em>
<a class="jxr_linenumber" name="853" href="#853">853</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="854" href="#854">854</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckJobsImportResult} instance - won't be null</em>
<a class="jxr_linenumber" name="855" href="#855">855</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="856" href="#856">856</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API</em>
<a class="jxr_linenumber" name="857" href="#857">857</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="858" href="#858">858</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="859" href="#859">859</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the stream or fileType is null</em>
<a class="jxr_linenumber" name="860" href="#860">860</a> <em class="jxr_javadoccomment"> * @see #importJobs(String, FileType, RundeckJobsImportMethod)</em>
<a class="jxr_linenumber" name="861" href="#861">861</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="862" href="#862">862</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckJobsImportResult.html">RundeckJobsImportResult</a> importJobs(<strong class="jxr_keyword">final</strong> <a href="../../../org/rundeck/api/RundeckJobsImport.html">RundeckJobsImport</a> rundeckJobsImport) <strong class="jxr_keyword">throws</strong> RundeckApiException,
<a class="jxr_linenumber" name="863" href="#863">863</a> RundeckApiLoginException,
<a class="jxr_linenumber" name="864" href="#864">864</a> RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="865" href="#865">865</a>
<a class="jxr_linenumber" name="866" href="#866">866</a> AssertUtil.notNull(rundeckJobsImport.getStream(), <span class="jxr_string">"inputStream of jobs is mandatory to import jobs !"</span>);
<a class="jxr_linenumber" name="867" href="#867">867</a> AssertUtil.notNull(rundeckJobsImport.getFileType(), <span class="jxr_string">"fileType is mandatory to import jobs !"</span>);
<a class="jxr_linenumber" name="868" href="#868">868</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/rundeck/api/ApiPathBuilder.html">ApiPathBuilder</a> request = <strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/ApiPathBuilder.html">ApiPathBuilder</a>(JOBS_IMPORT)
<a class="jxr_linenumber" name="869" href="#869">869</a> .param(<span class="jxr_string">"format"</span>, rundeckJobsImport.getFileType())
<a class="jxr_linenumber" name="870" href="#870">870</a> .param(<span class="jxr_string">"dupeOption"</span>, rundeckJobsImport.getImportMethod())
<a class="jxr_linenumber" name="871" href="#871">871</a> .attach(<span class="jxr_string">"xmlBatch"</span>, rundeckJobsImport.getStream());
<a class="jxr_linenumber" name="872" href="#872">872</a> <strong class="jxr_keyword">if</strong>(<strong class="jxr_keyword">null</strong>!=rundeckJobsImport.getUuidImportBehavior()) {
<a class="jxr_linenumber" name="873" href="#873">873</a> <em class="jxr_comment">//API v9</em>
<a class="jxr_linenumber" name="874" href="#874">874</a> request.param(<span class="jxr_string">"uuidOption"</span>, rundeckJobsImport.getUuidImportBehavior());
<a class="jxr_linenumber" name="875" href="#875">875</a> }
<a class="jxr_linenumber" name="876" href="#876">876</a> <strong class="jxr_keyword">if</strong>(<strong class="jxr_keyword">null</strong>!=rundeckJobsImport.getProject()) {
<a class="jxr_linenumber" name="877" href="#877">877</a> <em class="jxr_comment">//API v8</em>
<a class="jxr_linenumber" name="878" href="#878">878</a> request.param(<span class="jxr_string">"project"</span>, rundeckJobsImport.getProject());
<a class="jxr_linenumber" name="879" href="#879">879</a> }
<a class="jxr_linenumber" name="880" href="#880">880</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/ApiCall.html">ApiCall</a>(<strong class="jxr_keyword">this</strong>).post(request, <strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/parser/JobsImportResultParser.html">JobsImportResultParser</a>(<span class="jxr_string">"result"</span>));
<a class="jxr_linenumber" name="881" href="#881">881</a> }
<a class="jxr_linenumber" name="882" href="#882">882</a>
<a class="jxr_linenumber" name="883" href="#883">883</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="884" href="#884">884</a> <em class="jxr_javadoccomment"> * Find a job, identified by its project, group and name. Note that the groupPath is optional, as a job does not</em>
<a class="jxr_linenumber" name="885" href="#885">885</a> <em class="jxr_javadoccomment"> * need to belong to a group (either pass null, or an empty string).</em>
<a class="jxr_linenumber" name="886" href="#886">886</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="887" href="#887">887</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="888" href="#888">888</a> <em class="jxr_javadoccomment"> * @param groupPath group to which the job belongs (if it belongs to a group) - optional</em>
<a class="jxr_linenumber" name="889" href="#889">889</a> <em class="jxr_javadoccomment"> * @param name of the job to find - mandatory</em>
<a class="jxr_linenumber" name="890" href="#890">890</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckJob} instance - null if not found</em>
<a class="jxr_linenumber" name="891" href="#891">891</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="892" href="#892">892</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="893" href="#893">893</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="894" href="#894">894</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project or the name is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="895" href="#895">895</a> <em class="jxr_javadoccomment"> * @see #getJob(String)</em>
<a class="jxr_linenumber" name="896" href="#896">896</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="897" href="#897">897</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckJob.html">RundeckJob</a> findJob(String project, String groupPath, String name) <strong class="jxr_keyword">throws</strong> RundeckApiException,
<a class="jxr_linenumber" name="898" href="#898">898</a> RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="899" href="#899">899</a> AssertUtil.notBlank(project, <span class="jxr_string">"project is mandatory to find a job !"</span>);
<a class="jxr_linenumber" name="900" href="#900">900</a> AssertUtil.notBlank(name, <span class="jxr_string">"job name is mandatory to find a job !"</span>);
<a class="jxr_linenumber" name="901" href="#901">901</a> List&lt;RundeckJob&gt; jobs = getJobs(project, name, groupPath, <strong class="jxr_keyword">new</strong> String[0]);
<a class="jxr_linenumber" name="902" href="#902">902</a> <strong class="jxr_keyword">return</strong> jobs.isEmpty() ? <strong class="jxr_keyword">null</strong> : jobs.get(0);
<a class="jxr_linenumber" name="903" href="#903">903</a> }
<a class="jxr_linenumber" name="904" href="#904">904</a>
<a class="jxr_linenumber" name="905" href="#905">905</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="906" href="#906">906</a> <em class="jxr_javadoccomment"> * Get the definition of a single job, identified by the given ID</em>
<a class="jxr_linenumber" name="907" href="#907">907</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="908" href="#908">908</a> <em class="jxr_javadoccomment"> * @param jobId identifier of the job - mandatory</em>
<a class="jxr_linenumber" name="909" href="#909">909</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckJob} instance - won't be null</em>
<a class="jxr_linenumber" name="910" href="#910">910</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID)</em>
<a class="jxr_linenumber" name="911" href="#911">911</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="912" href="#912">912</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="913" href="#913">913</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the jobId is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="914" href="#914">914</a> <em class="jxr_javadoccomment"> * @see #findJob(String, String, String)</em>
<a class="jxr_linenumber" name="915" href="#915">915</a> <em class="jxr_javadoccomment"> * @see #exportJob(String, String)</em>
<a class="jxr_linenumber" name="916" href="#916">916</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="917" href="#917">917</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckJob.html">RundeckJob</a> getJob(String jobId) <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException,
<a class="jxr_linenumber" name="918" href="#918">918</a> RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="919" href="#919">919</a> AssertUtil.notBlank(jobId, <span class="jxr_string">"jobId is mandatory to get the details of a job !"</span>);
<a class="jxr_linenumber" name="920" href="#920">920</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/ApiCall.html">ApiCall</a>(<strong class="jxr_keyword">this</strong>).get(<strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/ApiPathBuilder.html">ApiPathBuilder</a>(<span class="jxr_string">"/job/"</span>, jobId), <strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/parser/JobParser.html">JobParser</a>(<span class="jxr_string">"joblist/job"</span>));
<a class="jxr_linenumber" name="921" href="#921">921</a> }
<a class="jxr_linenumber" name="922" href="#922">922</a>
<a class="jxr_linenumber" name="923" href="#923">923</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="924" href="#924">924</a> <em class="jxr_javadoccomment"> * Delete a single job, identified by the given ID</em>
<a class="jxr_linenumber" name="925" href="#925">925</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="926" href="#926">926</a> <em class="jxr_javadoccomment"> * @param jobId identifier of the job - mandatory</em>
<a class="jxr_linenumber" name="927" href="#927">927</a> <em class="jxr_javadoccomment"> * @return the success message (note that in case of error, you'll get an exception)</em>
<a class="jxr_linenumber" name="928" href="#928">928</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID)</em>
<a class="jxr_linenumber" name="929" href="#929">929</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="930" href="#930">930</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="931" href="#931">931</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the jobId is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="932" href="#932">932</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="933" href="#933">933</a> <strong class="jxr_keyword">public</strong> String deleteJob(String jobId) <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException,
<a class="jxr_linenumber" name="934" href="#934">934</a> RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="935" href="#935">935</a> AssertUtil.notBlank(jobId, <span class="jxr_string">"jobId is mandatory to delete a job !"</span>);
<a class="jxr_linenumber" name="936" href="#936">936</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/ApiCall.html">ApiCall</a>(<strong class="jxr_keyword">this</strong>).delete(<strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/ApiPathBuilder.html">ApiPathBuilder</a>(<span class="jxr_string">"/job/"</span>, jobId), <strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/parser/StringParser.html">StringParser</a>(<span class="jxr_string">"result/success/message"</span>));
<a class="jxr_linenumber" name="937" href="#937">937</a> }
<a class="jxr_linenumber" name="938" href="#938">938</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="939" href="#939">939</a> <em class="jxr_javadoccomment"> * Delete multiple jobs, identified by the given IDs</em>
<a class="jxr_linenumber" name="940" href="#940">940</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="941" href="#941">941</a> <em class="jxr_javadoccomment"> * @param jobIds List of job IDS</em>
<a class="jxr_linenumber" name="942" href="#942">942</a> <em class="jxr_javadoccomment"> * @return the bulk delete result</em>
<a class="jxr_linenumber" name="943" href="#943">943</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID)</em>
<a class="jxr_linenumber" name="944" href="#944">944</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="945" href="#945">945</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="946" href="#946">946</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the jobId is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="947" href="#947">947</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="948" href="#948">948</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckJobDeleteBulk.html">RundeckJobDeleteBulk</a> deleteJobs(<strong class="jxr_keyword">final</strong> List&lt;String&gt; jobIds) <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException,
<a class="jxr_linenumber" name="949" href="#949">949</a> RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="950" href="#950">950</a> <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">null</strong> == jobIds || 0 == jobIds.size()) {
<a class="jxr_linenumber" name="951" href="#951">951</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"jobIds are mandatory to delete a job"</span>);
<a class="jxr_linenumber" name="952" href="#952">952</a> }
<a class="jxr_linenumber" name="953" href="#953">953</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/ApiCall.html">ApiCall</a>(<strong class="jxr_keyword">this</strong>).post(<strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/ApiPathBuilder.html">ApiPathBuilder</a>(<span class="jxr_string">"/jobs/delete"</span>).field(<span class="jxr_string">"ids"</span>,jobIds),
<a class="jxr_linenumber" name="954" href="#954">954</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/parser/BulkDeleteParser.html">BulkDeleteParser</a>(<span class="jxr_string">"result/deleteJobs"</span>));
<a class="jxr_linenumber" name="955" href="#955">955</a> }
<a class="jxr_linenumber" name="956" href="#956">956</a>
<a class="jxr_linenumber" name="957" href="#957">957</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="958" href="#958">958</a> <em class="jxr_javadoccomment"> * Trigger the execution of a RunDeck job (identified by the given ID), and return immediately (without waiting the</em>
<a class="jxr_linenumber" name="959" href="#959">959</a> <em class="jxr_javadoccomment"> * end of the job execution)</em>
<a class="jxr_linenumber" name="960" href="#960">960</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="961" href="#961">961</a> <em class="jxr_javadoccomment"> * @param jobId identifier of the job - mandatory</em>
<a class="jxr_linenumber" name="962" href="#962">962</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance for the newly created (and running) execution - won't be null</em>
<a class="jxr_linenumber" name="963" href="#963">963</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID)</em>
<a class="jxr_linenumber" name="964" href="#964">964</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="965" href="#965">965</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="966" href="#966">966</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the jobId is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="967" href="#967">967</a> <em class="jxr_javadoccomment"> * @see #triggerJob(String, Properties, Properties)</em>
<a class="jxr_linenumber" name="968" href="#968">968</a> <em class="jxr_javadoccomment"> * @see #runJob(String)</em>
<a class="jxr_linenumber" name="969" href="#969">969</a> <em class="jxr_javadoccomment"> * @deprecated use {@link #triggerJob(RunJob)}, this method will be removed in version 10 of this library</em>
<a class="jxr_linenumber" name="970" href="#970">970</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="971" href="#971">971</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> triggerJob(String jobId) <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException,
<a class="jxr_linenumber" name="972" href="#972">972</a> RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="973" href="#973">973</a> <strong class="jxr_keyword">return</strong> triggerJob(jobId, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="974" href="#974">974</a> }
<a class="jxr_linenumber" name="975" href="#975">975</a>
<a class="jxr_linenumber" name="976" href="#976">976</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="977" href="#977">977</a> <em class="jxr_javadoccomment"> * Trigger the execution of a RunDeck job (identified by the given ID), and return immediately (without waiting the</em>
<a class="jxr_linenumber" name="978" href="#978">978</a> <em class="jxr_javadoccomment"> * end of the job execution)</em>
<a class="jxr_linenumber" name="979" href="#979">979</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="980" href="#980">980</a> <em class="jxr_javadoccomment"> * @param jobId identifier of the job - mandatory</em>
<a class="jxr_linenumber" name="981" href="#981">981</a> <em class="jxr_javadoccomment"> * @param options of the job - optional. See {@link OptionsBuilder}.</em>
<a class="jxr_linenumber" name="982" href="#982">982</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance for the newly created (and running) execution - won't be null</em>
<a class="jxr_linenumber" name="983" href="#983">983</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID)</em>
<a class="jxr_linenumber" name="984" href="#984">984</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="985" href="#985">985</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="986" href="#986">986</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the jobId is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="987" href="#987">987</a> <em class="jxr_javadoccomment"> * @see #triggerJob(String, Properties, Properties)</em>
<a class="jxr_linenumber" name="988" href="#988">988</a> <em class="jxr_javadoccomment"> * @see #runJob(String, Properties)</em>
<a class="jxr_linenumber" name="989" href="#989">989</a> <em class="jxr_javadoccomment"> * @deprecated use {@link #triggerJob(RunJob)}, this method will be removed in version 10 of this library</em>
<a class="jxr_linenumber" name="990" href="#990">990</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="991" href="#991">991</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> triggerJob(String jobId, Properties options) <strong class="jxr_keyword">throws</strong> RundeckApiException,
<a class="jxr_linenumber" name="992" href="#992">992</a> RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="993" href="#993">993</a> <strong class="jxr_keyword">return</strong> triggerJob(jobId, options, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="994" href="#994">994</a> }
<a class="jxr_linenumber" name="995" href="#995">995</a>
<a class="jxr_linenumber" name="996" href="#996">996</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="997" href="#997">997</a> <em class="jxr_javadoccomment"> * Trigger the execution of a RunDeck job (identified by the given ID), and return immediately (without waiting the</em>
<a class="jxr_linenumber" name="998" href="#998">998</a> <em class="jxr_javadoccomment"> * end of the job execution)</em>
<a class="jxr_linenumber" name="999" href="#999">999</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="1000" href="#1000">1000</a> <em class="jxr_javadoccomment"> * @param jobId identifier of the job - mandatory</em>
<a class="jxr_linenumber" name="1001" href="#1001">1001</a> <em class="jxr_javadoccomment"> * @param options of the job - optional. See {@link OptionsBuilder}.</em>
<a class="jxr_linenumber" name="1002" href="#1002">1002</a> <em class="jxr_javadoccomment"> * @param nodeFilters for overriding the nodes on which the job will be executed - optional. See</em>
<a class="jxr_linenumber" name="1003" href="#1003">1003</a> <em class="jxr_javadoccomment"> * {@link NodeFiltersBuilder}</em>
<a class="jxr_linenumber" name="1004" href="#1004">1004</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance for the newly created (and running) execution - won't be null</em>
<a class="jxr_linenumber" name="1005" href="#1005">1005</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID)</em>
<a class="jxr_linenumber" name="1006" href="#1006">1006</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="1007" href="#1007">1007</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="1008" href="#1008">1008</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the jobId is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="1009" href="#1009">1009</a> <em class="jxr_javadoccomment"> * @see #triggerJob(String)</em>
<a class="jxr_linenumber" name="1010" href="#1010">1010</a> <em class="jxr_javadoccomment"> * @see #runJob(String, Properties, Properties)</em>
<a class="jxr_linenumber" name="1011" href="#1011">1011</a> <em class="jxr_javadoccomment"> * @deprecated use {@link #triggerJob(RunJob)}, this method will be removed in version 10 of this library</em>
<a class="jxr_linenumber" name="1012" href="#1012">1012</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="1013" href="#1013">1013</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> triggerJob(String jobId, Properties options, Properties nodeFilters)
<a class="jxr_linenumber" name="1014" href="#1014">1014</a> <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="1015" href="#1015">1015</a> <strong class="jxr_keyword">return</strong> triggerJob(jobId, options, nodeFilters, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="1016" href="#1016">1016</a> }
<a class="jxr_linenumber" name="1017" href="#1017">1017</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1018" href="#1018">1018</a> <em class="jxr_javadoccomment"> * Trigger the execution of a RunDeck job (identified by the given ID), and return immediately (without waiting the</em>
<a class="jxr_linenumber" name="1019" href="#1019">1019</a> <em class="jxr_javadoccomment"> * end of the job execution)</em>
<a class="jxr_linenumber" name="1020" href="#1020">1020</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="1021" href="#1021">1021</a> <em class="jxr_javadoccomment"> * @param jobId identifier of the job - mandatory</em>
<a class="jxr_linenumber" name="1022" href="#1022">1022</a> <em class="jxr_javadoccomment"> * @param options of the job - optional. See {@link OptionsBuilder}.</em>
<a class="jxr_linenumber" name="1023" href="#1023">1023</a> <em class="jxr_javadoccomment"> * @param nodeFilters for overriding the nodes on which the job will be executed - optional. See</em>
<a class="jxr_linenumber" name="1024" href="#1024">1024</a> <em class="jxr_javadoccomment"> * {@link NodeFiltersBuilder}</em>
<a class="jxr_linenumber" name="1025" href="#1025">1025</a> <em class="jxr_javadoccomment"> * @param asUser specify a user name to run the job as, must have 'runAs' permission</em>
<a class="jxr_linenumber" name="1026" href="#1026">1026</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance for the newly created (and running) execution - won't be null</em>
<a class="jxr_linenumber" name="1027" href="#1027">1027</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID)</em>
<a class="jxr_linenumber" name="1028" href="#1028">1028</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="1029" href="#1029">1029</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="1030" href="#1030">1030</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the jobId is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="1031" href="#1031">1031</a> <em class="jxr_javadoccomment"> * @see #triggerJob(String)</em>
<a class="jxr_linenumber" name="1032" href="#1032">1032</a> <em class="jxr_javadoccomment"> * @see #runJob(String, Properties, Properties)</em>
<a class="jxr_linenumber" name="1033" href="#1033">1033</a> <em class="jxr_javadoccomment"> * @deprecated use {@link #triggerJob(RunJob)}, this method will be removed in version 10 of this library</em>
<a class="jxr_linenumber" name="1034" href="#1034">1034</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="1035" href="#1035">1035</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> triggerJob(String jobId, Properties options, Properties nodeFilters, String asUser)
<a class="jxr_linenumber" name="1036" href="#1036">1036</a> <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="1037" href="#1037">1037</a> <strong class="jxr_keyword">return</strong> triggerJob(RunJobBuilder.builder()
<a class="jxr_linenumber" name="1038" href="#1038">1038</a> .setJobId(jobId)
<a class="jxr_linenumber" name="1039" href="#1039">1039</a> .setOptions(options)
<a class="jxr_linenumber" name="1040" href="#1040">1040</a> .setNodeFilters(nodeFilters)
<a class="jxr_linenumber" name="1041" href="#1041">1041</a> .setAsUser(asUser)
<a class="jxr_linenumber" name="1042" href="#1042">1042</a> .build());
<a class="jxr_linenumber" name="1043" href="#1043">1043</a> }
<a class="jxr_linenumber" name="1044" href="#1044">1044</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1045" href="#1045">1045</a> <em class="jxr_javadoccomment"> * Trigger the execution of a RunDeck job (identified by the given ID), and return immediately (without waiting the</em>
<a class="jxr_linenumber" name="1046" href="#1046">1046</a> <em class="jxr_javadoccomment"> * end of the job execution)</em>
<a class="jxr_linenumber" name="1047" href="#1047">1047</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="1048" href="#1048">1048</a> <em class="jxr_javadoccomment"> * @param jobRun the RunJob, see {@link RunJobBuilder}</em>
<a class="jxr_linenumber" name="1049" href="#1049">1049</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance for the newly created (and running) execution - won't be null</em>
<a class="jxr_linenumber" name="1050" href="#1050">1050</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID)</em>
<a class="jxr_linenumber" name="1051" href="#1051">1051</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="1052" href="#1052">1052</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="1053" href="#1053">1053</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the jobId is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="1054" href="#1054">1054</a> <em class="jxr_javadoccomment"> * @see #triggerJob(String)</em>
<a class="jxr_linenumber" name="1055" href="#1055">1055</a> <em class="jxr_javadoccomment"> * @see #runJob(String, Properties, Properties)</em>
<a class="jxr_linenumber" name="1056" href="#1056">1056</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="1057" href="#1057">1057</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> triggerJob(<strong class="jxr_keyword">final</strong> <a href="../../../org/rundeck/api/RunJob.html">RunJob</a> jobRun)
<a class="jxr_linenumber" name="1058" href="#1058">1058</a> <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="1059" href="#1059">1059</a> AssertUtil.notBlank(jobRun.getJobId(), <span class="jxr_string">"jobId is mandatory to trigger a job !"</span>);
<a class="jxr_linenumber" name="1060" href="#1060">1060</a> <a href="../../../org/rundeck/api/ApiPathBuilder.html">ApiPathBuilder</a> apiPath = <strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/ApiPathBuilder.html">ApiPathBuilder</a>(<span class="jxr_string">"/job/"</span>, jobRun.getJobId(), <span class="jxr_string">"/run"</span>).param(<span class="jxr_string">"argString"</span>,
<a class="jxr_linenumber" name="1061" href="#1061">1061</a> ParametersUtil.generateArgString(jobRun.getOptions()))
<a class="jxr_linenumber" name="1062" href="#1062">1062</a> .nodeFilters(jobRun.getNodeFilters());
<a class="jxr_linenumber" name="1063" href="#1063">1063</a> <strong class="jxr_keyword">if</strong>(<strong class="jxr_keyword">null</strong>!=jobRun.getAsUser()) {
<a class="jxr_linenumber" name="1064" href="#1064">1064</a> apiPath.param(<span class="jxr_string">"asUser"</span>, jobRun.getAsUser());
<a class="jxr_linenumber" name="1065" href="#1065">1065</a> }
<a class="jxr_linenumber" name="1066" href="#1066">1066</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/ApiCall.html">ApiCall</a>(<strong class="jxr_keyword">this</strong>).get(apiPath, <strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/parser/ExecutionParser.html">ExecutionParser</a>(<span class="jxr_string">"result/executions/execution"</span>));
<a class="jxr_linenumber" name="1067" href="#1067">1067</a> }
<a class="jxr_linenumber" name="1068" href="#1068">1068</a>
<a class="jxr_linenumber" name="1069" href="#1069">1069</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1070" href="#1070">1070</a> <em class="jxr_javadoccomment"> * Run a RunDeck job (identified by the given ID), and wait until its execution is finished (or aborted) to return.</em>
<a class="jxr_linenumber" name="1071" href="#1071">1071</a> <em class="jxr_javadoccomment"> * We will poll the RunDeck server at regular interval (every 5 seconds) to know if the execution is finished (or</em>
<a class="jxr_linenumber" name="1072" href="#1072">1072</a> <em class="jxr_javadoccomment"> * aborted) or is still running.</em>
<a class="jxr_linenumber" name="1073" href="#1073">1073</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="1074" href="#1074">1074</a> <em class="jxr_javadoccomment"> * @param jobId identifier of the job - mandatory</em>
<a class="jxr_linenumber" name="1075" href="#1075">1075</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null</em>
<a class="jxr_linenumber" name="1076" href="#1076">1076</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID)</em>
<a class="jxr_linenumber" name="1077" href="#1077">1077</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="1078" href="#1078">1078</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="1079" href="#1079">1079</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the jobId is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="1080" href="#1080">1080</a> <em class="jxr_javadoccomment"> * @see #triggerJob(String)</em>
<a class="jxr_linenumber" name="1081" href="#1081">1081</a> <em class="jxr_javadoccomment"> * @see #runJob(String, Properties, Properties, long, TimeUnit)</em>
<a class="jxr_linenumber" name="1082" href="#1082">1082</a> <em class="jxr_javadoccomment"> * @deprecated use {@link #runJob(RunJob, long, java.util.concurrent.TimeUnit)},</em>
<a class="jxr_linenumber" name="1083" href="#1083">1083</a> <em class="jxr_javadoccomment"> * this method will be removed in version 10 of this library</em>
<a class="jxr_linenumber" name="1084" href="#1084">1084</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="1085" href="#1085">1085</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> runJob(String jobId) <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException,
<a class="jxr_linenumber" name="1086" href="#1086">1086</a> RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="1087" href="#1087">1087</a> <strong class="jxr_keyword">return</strong> runJob(jobId, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="1088" href="#1088">1088</a> }
<a class="jxr_linenumber" name="1089" href="#1089">1089</a>
<a class="jxr_linenumber" name="1090" href="#1090">1090</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1091" href="#1091">1091</a> <em class="jxr_javadoccomment"> * Run a RunDeck job (identified by the given ID), and wait until its execution is finished (or aborted) to return.</em>
<a class="jxr_linenumber" name="1092" href="#1092">1092</a> <em class="jxr_javadoccomment"> * We will poll the RunDeck server at regular interval (every 5 seconds) to know if the execution is finished (or</em>
<a class="jxr_linenumber" name="1093" href="#1093">1093</a> <em class="jxr_javadoccomment"> * aborted) or is still running.</em>
<a class="jxr_linenumber" name="1094" href="#1094">1094</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="1095" href="#1095">1095</a> <em class="jxr_javadoccomment"> * @param jobId identifier of the job - mandatory</em>
<a class="jxr_linenumber" name="1096" href="#1096">1096</a> <em class="jxr_javadoccomment"> * @param options of the job - optional. See {@link OptionsBuilder}.</em>
<a class="jxr_linenumber" name="1097" href="#1097">1097</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null</em>
<a class="jxr_linenumber" name="1098" href="#1098">1098</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID)</em>
<a class="jxr_linenumber" name="1099" href="#1099">1099</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="1100" href="#1100">1100</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="1101" href="#1101">1101</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the jobId is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="1102" href="#1102">1102</a> <em class="jxr_javadoccomment"> * @see #triggerJob(String, Properties)</em>
<a class="jxr_linenumber" name="1103" href="#1103">1103</a> <em class="jxr_javadoccomment"> * @see #runJob(String, Properties, Properties, long, TimeUnit)</em>
<a class="jxr_linenumber" name="1104" href="#1104">1104</a> <em class="jxr_javadoccomment"> * @deprecated use {@link #runJob(RunJob, long, java.util.concurrent.TimeUnit)},</em>
<a class="jxr_linenumber" name="1105" href="#1105">1105</a> <em class="jxr_javadoccomment"> * this method will be removed in version 10 of this library</em>
<a class="jxr_linenumber" name="1106" href="#1106">1106</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="1107" href="#1107">1107</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> runJob(String jobId, Properties options) <strong class="jxr_keyword">throws</strong> RundeckApiException,
<a class="jxr_linenumber" name="1108" href="#1108">1108</a> RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="1109" href="#1109">1109</a> <strong class="jxr_keyword">return</strong> runJob(jobId, options, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="1110" href="#1110">1110</a> }
<a class="jxr_linenumber" name="1111" href="#1111">1111</a>
<a class="jxr_linenumber" name="1112" href="#1112">1112</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1113" href="#1113">1113</a> <em class="jxr_javadoccomment"> * Run a RunDeck job (identified by the given ID), and wait until its execution is finished (or aborted) to return.</em>
<a class="jxr_linenumber" name="1114" href="#1114">1114</a> <em class="jxr_javadoccomment"> * We will poll the RunDeck server at regular interval (every 5 seconds) to know if the execution is finished (or</em>
<a class="jxr_linenumber" name="1115" href="#1115">1115</a> <em class="jxr_javadoccomment"> * aborted) or is still running.</em>
<a class="jxr_linenumber" name="1116" href="#1116">1116</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="1117" href="#1117">1117</a> <em class="jxr_javadoccomment"> * @param jobId identifier of the job - mandatory</em>
<a class="jxr_linenumber" name="1118" href="#1118">1118</a> <em class="jxr_javadoccomment"> * @param options of the job - optional. See {@link OptionsBuilder}.</em>
<a class="jxr_linenumber" name="1119" href="#1119">1119</a> <em class="jxr_javadoccomment"> * @param nodeFilters for overriding the nodes on which the job will be executed - optional. See</em>
<a class="jxr_linenumber" name="1120" href="#1120">1120</a> <em class="jxr_javadoccomment"> * {@link NodeFiltersBuilder}</em>
<a class="jxr_linenumber" name="1121" href="#1121">1121</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null</em>
<a class="jxr_linenumber" name="1122" href="#1122">1122</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID)</em>
<a class="jxr_linenumber" name="1123" href="#1123">1123</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="1124" href="#1124">1124</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="1125" href="#1125">1125</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the jobId is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="1126" href="#1126">1126</a> <em class="jxr_javadoccomment"> * @see #triggerJob(String, Properties, Properties)</em>
<a class="jxr_linenumber" name="1127" href="#1127">1127</a> <em class="jxr_javadoccomment"> * @see #runJob(String, Properties, Properties, long, TimeUnit)</em>
<a class="jxr_linenumber" name="1128" href="#1128">1128</a> <em class="jxr_javadoccomment"> * @deprecated use {@link #runJob(RunJob, long, java.util.concurrent.TimeUnit)},</em>
<a class="jxr_linenumber" name="1129" href="#1129">1129</a> <em class="jxr_javadoccomment"> * this method will be removed in version 10 of this library</em>
<a class="jxr_linenumber" name="1130" href="#1130">1130</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="1131" href="#1131">1131</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> runJob(String jobId, Properties options, Properties nodeFilters)
<a class="jxr_linenumber" name="1132" href="#1132">1132</a> <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="1133" href="#1133">1133</a> <strong class="jxr_keyword">return</strong> runJob(jobId, options, nodeFilters, DEFAULT_POOLING_INTERVAL, DEFAULT_POOLING_UNIT);
<a class="jxr_linenumber" name="1134" href="#1134">1134</a> }
<a class="jxr_linenumber" name="1135" href="#1135">1135</a>
<a class="jxr_linenumber" name="1136" href="#1136">1136</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1137" href="#1137">1137</a> <em class="jxr_javadoccomment"> * Run a RunDeck job (identified by the given ID), and wait until its execution is finished (or aborted) to return.</em>
<a class="jxr_linenumber" name="1138" href="#1138">1138</a> <em class="jxr_javadoccomment"> * We will poll the RunDeck server at regular interval (every 5 seconds) to know if the execution is finished (or</em>
<a class="jxr_linenumber" name="1139" href="#1139">1139</a> <em class="jxr_javadoccomment"> * aborted) or is still running.</em>
<a class="jxr_linenumber" name="1140" href="#1140">1140</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="1141" href="#1141">1141</a> <em class="jxr_javadoccomment"> * @param runJob the RunJob, see {@link RunJobBuilder}</em>
<a class="jxr_linenumber" name="1142" href="#1142">1142</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="1143" href="#1143">1143</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null</em>
<a class="jxr_linenumber" name="1144" href="#1144">1144</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="1145" href="#1145">1145</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID)</em>
<a class="jxr_linenumber" name="1146" href="#1146">1146</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="1147" href="#1147">1147</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="1148" href="#1148">1148</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the jobId is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="1149" href="#1149">1149</a> <em class="jxr_javadoccomment"> * @see #triggerJob(RunJob)</em>
<a class="jxr_linenumber" name="1150" href="#1150">1150</a> <em class="jxr_javadoccomment"> * @see #runJob(RunJob, long, TimeUnit)</em>
<a class="jxr_linenumber" name="1151" href="#1151">1151</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="1152" href="#1152">1152</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> runJob(<strong class="jxr_keyword">final</strong> <a href="../../../org/rundeck/api/RunJob.html">RunJob</a> runJob) <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException,
<a class="jxr_linenumber" name="1153" href="#1153">1153</a> RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="1154" href="#1154">1154</a> <strong class="jxr_keyword">return</strong> runJob(runJob, DEFAULT_POOLING_INTERVAL, DEFAULT_POOLING_UNIT);
<a class="jxr_linenumber" name="1155" href="#1155">1155</a> }
<a class="jxr_linenumber" name="1156" href="#1156">1156</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1157" href="#1157">1157</a> <em class="jxr_javadoccomment"> * Run a RunDeck job (identified by the given ID), and wait until its execution is finished (or aborted) to return.</em>
<a class="jxr_linenumber" name="1158" href="#1158">1158</a> <em class="jxr_javadoccomment"> * We will poll the RunDeck server at regular interval (configured by the poolingInterval/poolingUnit couple) to</em>
<a class="jxr_linenumber" name="1159" href="#1159">1159</a> <em class="jxr_javadoccomment"> * know if the execution is finished (or aborted) or is still running.</em>
<a class="jxr_linenumber" name="1160" href="#1160">1160</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="1161" href="#1161">1161</a> <em class="jxr_javadoccomment"> * @param jobId identifier of the job - mandatory</em>
<a class="jxr_linenumber" name="1162" href="#1162">1162</a> <em class="jxr_javadoccomment"> * @param options of the job - optional. See {@link OptionsBuilder}.</em>
<a class="jxr_linenumber" name="1163" href="#1163">1163</a> <em class="jxr_javadoccomment"> * @param poolingInterval for checking the status of the execution. Must be &gt; 0.</em>
<a class="jxr_linenumber" name="1164" href="#1164">1164</a> <em class="jxr_javadoccomment"> * @param poolingUnit unit (seconds, milli-seconds, ...) of the interval. Default to seconds.</em>
<a class="jxr_linenumber" name="1165" href="#1165">1165</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null</em>
<a class="jxr_linenumber" name="1166" href="#1166">1166</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID)</em>
<a class="jxr_linenumber" name="1167" href="#1167">1167</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="1168" href="#1168">1168</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="1169" href="#1169">1169</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the jobId is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="1170" href="#1170">1170</a> <em class="jxr_javadoccomment"> * @see #triggerJob(String, Properties)</em>
<a class="jxr_linenumber" name="1171" href="#1171">1171</a> <em class="jxr_javadoccomment"> * @see #runJob(String, Properties, Properties, long, TimeUnit)</em>
<a class="jxr_linenumber" name="1172" href="#1172">1172</a> <em class="jxr_javadoccomment"> * @deprecated use {@link #runJob(RunJob, long, java.util.concurrent.TimeUnit)},</em>
<a class="jxr_linenumber" name="1173" href="#1173">1173</a> <em class="jxr_javadoccomment"> * this method will be removed in version 10 of this library</em>
<a class="jxr_linenumber" name="1174" href="#1174">1174</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="1175" href="#1175">1175</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> runJob(String jobId, Properties options, <strong class="jxr_keyword">long</strong> poolingInterval, TimeUnit poolingUnit)
<a class="jxr_linenumber" name="1176" href="#1176">1176</a> <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="1177" href="#1177">1177</a> <strong class="jxr_keyword">return</strong> runJob(jobId, options, <strong class="jxr_keyword">null</strong>, poolingInterval, poolingUnit);
<a class="jxr_linenumber" name="1178" href="#1178">1178</a> }
<a class="jxr_linenumber" name="1179" href="#1179">1179</a>
<a class="jxr_linenumber" name="1180" href="#1180">1180</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1181" href="#1181">1181</a> <em class="jxr_javadoccomment"> * Run a RunDeck job (identified by the given ID), and wait until its execution is finished (or aborted) to return.</em>
<a class="jxr_linenumber" name="1182" href="#1182">1182</a> <em class="jxr_javadoccomment"> * We will poll the RunDeck server at regular interval (configured by the poolingInterval/poolingUnit couple) to</em>
<a class="jxr_linenumber" name="1183" href="#1183">1183</a> <em class="jxr_javadoccomment"> * know if the execution is finished (or aborted) or is still running.</em>
<a class="jxr_linenumber" name="1184" href="#1184">1184</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="1185" href="#1185">1185</a> <em class="jxr_javadoccomment"> * @param jobId identifier of the job - mandatory</em>
<a class="jxr_linenumber" name="1186" href="#1186">1186</a> <em class="jxr_javadoccomment"> * @param options of the job - optional. See {@link OptionsBuilder}.</em>
<a class="jxr_linenumber" name="1187" href="#1187">1187</a> <em class="jxr_javadoccomment"> * @param nodeFilters for overriding the nodes on which the job will be executed - optional. See</em>
<a class="jxr_linenumber" name="1188" href="#1188">1188</a> <em class="jxr_javadoccomment"> * {@link NodeFiltersBuilder}</em>
<a class="jxr_linenumber" name="1189" href="#1189">1189</a> <em class="jxr_javadoccomment"> * @param poolingInterval for checking the status of the execution. Must be &gt; 0.</em>
<a class="jxr_linenumber" name="1190" href="#1190">1190</a> <em class="jxr_javadoccomment"> * @param poolingUnit unit (seconds, milli-seconds, ...) of the interval. Default to seconds.</em>
<a class="jxr_linenumber" name="1191" href="#1191">1191</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null</em>
<a class="jxr_linenumber" name="1192" href="#1192">1192</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID)</em>
<a class="jxr_linenumber" name="1193" href="#1193">1193</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="1194" href="#1194">1194</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="1195" href="#1195">1195</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the jobId is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="1196" href="#1196">1196</a> <em class="jxr_javadoccomment"> * @see #triggerJob(String, Properties)</em>
<a class="jxr_linenumber" name="1197" href="#1197">1197</a> <em class="jxr_javadoccomment"> * @see #runJob(String, Properties, Properties, long, TimeUnit)</em>
<a class="jxr_linenumber" name="1198" href="#1198">1198</a> <em class="jxr_javadoccomment"> * @deprecated use {@link #runJob(RunJob, long, java.util.concurrent.TimeUnit)},</em>
<a class="jxr_linenumber" name="1199" href="#1199">1199</a> <em class="jxr_javadoccomment"> * this method will be removed in version 10 of this library</em>
<a class="jxr_linenumber" name="1200" href="#1200">1200</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="1201" href="#1201">1201</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> runJob(String jobId, Properties options, Properties nodeFilters, <strong class="jxr_keyword">long</strong> poolingInterval,
<a class="jxr_linenumber" name="1202" href="#1202">1202</a> TimeUnit poolingUnit) <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException, RundeckApiTokenException,
<a class="jxr_linenumber" name="1203" href="#1203">1203</a> IllegalArgumentException {
<a class="jxr_linenumber" name="1204" href="#1204">1204</a> <strong class="jxr_keyword">return</strong> runJob(jobId, options, nodeFilters, <strong class="jxr_keyword">null</strong>, poolingInterval, poolingUnit);
<a class="jxr_linenumber" name="1205" href="#1205">1205</a> }
<a class="jxr_linenumber" name="1206" href="#1206">1206</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1207" href="#1207">1207</a> <em class="jxr_javadoccomment"> * Run a RunDeck job (identified by the given ID), and wait until its execution is finished (or aborted) to return.</em>
<a class="jxr_linenumber" name="1208" href="#1208">1208</a> <em class="jxr_javadoccomment"> * We will poll the RunDeck server at regular interval (configured by the poolingInterval/poolingUnit couple) to</em>
<a class="jxr_linenumber" name="1209" href="#1209">1209</a> <em class="jxr_javadoccomment"> * know if the execution is finished (or aborted) or is still running.</em>
<a class="jxr_linenumber" name="1210" href="#1210">1210</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="1211" href="#1211">1211</a> <em class="jxr_javadoccomment"> * @param jobId identifier of the job - mandatory</em>
<a class="jxr_linenumber" name="1212" href="#1212">1212</a> <em class="jxr_javadoccomment"> * @param options of the job - optional. See {@link OptionsBuilder}.</em>
<a class="jxr_linenumber" name="1213" href="#1213">1213</a> <em class="jxr_javadoccomment"> * @param nodeFilters for overriding the nodes on which the job will be executed - optional. See</em>
<a class="jxr_linenumber" name="1214" href="#1214">1214</a> <em class="jxr_javadoccomment"> * {@link NodeFiltersBuilder}</em>
<a class="jxr_linenumber" name="1215" href="#1215">1215</a> <em class="jxr_javadoccomment"> * @param asUser specify a user name to run the job as, must have 'runAs' permission</em>
<a class="jxr_linenumber" name="1216" href="#1216">1216</a> <em class="jxr_javadoccomment"> * @param poolingInterval for checking the status of the execution. Must be &gt; 0.</em>
<a class="jxr_linenumber" name="1217" href="#1217">1217</a> <em class="jxr_javadoccomment"> * @param poolingUnit unit (seconds, milli-seconds, ...) of the interval. Default to seconds.</em>
<a class="jxr_linenumber" name="1218" href="#1218">1218</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null</em>
<a class="jxr_linenumber" name="1219" href="#1219">1219</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID)</em>
<a class="jxr_linenumber" name="1220" href="#1220">1220</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="1221" href="#1221">1221</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="1222" href="#1222">1222</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the jobId is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="1223" href="#1223">1223</a> <em class="jxr_javadoccomment"> * @see #triggerJob(String, Properties)</em>
<a class="jxr_linenumber" name="1224" href="#1224">1224</a> <em class="jxr_javadoccomment"> * @see #runJob(String, Properties, Properties, long, TimeUnit)</em>
<a class="jxr_linenumber" name="1225" href="#1225">1225</a> <em class="jxr_javadoccomment"> * @deprecated use {@link #runJob(RunJob, long, java.util.concurrent.TimeUnit)}, this method will be removed in version 10 of this library</em>
<a class="jxr_linenumber" name="1226" href="#1226">1226</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="1227" href="#1227">1227</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> runJob(String jobId, Properties options, Properties nodeFilters, String asUser, <strong class="jxr_keyword">long</strong> poolingInterval,
<a class="jxr_linenumber" name="1228" href="#1228">1228</a> TimeUnit poolingUnit) <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException, RundeckApiTokenException,
<a class="jxr_linenumber" name="1229" href="#1229">1229</a> IllegalArgumentException {
<a class="jxr_linenumber" name="1230" href="#1230">1230</a> <strong class="jxr_keyword">return</strong> runJob(RunJobBuilder.builder()
<a class="jxr_linenumber" name="1231" href="#1231">1231</a> .setJobId(jobId)
<a class="jxr_linenumber" name="1232" href="#1232">1232</a> .setOptions(options)
<a class="jxr_linenumber" name="1233" href="#1233">1233</a> .setNodeFilters(nodeFilters)
<a class="jxr_linenumber" name="1234" href="#1234">1234</a> .setAsUser(asUser)
<a class="jxr_linenumber" name="1235" href="#1235">1235</a> .build(), poolingInterval, poolingUnit);
<a class="jxr_linenumber" name="1236" href="#1236">1236</a> }
<a class="jxr_linenumber" name="1237" href="#1237">1237</a>
<a class="jxr_linenumber" name="1238" href="#1238">1238</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1239" href="#1239">1239</a> <em class="jxr_javadoccomment"> * Run a RunDeck job (identified by the given ID), and wait until its execution is finished (or aborted) to return.</em>
<a class="jxr_linenumber" name="1240" href="#1240">1240</a> <em class="jxr_javadoccomment"> * We will poll the RunDeck server at regular interval (configured by the poolingInterval/poolingUnit couple) to</em>
<a class="jxr_linenumber" name="1241" href="#1241">1241</a> <em class="jxr_javadoccomment"> * know if the execution is finished (or aborted) or is still running.</em>
<a class="jxr_linenumber" name="1242" href="#1242">1242</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="1243" href="#1243">1243</a> <em class="jxr_javadoccomment"> * @param jobRun the RunJob, see {@link RunJobBuilder}</em>
<a class="jxr_linenumber" name="1244" href="#1244">1244</a> <em class="jxr_javadoccomment"> * @param poolingInterval for checking the status of the execution. Must be &gt; 0.</em>
<a class="jxr_linenumber" name="1245" href="#1245">1245</a> <em class="jxr_javadoccomment"> * @param poolingUnit unit (seconds, milli-seconds, ...) of the interval. Default to seconds.</em>
<a class="jxr_linenumber" name="1246" href="#1246">1246</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="1247" href="#1247">1247</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null</em>
<a class="jxr_linenumber" name="1248" href="#1248">1248</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="1249" href="#1249">1249</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID)</em>
<a class="jxr_linenumber" name="1250" href="#1250">1250</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="1251" href="#1251">1251</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="1252" href="#1252">1252</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the jobId is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="1253" href="#1253">1253</a> <em class="jxr_javadoccomment"> * @see #triggerJob(RunJob)</em>
<a class="jxr_linenumber" name="1254" href="#1254">1254</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="1255" href="#1255">1255</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> runJob(<strong class="jxr_keyword">final</strong> <a href="../../../org/rundeck/api/RunJob.html">RunJob</a> jobRun, <strong class="jxr_keyword">long</strong> poolingInterval,
<a class="jxr_linenumber" name="1256" href="#1256">1256</a> TimeUnit poolingUnit) <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException, RundeckApiTokenException,
<a class="jxr_linenumber" name="1257" href="#1257">1257</a> IllegalArgumentException {
<a class="jxr_linenumber" name="1258" href="#1258">1258</a>
<a class="jxr_linenumber" name="1259" href="#1259">1259</a> <strong class="jxr_keyword">if</strong> (poolingInterval &lt;= 0) {
<a class="jxr_linenumber" name="1260" href="#1260">1260</a> poolingInterval = DEFAULT_POOLING_INTERVAL;
<a class="jxr_linenumber" name="1261" href="#1261">1261</a> poolingUnit = DEFAULT_POOLING_UNIT;
<a class="jxr_linenumber" name="1262" href="#1262">1262</a> }
<a class="jxr_linenumber" name="1263" href="#1263">1263</a> <strong class="jxr_keyword">if</strong> (poolingUnit == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="1264" href="#1264">1264</a> poolingUnit = DEFAULT_POOLING_UNIT;
<a class="jxr_linenumber" name="1265" href="#1265">1265</a> }
<a class="jxr_linenumber" name="1266" href="#1266">1266</a>
<a class="jxr_linenumber" name="1267" href="#1267">1267</a> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> execution = triggerJob(jobRun);
<a class="jxr_linenumber" name="1268" href="#1268">1268</a> <strong class="jxr_keyword">while</strong> (ExecutionStatus.RUNNING.equals(execution.getStatus())) {
<a class="jxr_linenumber" name="1269" href="#1269">1269</a> <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="1270" href="#1270">1270</a> Thread.sleep(poolingUnit.toMillis(poolingInterval));
<a class="jxr_linenumber" name="1271" href="#1271">1271</a> } <strong class="jxr_keyword">catch</strong> (InterruptedException e) {
<a class="jxr_linenumber" name="1272" href="#1272">1272</a> <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="1273" href="#1273">1273</a> }
<a class="jxr_linenumber" name="1274" href="#1274">1274</a> execution = getExecution(execution.getId());
<a class="jxr_linenumber" name="1275" href="#1275">1275</a> }
<a class="jxr_linenumber" name="1276" href="#1276">1276</a> <strong class="jxr_keyword">return</strong> execution;
<a class="jxr_linenumber" name="1277" href="#1277">1277</a> }
<a class="jxr_linenumber" name="1278" href="#1278">1278</a>
<a class="jxr_linenumber" name="1279" href="#1279">1279</a> <em class="jxr_comment">/*</em>
<a class="jxr_linenumber" name="1280" href="#1280">1280</a> <em class="jxr_comment"> * Ad-hoc commands</em>
<a class="jxr_linenumber" name="1281" href="#1281">1281</a> <em class="jxr_comment"> */</em>
<a class="jxr_linenumber" name="1282" href="#1282">1282</a>
<a class="jxr_linenumber" name="1283" href="#1283">1283</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1284" href="#1284">1284</a> <em class="jxr_javadoccomment"> * Trigger the execution of an ad-hoc command, and return immediately (without waiting the end of the execution).</em>
<a class="jxr_linenumber" name="1285" href="#1285">1285</a> <em class="jxr_javadoccomment"> * The command will not be dispatched to nodes, but be executed on the RunDeck server.</em>
<a class="jxr_linenumber" name="1286" href="#1286">1286</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="1287" href="#1287">1287</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="1288" href="#1288">1288</a> <em class="jxr_javadoccomment"> * @param command to be executed - mandatory</em>
<a class="jxr_linenumber" name="1289" href="#1289">1289</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance for the newly created (and running) execution - won't be null</em>
<a class="jxr_linenumber" name="1290" href="#1290">1290</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="1291" href="#1291">1291</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="1292" href="#1292">1292</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="1293" href="#1293">1293</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project or command is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="1294" href="#1294">1294</a> <em class="jxr_javadoccomment"> * @see #triggerAdhocCommand(String, String, Properties, Integer, Boolean)</em>
<a class="jxr_linenumber" name="1295" href="#1295">1295</a> <em class="jxr_javadoccomment"> * @see #runAdhocCommand(String, String)</em>
<a class="jxr_linenumber" name="1296" href="#1296">1296</a> <em class="jxr_javadoccomment"> * @deprecated use {@link #triggerAdhocCommand(RunAdhocCommand)}, will be removed in version 10 of this library</em>
<a class="jxr_linenumber" name="1297" href="#1297">1297</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="1298" href="#1298">1298</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> triggerAdhocCommand(String project, String command) <strong class="jxr_keyword">throws</strong> RundeckApiException,
<a class="jxr_linenumber" name="1299" href="#1299">1299</a> RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="1300" href="#1300">1300</a> <strong class="jxr_keyword">return</strong> triggerAdhocCommand(project, command, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="1301" href="#1301">1301</a> }
<a class="jxr_linenumber" name="1302" href="#1302">1302</a>
<a class="jxr_linenumber" name="1303" href="#1303">1303</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1304" href="#1304">1304</a> <em class="jxr_javadoccomment"> * Trigger the execution of an ad-hoc command, and return immediately (without waiting the end of the execution).</em>
<a class="jxr_linenumber" name="1305" href="#1305">1305</a> <em class="jxr_javadoccomment"> * The command will be dispatched to nodes, accordingly to the nodeFilters parameter.</em>
<a class="jxr_linenumber" name="1306" href="#1306">1306</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="1307" href="#1307">1307</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="1308" href="#1308">1308</a> <em class="jxr_javadoccomment"> * @param command to be executed - mandatory</em>
<a class="jxr_linenumber" name="1309" href="#1309">1309</a> <em class="jxr_javadoccomment"> * @param nodeFilters for selecting nodes on which the command will be executed. See {@link NodeFiltersBuilder}</em>
<a class="jxr_linenumber" name="1310" href="#1310">1310</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance for the newly created (and running) execution - won't be null</em>
<a class="jxr_linenumber" name="1311" href="#1311">1311</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="1312" href="#1312">1312</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="1313" href="#1313">1313</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="1314" href="#1314">1314</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project or command is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="1315" href="#1315">1315</a> <em class="jxr_javadoccomment"> * @see #triggerAdhocCommand(String, String, Properties, Integer, Boolean)</em>
<a class="jxr_linenumber" name="1316" href="#1316">1316</a> <em class="jxr_javadoccomment"> * @see #runAdhocCommand(String, String, Properties)</em>
<a class="jxr_linenumber" name="1317" href="#1317">1317</a> <em class="jxr_javadoccomment"> * @deprecated use {@link #triggerAdhocCommand(RunAdhocCommand)}, will be removed in version 10 of this library</em>
<a class="jxr_linenumber" name="1318" href="#1318">1318</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="1319" href="#1319">1319</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> triggerAdhocCommand(String project, String command, Properties nodeFilters)
<a class="jxr_linenumber" name="1320" href="#1320">1320</a> <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="1321" href="#1321">1321</a> <strong class="jxr_keyword">return</strong> triggerAdhocCommand(project, command, nodeFilters, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="1322" href="#1322">1322</a> }
<a class="jxr_linenumber" name="1323" href="#1323">1323</a>
<a class="jxr_linenumber" name="1324" href="#1324">1324</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1325" href="#1325">1325</a> <em class="jxr_javadoccomment"> * Trigger the execution of an ad-hoc command, and return immediately (without waiting the end of the execution).</em>
<a class="jxr_linenumber" name="1326" href="#1326">1326</a> <em class="jxr_javadoccomment"> * The command will be dispatched to nodes, accordingly to the nodeFilters parameter.</em>
<a class="jxr_linenumber" name="1327" href="#1327">1327</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="1328" href="#1328">1328</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="1329" href="#1329">1329</a> <em class="jxr_javadoccomment"> * @param command to be executed - mandatory</em>
<a class="jxr_linenumber" name="1330" href="#1330">1330</a> <em class="jxr_javadoccomment"> * @param nodeFilters for selecting nodes on which the command will be executed. See {@link NodeFiltersBuilder}</em>
<a class="jxr_linenumber" name="1331" href="#1331">1331</a> <em class="jxr_javadoccomment"> * @param nodeThreadcount thread count to use (for parallelizing when running on multiple nodes) - optional</em>
<a class="jxr_linenumber" name="1332" href="#1332">1332</a> <em class="jxr_javadoccomment"> * @param nodeKeepgoing if true, continue executing on other nodes even if some fail - optional</em>
<a class="jxr_linenumber" name="1333" href="#1333">1333</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance for the newly created (and running) execution - won't be null</em>
<a class="jxr_linenumber" name="1334" href="#1334">1334</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="1335" href="#1335">1335</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="1336" href="#1336">1336</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="1337" href="#1337">1337</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project or command is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="1338" href="#1338">1338</a> <em class="jxr_javadoccomment"> * @see #triggerAdhocCommand(String, String)</em>
<a class="jxr_linenumber" name="1339" href="#1339">1339</a> <em class="jxr_javadoccomment"> * @see #runAdhocCommand(String, String, Properties)</em>
<a class="jxr_linenumber" name="1340" href="#1340">1340</a> <em class="jxr_javadoccomment"> * @deprecated use {@link #triggerAdhocCommand(RunAdhocCommand)}, will be removed in version 10 of this library</em>
<a class="jxr_linenumber" name="1341" href="#1341">1341</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="1342" href="#1342">1342</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> triggerAdhocCommand(String project, String command, Properties nodeFilters,
<a class="jxr_linenumber" name="1343" href="#1343">1343</a> Integer nodeThreadcount, Boolean nodeKeepgoing) <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException,
<a class="jxr_linenumber" name="1344" href="#1344">1344</a> RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="1345" href="#1345">1345</a> <strong class="jxr_keyword">return</strong> triggerAdhocCommand(project, command, nodeFilters, nodeThreadcount, nodeKeepgoing, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="1346" href="#1346">1346</a> }
<a class="jxr_linenumber" name="1347" href="#1347">1347</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1348" href="#1348">1348</a> <em class="jxr_javadoccomment"> * Trigger the execution of an ad-hoc command, and return immediately (without waiting the end of the execution).</em>
<a class="jxr_linenumber" name="1349" href="#1349">1349</a> <em class="jxr_javadoccomment"> * The command will be dispatched to nodes, accordingly to the nodeFilters parameter.</em>
<a class="jxr_linenumber" name="1350" href="#1350">1350</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="1351" href="#1351">1351</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="1352" href="#1352">1352</a> <em class="jxr_javadoccomment"> * @param command to be executed - mandatory</em>
<a class="jxr_linenumber" name="1353" href="#1353">1353</a> <em class="jxr_javadoccomment"> * @param nodeFilters for selecting nodes on which the command will be executed. See {@link NodeFiltersBuilder}</em>
<a class="jxr_linenumber" name="1354" href="#1354">1354</a> <em class="jxr_javadoccomment"> * @param nodeThreadcount thread count to use (for parallelizing when running on multiple nodes) - optional</em>
<a class="jxr_linenumber" name="1355" href="#1355">1355</a> <em class="jxr_javadoccomment"> * @param nodeKeepgoing if true, continue executing on other nodes even if some fail - optional</em>
<a class="jxr_linenumber" name="1356" href="#1356">1356</a> <em class="jxr_javadoccomment"> * @param asUser specify a user name to run the job as, must have 'runAs' permission</em>
<a class="jxr_linenumber" name="1357" href="#1357">1357</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance for the newly created (and running) execution - won't be null</em>
<a class="jxr_linenumber" name="1358" href="#1358">1358</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="1359" href="#1359">1359</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="1360" href="#1360">1360</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="1361" href="#1361">1361</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project or command is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="1362" href="#1362">1362</a> <em class="jxr_javadoccomment"> * @see #triggerAdhocCommand(String, String)</em>
<a class="jxr_linenumber" name="1363" href="#1363">1363</a> <em class="jxr_javadoccomment"> * @see #runAdhocCommand(String, String, Properties)</em>
<a class="jxr_linenumber" name="1364" href="#1364">1364</a> <em class="jxr_javadoccomment"> * @deprecated use {@link #triggerAdhocCommand(RunAdhocCommand)}, will be removed in version 10 of this library</em>
<a class="jxr_linenumber" name="1365" href="#1365">1365</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="1366" href="#1366">1366</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> triggerAdhocCommand(String project, String command, Properties nodeFilters,
<a class="jxr_linenumber" name="1367" href="#1367">1367</a> Integer nodeThreadcount, Boolean nodeKeepgoing, String asUser) <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException,
<a class="jxr_linenumber" name="1368" href="#1368">1368</a> RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="1369" href="#1369">1369</a> <strong class="jxr_keyword">return</strong> triggerAdhocCommand(RunAdhocCommandBuilder.builder()
<a class="jxr_linenumber" name="1370" href="#1370">1370</a> .setProject(project)
<a class="jxr_linenumber" name="1371" href="#1371">1371</a> .setCommand(command)
<a class="jxr_linenumber" name="1372" href="#1372">1372</a> .setNodeFilters(nodeFilters)
<a class="jxr_linenumber" name="1373" href="#1373">1373</a> .setNodeThreadcount(nodeThreadcount)
<a class="jxr_linenumber" name="1374" href="#1374">1374</a> .setNodeKeepgoing(nodeKeepgoing)
<a class="jxr_linenumber" name="1375" href="#1375">1375</a> .setAsUser(asUser)
<a class="jxr_linenumber" name="1376" href="#1376">1376</a> .build());
<a class="jxr_linenumber" name="1377" href="#1377">1377</a> }
<a class="jxr_linenumber" name="1378" href="#1378">1378</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1379" href="#1379">1379</a> <em class="jxr_javadoccomment"> * Trigger the execution of an ad-hoc command, and return immediately (without waiting the end of the execution).</em>
<a class="jxr_linenumber" name="1380" href="#1380">1380</a> <em class="jxr_javadoccomment"> * The command will be dispatched to nodes, accordingly to the nodeFilters parameter.</em>
<a class="jxr_linenumber" name="1381" href="#1381">1381</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="1382" href="#1382">1382</a> <em class="jxr_javadoccomment"> * @param command the RunAdhocCommand. Project and command are mandatory, see {@link RunAdhocCommandBuilder}</em>
<a class="jxr_linenumber" name="1383" href="#1383">1383</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance for the newly created (and running) execution - won't be null</em>
<a class="jxr_linenumber" name="1384" href="#1384">1384</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="1385" href="#1385">1385</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="1386" href="#1386">1386</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="1387" href="#1387">1387</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project or command is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="1388" href="#1388">1388</a> <em class="jxr_javadoccomment"> * @see #triggerAdhocCommand(String, String)</em>
<a class="jxr_linenumber" name="1389" href="#1389">1389</a> <em class="jxr_javadoccomment"> * @see #runAdhocCommand(String, String, Properties)</em>
<a class="jxr_linenumber" name="1390" href="#1390">1390</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="1391" href="#1391">1391</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> triggerAdhocCommand(<a href="../../../org/rundeck/api/RunAdhocCommand.html">RunAdhocCommand</a> command) <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException,
<a class="jxr_linenumber" name="1392" href="#1392">1392</a> RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="1393" href="#1393">1393</a> AssertUtil.notBlank(command.getProject(), <span class="jxr_string">"project is mandatory to trigger an ad-hoc command !"</span>);
<a class="jxr_linenumber" name="1394" href="#1394">1394</a> AssertUtil.notBlank(command.getCommand(), <span class="jxr_string">"command is mandatory to trigger an ad-hoc command !"</span>);
<a class="jxr_linenumber" name="1395" href="#1395">1395</a> <a href="../../../org/rundeck/api/ApiPathBuilder.html">ApiPathBuilder</a> apiPath = <strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/ApiPathBuilder.html">ApiPathBuilder</a>(<span class="jxr_string">"/run/command"</span>).param(<span class="jxr_string">"project"</span>, command.getProject())
<a class="jxr_linenumber" name="1396" href="#1396">1396</a> .param(<span class="jxr_string">"exec"</span>, command.getCommand())
<a class="jxr_linenumber" name="1397" href="#1397">1397</a> .param(<span class="jxr_string">"nodeThreadcount"</span>,
<a class="jxr_linenumber" name="1398" href="#1398">1398</a> command.getNodeThreadcount())
<a class="jxr_linenumber" name="1399" href="#1399">1399</a> .param(<span class="jxr_string">"nodeKeepgoing"</span>,
<a class="jxr_linenumber" name="1400" href="#1400">1400</a> command.getNodeKeepgoing())
<a class="jxr_linenumber" name="1401" href="#1401">1401</a> .nodeFilters(command.getNodeFilters());
<a class="jxr_linenumber" name="1402" href="#1402">1402</a> <strong class="jxr_keyword">if</strong>(<strong class="jxr_keyword">null</strong>!= command.getAsUser()) {
<a class="jxr_linenumber" name="1403" href="#1403">1403</a> apiPath.param(<span class="jxr_string">"asUser"</span>, command.getAsUser());
<a class="jxr_linenumber" name="1404" href="#1404">1404</a> }
<a class="jxr_linenumber" name="1405" href="#1405">1405</a> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> execution = <strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/ApiCall.html">ApiCall</a>(<strong class="jxr_keyword">this</strong>).get(apiPath, <strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/parser/ExecutionParser.html">ExecutionParser</a>(<span class="jxr_string">"result/execution"</span>));
<a class="jxr_linenumber" name="1406" href="#1406">1406</a> <em class="jxr_comment">// the first call just returns the ID of the execution, so we need another call to get a "real" execution</em>
<a class="jxr_linenumber" name="1407" href="#1407">1407</a> <strong class="jxr_keyword">return</strong> getExecution(execution.getId());
<a class="jxr_linenumber" name="1408" href="#1408">1408</a> }
<a class="jxr_linenumber" name="1409" href="#1409">1409</a>
<a class="jxr_linenumber" name="1410" href="#1410">1410</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1411" href="#1411">1411</a> <em class="jxr_javadoccomment"> * Run an ad-hoc command, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck</em>
<a class="jxr_linenumber" name="1412" href="#1412">1412</a> <em class="jxr_javadoccomment"> * server at regular interval (every 5 seconds) to know if the execution is finished (or aborted) or is still</em>
<a class="jxr_linenumber" name="1413" href="#1413">1413</a> <em class="jxr_javadoccomment"> * running. The command will not be dispatched to nodes, but be executed on the RunDeck server.</em>
<a class="jxr_linenumber" name="1414" href="#1414">1414</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="1415" href="#1415">1415</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="1416" href="#1416">1416</a> <em class="jxr_javadoccomment"> * @param command to be executed - mandatory</em>
<a class="jxr_linenumber" name="1417" href="#1417">1417</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null</em>
<a class="jxr_linenumber" name="1418" href="#1418">1418</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="1419" href="#1419">1419</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="1420" href="#1420">1420</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="1421" href="#1421">1421</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project or command is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="1422" href="#1422">1422</a> <em class="jxr_javadoccomment"> * @see #runAdhocCommand(String, String, Properties, Integer, Boolean, long, TimeUnit)</em>
<a class="jxr_linenumber" name="1423" href="#1423">1423</a> <em class="jxr_javadoccomment"> * @see #triggerAdhocCommand(String, String)</em>
<a class="jxr_linenumber" name="1424" href="#1424">1424</a> <em class="jxr_javadoccomment"> * @deprecated use {@link #runAdhocCommand(RunAdhocCommand)}, this method will</em>
<a class="jxr_linenumber" name="1425" href="#1425">1425</a> <em class="jxr_javadoccomment"> * be removed in version 10 of this library</em>
<a class="jxr_linenumber" name="1426" href="#1426">1426</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="1427" href="#1427">1427</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> runAdhocCommand(String project, String command) <strong class="jxr_keyword">throws</strong> RundeckApiException,
<a class="jxr_linenumber" name="1428" href="#1428">1428</a> RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="1429" href="#1429">1429</a> <strong class="jxr_keyword">return</strong> runAdhocCommand(project, command, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="1430" href="#1430">1430</a> }
<a class="jxr_linenumber" name="1431" href="#1431">1431</a>
<a class="jxr_linenumber" name="1432" href="#1432">1432</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1433" href="#1433">1433</a> <em class="jxr_javadoccomment"> * Run an ad-hoc command, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck</em>
<a class="jxr_linenumber" name="1434" href="#1434">1434</a> <em class="jxr_javadoccomment"> * server at regular interval (configured by the poolingInterval/poolingUnit couple) to know if the execution is</em>
<a class="jxr_linenumber" name="1435" href="#1435">1435</a> <em class="jxr_javadoccomment"> * finished (or aborted) or is still running. The command will not be dispatched to nodes, but be executed on the</em>
<a class="jxr_linenumber" name="1436" href="#1436">1436</a> <em class="jxr_javadoccomment"> * RunDeck server.</em>
<a class="jxr_linenumber" name="1437" href="#1437">1437</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="1438" href="#1438">1438</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="1439" href="#1439">1439</a> <em class="jxr_javadoccomment"> * @param command to be executed - mandatory</em>
<a class="jxr_linenumber" name="1440" href="#1440">1440</a> <em class="jxr_javadoccomment"> * @param poolingInterval for checking the status of the execution. Must be &gt; 0.</em>
<a class="jxr_linenumber" name="1441" href="#1441">1441</a> <em class="jxr_javadoccomment"> * @param poolingUnit unit (seconds, milli-seconds, ...) of the interval. Default to seconds.</em>
<a class="jxr_linenumber" name="1442" href="#1442">1442</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null</em>
<a class="jxr_linenumber" name="1443" href="#1443">1443</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="1444" href="#1444">1444</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="1445" href="#1445">1445</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="1446" href="#1446">1446</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project or command is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="1447" href="#1447">1447</a> <em class="jxr_javadoccomment"> * @see #runAdhocCommand(String, String, Properties, Integer, Boolean, long, TimeUnit)</em>
<a class="jxr_linenumber" name="1448" href="#1448">1448</a> <em class="jxr_javadoccomment"> * @see #triggerAdhocCommand(String, String)</em>
<a class="jxr_linenumber" name="1449" href="#1449">1449</a> <em class="jxr_javadoccomment"> * @deprecated use {@link #runAdhocCommand(RunAdhocCommand, long, java.util.concurrent.TimeUnit)}, this method will</em>
<a class="jxr_linenumber" name="1450" href="#1450">1450</a> <em class="jxr_javadoccomment"> * be removed in version 10 of this library</em>
<a class="jxr_linenumber" name="1451" href="#1451">1451</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="1452" href="#1452">1452</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> runAdhocCommand(String project, String command, <strong class="jxr_keyword">long</strong> poolingInterval, TimeUnit poolingUnit)
<a class="jxr_linenumber" name="1453" href="#1453">1453</a> <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="1454" href="#1454">1454</a> <strong class="jxr_keyword">return</strong> runAdhocCommand(project, command, <strong class="jxr_keyword">null</strong>, poolingInterval, poolingUnit);
<a class="jxr_linenumber" name="1455" href="#1455">1455</a> }
<a class="jxr_linenumber" name="1456" href="#1456">1456</a>
<a class="jxr_linenumber" name="1457" href="#1457">1457</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1458" href="#1458">1458</a> <em class="jxr_javadoccomment"> * Run an ad-hoc command, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck</em>
<a class="jxr_linenumber" name="1459" href="#1459">1459</a> <em class="jxr_javadoccomment"> * server at regular interval (every 5 seconds) to know if the execution is finished (or aborted) or is still</em>
<a class="jxr_linenumber" name="1460" href="#1460">1460</a> <em class="jxr_javadoccomment"> * running. The command will be dispatched to nodes, accordingly to the nodeFilters parameter.</em>
<a class="jxr_linenumber" name="1461" href="#1461">1461</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="1462" href="#1462">1462</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="1463" href="#1463">1463</a> <em class="jxr_javadoccomment"> * @param command to be executed - mandatory</em>
<a class="jxr_linenumber" name="1464" href="#1464">1464</a> <em class="jxr_javadoccomment"> * @param nodeFilters for selecting nodes on which the command will be executed. See {@link NodeFiltersBuilder}</em>
<a class="jxr_linenumber" name="1465" href="#1465">1465</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null</em>
<a class="jxr_linenumber" name="1466" href="#1466">1466</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="1467" href="#1467">1467</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="1468" href="#1468">1468</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="1469" href="#1469">1469</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project or command is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="1470" href="#1470">1470</a> <em class="jxr_javadoccomment"> * @see #runAdhocCommand(String, String, Properties, Integer, Boolean, long, TimeUnit)</em>
<a class="jxr_linenumber" name="1471" href="#1471">1471</a> <em class="jxr_javadoccomment"> * @see #triggerAdhocCommand(String, String, Properties)</em>
<a class="jxr_linenumber" name="1472" href="#1472">1472</a> <em class="jxr_javadoccomment"> * @deprecated use {@link #runAdhocCommand(RunAdhocCommand)}, this method will</em>
<a class="jxr_linenumber" name="1473" href="#1473">1473</a> <em class="jxr_javadoccomment"> * be removed in version 10 of this library</em>
<a class="jxr_linenumber" name="1474" href="#1474">1474</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="1475" href="#1475">1475</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> runAdhocCommand(String project, String command, Properties nodeFilters)
<a class="jxr_linenumber" name="1476" href="#1476">1476</a> <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="1477" href="#1477">1477</a> <strong class="jxr_keyword">return</strong> runAdhocCommand(project, command, nodeFilters, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="1478" href="#1478">1478</a> }
<a class="jxr_linenumber" name="1479" href="#1479">1479</a>
<a class="jxr_linenumber" name="1480" href="#1480">1480</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1481" href="#1481">1481</a> <em class="jxr_javadoccomment"> * Run an ad-hoc command, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck</em>
<a class="jxr_linenumber" name="1482" href="#1482">1482</a> <em class="jxr_javadoccomment"> * server at regular interval (configured by the poolingInterval/poolingUnit couple) to know if the execution is</em>
<a class="jxr_linenumber" name="1483" href="#1483">1483</a> <em class="jxr_javadoccomment"> * finished (or aborted) or is still running. The command will be dispatched to nodes, accordingly to the</em>
<a class="jxr_linenumber" name="1484" href="#1484">1484</a> <em class="jxr_javadoccomment"> * nodeFilters parameter.</em>
<a class="jxr_linenumber" name="1485" href="#1485">1485</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="1486" href="#1486">1486</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="1487" href="#1487">1487</a> <em class="jxr_javadoccomment"> * @param command to be executed - mandatory</em>
<a class="jxr_linenumber" name="1488" href="#1488">1488</a> <em class="jxr_javadoccomment"> * @param nodeFilters for selecting nodes on which the command will be executed. See {@link NodeFiltersBuilder}</em>
<a class="jxr_linenumber" name="1489" href="#1489">1489</a> <em class="jxr_javadoccomment"> * @param poolingInterval for checking the status of the execution. Must be &gt; 0.</em>
<a class="jxr_linenumber" name="1490" href="#1490">1490</a> <em class="jxr_javadoccomment"> * @param poolingUnit unit (seconds, milli-seconds, ...) of the interval. Default to seconds.</em>
<a class="jxr_linenumber" name="1491" href="#1491">1491</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null</em>
<a class="jxr_linenumber" name="1492" href="#1492">1492</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="1493" href="#1493">1493</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="1494" href="#1494">1494</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="1495" href="#1495">1495</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project or command is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="1496" href="#1496">1496</a> <em class="jxr_javadoccomment"> * @see #runAdhocCommand(String, String, Properties, Integer, Boolean, long, TimeUnit)</em>
<a class="jxr_linenumber" name="1497" href="#1497">1497</a> <em class="jxr_javadoccomment"> * @see #triggerAdhocCommand(String, String, Properties)</em>
<a class="jxr_linenumber" name="1498" href="#1498">1498</a> <em class="jxr_javadoccomment"> * @deprecated use {@link #runAdhocCommand(RunAdhocCommand, long, java.util.concurrent.TimeUnit)}, this method will</em>
<a class="jxr_linenumber" name="1499" href="#1499">1499</a> <em class="jxr_javadoccomment"> * be removed in version 10 of this library</em>
<a class="jxr_linenumber" name="1500" href="#1500">1500</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="1501" href="#1501">1501</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> runAdhocCommand(String project, String command, Properties nodeFilters,
<a class="jxr_linenumber" name="1502" href="#1502">1502</a> <strong class="jxr_keyword">long</strong> poolingInterval, TimeUnit poolingUnit) <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException,
<a class="jxr_linenumber" name="1503" href="#1503">1503</a> RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="1504" href="#1504">1504</a> <strong class="jxr_keyword">return</strong> runAdhocCommand(project, command, nodeFilters, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>, poolingInterval, poolingUnit);
<a class="jxr_linenumber" name="1505" href="#1505">1505</a> }
<a class="jxr_linenumber" name="1506" href="#1506">1506</a>
<a class="jxr_linenumber" name="1507" href="#1507">1507</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1508" href="#1508">1508</a> <em class="jxr_javadoccomment"> * Run an ad-hoc command, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck</em>
<a class="jxr_linenumber" name="1509" href="#1509">1509</a> <em class="jxr_javadoccomment"> * server at regular interval (every 5 seconds) to know if the execution is finished (or aborted) or is still</em>
<a class="jxr_linenumber" name="1510" href="#1510">1510</a> <em class="jxr_javadoccomment"> * running. The command will be dispatched to nodes, accordingly to the nodeFilters parameter.</em>
<a class="jxr_linenumber" name="1511" href="#1511">1511</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="1512" href="#1512">1512</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="1513" href="#1513">1513</a> <em class="jxr_javadoccomment"> * @param command to be executed - mandatory</em>
<a class="jxr_linenumber" name="1514" href="#1514">1514</a> <em class="jxr_javadoccomment"> * @param nodeFilters for selecting nodes on which the command will be executed. See {@link NodeFiltersBuilder}</em>
<a class="jxr_linenumber" name="1515" href="#1515">1515</a> <em class="jxr_javadoccomment"> * @param nodeThreadcount thread count to use (for parallelizing when running on multiple nodes) - optional</em>
<a class="jxr_linenumber" name="1516" href="#1516">1516</a> <em class="jxr_javadoccomment"> * @param nodeKeepgoing if true, continue executing on other nodes even if some fail - optional</em>
<a class="jxr_linenumber" name="1517" href="#1517">1517</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null</em>
<a class="jxr_linenumber" name="1518" href="#1518">1518</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="1519" href="#1519">1519</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="1520" href="#1520">1520</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="1521" href="#1521">1521</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project or command is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="1522" href="#1522">1522</a> <em class="jxr_javadoccomment"> * @see #runAdhocCommand(String, String, Properties, Integer, Boolean, long, TimeUnit)</em>
<a class="jxr_linenumber" name="1523" href="#1523">1523</a> <em class="jxr_javadoccomment"> * @see #triggerAdhocCommand(String, String, Properties, Integer, Boolean)</em>
<a class="jxr_linenumber" name="1524" href="#1524">1524</a> <em class="jxr_javadoccomment"> * @deprecated use {@link #runAdhocCommand(RunAdhocCommand)}, this method will</em>
<a class="jxr_linenumber" name="1525" href="#1525">1525</a> <em class="jxr_javadoccomment"> * be removed in version 10 of this library</em>
<a class="jxr_linenumber" name="1526" href="#1526">1526</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="1527" href="#1527">1527</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> runAdhocCommand(String project, String command, Properties nodeFilters,
<a class="jxr_linenumber" name="1528" href="#1528">1528</a> Integer nodeThreadcount, Boolean nodeKeepgoing) <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException,
<a class="jxr_linenumber" name="1529" href="#1529">1529</a> RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="1530" href="#1530">1530</a> <strong class="jxr_keyword">return</strong> runAdhocCommand(project,
<a class="jxr_linenumber" name="1531" href="#1531">1531</a> command,
<a class="jxr_linenumber" name="1532" href="#1532">1532</a> nodeFilters,
<a class="jxr_linenumber" name="1533" href="#1533">1533</a> nodeThreadcount,
<a class="jxr_linenumber" name="1534" href="#1534">1534</a> nodeKeepgoing,
<a class="jxr_linenumber" name="1535" href="#1535">1535</a> DEFAULT_POOLING_INTERVAL,
<a class="jxr_linenumber" name="1536" href="#1536">1536</a> DEFAULT_POOLING_UNIT);
<a class="jxr_linenumber" name="1537" href="#1537">1537</a> }
<a class="jxr_linenumber" name="1538" href="#1538">1538</a>
<a class="jxr_linenumber" name="1539" href="#1539">1539</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1540" href="#1540">1540</a> <em class="jxr_javadoccomment"> * Run an ad-hoc command, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck</em>
<a class="jxr_linenumber" name="1541" href="#1541">1541</a> <em class="jxr_javadoccomment"> * server at regular interval (every 5 seconds) to know if the execution is finished (or aborted) or is still</em>
<a class="jxr_linenumber" name="1542" href="#1542">1542</a> <em class="jxr_javadoccomment"> * running. The command will be dispatched to nodes, accordingly to the nodeFilters parameter.</em>
<a class="jxr_linenumber" name="1543" href="#1543">1543</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="1544" href="#1544">1544</a> <em class="jxr_javadoccomment"> * @param command the RunAdhocCommand, see {@link RunAdhocCommandBuilder}</em>
<a class="jxr_linenumber" name="1545" href="#1545">1545</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null</em>
<a class="jxr_linenumber" name="1546" href="#1546">1546</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="1547" href="#1547">1547</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="1548" href="#1548">1548</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="1549" href="#1549">1549</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project or command is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="1550" href="#1550">1550</a> <em class="jxr_javadoccomment"> * @see #runAdhocCommand(String, String, Properties, Integer, Boolean, long, TimeUnit)</em>
<a class="jxr_linenumber" name="1551" href="#1551">1551</a> <em class="jxr_javadoccomment"> * @see #triggerAdhocCommand(RunAdhocCommand)</em>
<a class="jxr_linenumber" name="1552" href="#1552">1552</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="1553" href="#1553">1553</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> runAdhocCommand(<a href="../../../org/rundeck/api/RunAdhocCommand.html">RunAdhocCommand</a> command) <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException,
<a class="jxr_linenumber" name="1554" href="#1554">1554</a> RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="1555" href="#1555">1555</a> <strong class="jxr_keyword">return</strong> runAdhocCommand(command,
<a class="jxr_linenumber" name="1556" href="#1556">1556</a> DEFAULT_POOLING_INTERVAL,
<a class="jxr_linenumber" name="1557" href="#1557">1557</a> DEFAULT_POOLING_UNIT);
<a class="jxr_linenumber" name="1558" href="#1558">1558</a> }
<a class="jxr_linenumber" name="1559" href="#1559">1559</a>
<a class="jxr_linenumber" name="1560" href="#1560">1560</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1561" href="#1561">1561</a> <em class="jxr_javadoccomment"> * Run an ad-hoc command, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck</em>
<a class="jxr_linenumber" name="1562" href="#1562">1562</a> <em class="jxr_javadoccomment"> * server at regular interval (configured by the poolingInterval/poolingUnit couple) to know if the execution is</em>
<a class="jxr_linenumber" name="1563" href="#1563">1563</a> <em class="jxr_javadoccomment"> * finished (or aborted) or is still running. The command will be dispatched to nodes, accordingly to the</em>
<a class="jxr_linenumber" name="1564" href="#1564">1564</a> <em class="jxr_javadoccomment"> * nodeFilters parameter.</em>
<a class="jxr_linenumber" name="1565" href="#1565">1565</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="1566" href="#1566">1566</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="1567" href="#1567">1567</a> <em class="jxr_javadoccomment"> * @param command to be executed - mandatory</em>
<a class="jxr_linenumber" name="1568" href="#1568">1568</a> <em class="jxr_javadoccomment"> * @param nodeFilters for selecting nodes on which the command will be executed. See {@link NodeFiltersBuilder}</em>
<a class="jxr_linenumber" name="1569" href="#1569">1569</a> <em class="jxr_javadoccomment"> * @param nodeThreadcount thread count to use (for parallelizing when running on multiple nodes) - optional</em>
<a class="jxr_linenumber" name="1570" href="#1570">1570</a> <em class="jxr_javadoccomment"> * @param nodeKeepgoing if true, continue executing on other nodes even if some fail - optional</em>
<a class="jxr_linenumber" name="1571" href="#1571">1571</a> <em class="jxr_javadoccomment"> * @param poolingInterval for checking the status of the execution. Must be &gt; 0.</em>
<a class="jxr_linenumber" name="1572" href="#1572">1572</a> <em class="jxr_javadoccomment"> * @param poolingUnit unit (seconds, milli-seconds, ...) of the interval. Default to seconds.</em>
<a class="jxr_linenumber" name="1573" href="#1573">1573</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null</em>
<a class="jxr_linenumber" name="1574" href="#1574">1574</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="1575" href="#1575">1575</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="1576" href="#1576">1576</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="1577" href="#1577">1577</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project or command is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="1578" href="#1578">1578</a> <em class="jxr_javadoccomment"> * @see #triggerAdhocCommand(String, String, Properties, Integer, Boolean)</em>
<a class="jxr_linenumber" name="1579" href="#1579">1579</a> <em class="jxr_javadoccomment"> * @deprecated use {@link #runAdhocCommand(RunAdhocCommand, long, java.util.concurrent.TimeUnit)}, this method will</em>
<a class="jxr_linenumber" name="1580" href="#1580">1580</a> <em class="jxr_javadoccomment"> * be removed in version 10 of this library</em>
<a class="jxr_linenumber" name="1581" href="#1581">1581</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="1582" href="#1582">1582</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> runAdhocCommand(String project, String command, Properties nodeFilters,
<a class="jxr_linenumber" name="1583" href="#1583">1583</a> Integer nodeThreadcount, Boolean nodeKeepgoing, <strong class="jxr_keyword">long</strong> poolingInterval, TimeUnit poolingUnit)
<a class="jxr_linenumber" name="1584" href="#1584">1584</a> <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="1585" href="#1585">1585</a> <strong class="jxr_keyword">return</strong> runAdhocCommand(project, command, nodeFilters, nodeThreadcount, nodeKeepgoing, <strong class="jxr_keyword">null</strong>, poolingInterval, poolingUnit);
<a class="jxr_linenumber" name="1586" href="#1586">1586</a> }
<a class="jxr_linenumber" name="1587" href="#1587">1587</a>
<a class="jxr_linenumber" name="1588" href="#1588">1588</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1589" href="#1589">1589</a> <em class="jxr_javadoccomment"> * Run an ad-hoc command, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck</em>
<a class="jxr_linenumber" name="1590" href="#1590">1590</a> <em class="jxr_javadoccomment"> * server at regular interval (configured by the poolingInterval/poolingUnit couple) to know if the execution is</em>
<a class="jxr_linenumber" name="1591" href="#1591">1591</a> <em class="jxr_javadoccomment"> * finished (or aborted) or is still running. The command will be dispatched to nodes, accordingly to the</em>
<a class="jxr_linenumber" name="1592" href="#1592">1592</a> <em class="jxr_javadoccomment"> * nodeFilters parameter.</em>
<a class="jxr_linenumber" name="1593" href="#1593">1593</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="1594" href="#1594">1594</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="1595" href="#1595">1595</a> <em class="jxr_javadoccomment"> * @param command to be executed - mandatory</em>
<a class="jxr_linenumber" name="1596" href="#1596">1596</a> <em class="jxr_javadoccomment"> * @param nodeFilters for selecting nodes on which the command will be executed. See {@link NodeFiltersBuilder}</em>
<a class="jxr_linenumber" name="1597" href="#1597">1597</a> <em class="jxr_javadoccomment"> * @param nodeThreadcount thread count to use (for parallelizing when running on multiple nodes) - optional</em>
<a class="jxr_linenumber" name="1598" href="#1598">1598</a> <em class="jxr_javadoccomment"> * @param nodeKeepgoing if true, continue executing on other nodes even if some fail - optional</em>
<a class="jxr_linenumber" name="1599" href="#1599">1599</a> <em class="jxr_javadoccomment"> * @param poolingInterval for checking the status of the execution. Must be &gt; 0.</em>
<a class="jxr_linenumber" name="1600" href="#1600">1600</a> <em class="jxr_javadoccomment"> * @param poolingUnit unit (seconds, milli-seconds, ...) of the interval. Default to seconds.</em>
<a class="jxr_linenumber" name="1601" href="#1601">1601</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="1602" href="#1602">1602</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null</em>
<a class="jxr_linenumber" name="1603" href="#1603">1603</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="1604" href="#1604">1604</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="1605" href="#1605">1605</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="1606" href="#1606">1606</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="1607" href="#1607">1607</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project or command is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="1608" href="#1608">1608</a> <em class="jxr_javadoccomment"> * @see #triggerAdhocCommand(String, String, Properties, Integer, Boolean)</em>
<a class="jxr_linenumber" name="1609" href="#1609">1609</a> <em class="jxr_javadoccomment"> * @deprecated use {@link #runAdhocCommand(RunAdhocCommand, long, java.util.concurrent.TimeUnit)}, this method will</em>
<a class="jxr_linenumber" name="1610" href="#1610">1610</a> <em class="jxr_javadoccomment"> * be removed in version 10 of this library</em>
<a class="jxr_linenumber" name="1611" href="#1611">1611</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="1612" href="#1612">1612</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> runAdhocCommand(String project, String command, Properties nodeFilters,
<a class="jxr_linenumber" name="1613" href="#1613">1613</a> Integer nodeThreadcount, Boolean nodeKeepgoing, String asUser, <strong class="jxr_keyword">long</strong> poolingInterval, TimeUnit poolingUnit)
<a class="jxr_linenumber" name="1614" href="#1614">1614</a> <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="1615" href="#1615">1615</a> <strong class="jxr_keyword">return</strong> runAdhocCommand(RunAdhocCommandBuilder.builder()
<a class="jxr_linenumber" name="1616" href="#1616">1616</a> .setProject(project)
<a class="jxr_linenumber" name="1617" href="#1617">1617</a> .setCommand(command)
<a class="jxr_linenumber" name="1618" href="#1618">1618</a> .setNodeFilters(nodeFilters)
<a class="jxr_linenumber" name="1619" href="#1619">1619</a> .setNodeThreadcount(nodeThreadcount)
<a class="jxr_linenumber" name="1620" href="#1620">1620</a> .setNodeKeepgoing(nodeKeepgoing)
<a class="jxr_linenumber" name="1621" href="#1621">1621</a> .setAsUser(asUser)
<a class="jxr_linenumber" name="1622" href="#1622">1622</a> .build(), poolingInterval, poolingUnit);
<a class="jxr_linenumber" name="1623" href="#1623">1623</a> }
<a class="jxr_linenumber" name="1624" href="#1624">1624</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1625" href="#1625">1625</a> <em class="jxr_javadoccomment"> * Run an ad-hoc command, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck</em>
<a class="jxr_linenumber" name="1626" href="#1626">1626</a> <em class="jxr_javadoccomment"> * server at regular interval (configured by the poolingInterval/poolingUnit couple) to know if the execution is</em>
<a class="jxr_linenumber" name="1627" href="#1627">1627</a> <em class="jxr_javadoccomment"> * finished (or aborted) or is still running. The command will be dispatched to nodes, accordingly to the</em>
<a class="jxr_linenumber" name="1628" href="#1628">1628</a> <em class="jxr_javadoccomment"> * nodeFilters parameter.</em>
<a class="jxr_linenumber" name="1629" href="#1629">1629</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="1630" href="#1630">1630</a> <em class="jxr_javadoccomment"> * @param command the RunAdhocCommand, see {@link RunAdhocCommandBuilder}</em>
<a class="jxr_linenumber" name="1631" href="#1631">1631</a> <em class="jxr_javadoccomment"> * @param poolingInterval for checking the status of the execution. Must be &gt; 0.</em>
<a class="jxr_linenumber" name="1632" href="#1632">1632</a> <em class="jxr_javadoccomment"> * @param poolingUnit unit (seconds, milli-seconds, ...) of the interval. Default to seconds.</em>
<a class="jxr_linenumber" name="1633" href="#1633">1633</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null</em>
<a class="jxr_linenumber" name="1634" href="#1634">1634</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="1635" href="#1635">1635</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="1636" href="#1636">1636</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="1637" href="#1637">1637</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project or command is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="1638" href="#1638">1638</a> <em class="jxr_javadoccomment"> * @see #triggerAdhocCommand(RunAdhocCommand)</em>
<a class="jxr_linenumber" name="1639" href="#1639">1639</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="1640" href="#1640">1640</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> runAdhocCommand(<a href="../../../org/rundeck/api/RunAdhocCommand.html">RunAdhocCommand</a> command, <strong class="jxr_keyword">long</strong> poolingInterval, TimeUnit poolingUnit)
<a class="jxr_linenumber" name="1641" href="#1641">1641</a> <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="1642" href="#1642">1642</a> <strong class="jxr_keyword">if</strong> (poolingInterval &lt;= 0) {
<a class="jxr_linenumber" name="1643" href="#1643">1643</a> poolingInterval = DEFAULT_POOLING_INTERVAL;
<a class="jxr_linenumber" name="1644" href="#1644">1644</a> poolingUnit = DEFAULT_POOLING_UNIT;
<a class="jxr_linenumber" name="1645" href="#1645">1645</a> }
<a class="jxr_linenumber" name="1646" href="#1646">1646</a> <strong class="jxr_keyword">if</strong> (poolingUnit == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="1647" href="#1647">1647</a> poolingUnit = DEFAULT_POOLING_UNIT;
<a class="jxr_linenumber" name="1648" href="#1648">1648</a> }
<a class="jxr_linenumber" name="1649" href="#1649">1649</a>
<a class="jxr_linenumber" name="1650" href="#1650">1650</a> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> execution = triggerAdhocCommand(command);
<a class="jxr_linenumber" name="1651" href="#1651">1651</a> <strong class="jxr_keyword">while</strong> (ExecutionStatus.RUNNING.equals(execution.getStatus())) {
<a class="jxr_linenumber" name="1652" href="#1652">1652</a> <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="1653" href="#1653">1653</a> Thread.sleep(poolingUnit.toMillis(poolingInterval));
<a class="jxr_linenumber" name="1654" href="#1654">1654</a> } <strong class="jxr_keyword">catch</strong> (InterruptedException e) {
<a class="jxr_linenumber" name="1655" href="#1655">1655</a> <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="1656" href="#1656">1656</a> }
<a class="jxr_linenumber" name="1657" href="#1657">1657</a> execution = getExecution(execution.getId());
<a class="jxr_linenumber" name="1658" href="#1658">1658</a> }
<a class="jxr_linenumber" name="1659" href="#1659">1659</a> <strong class="jxr_keyword">return</strong> execution;
<a class="jxr_linenumber" name="1660" href="#1660">1660</a> }
<a class="jxr_linenumber" name="1661" href="#1661">1661</a>
<a class="jxr_linenumber" name="1662" href="#1662">1662</a> <em class="jxr_comment">/*</em>
<a class="jxr_linenumber" name="1663" href="#1663">1663</a> <em class="jxr_comment"> * Ad-hoc scripts</em>
<a class="jxr_linenumber" name="1664" href="#1664">1664</a> <em class="jxr_comment"> */</em>
<a class="jxr_linenumber" name="1665" href="#1665">1665</a>
<a class="jxr_linenumber" name="1666" href="#1666">1666</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1667" href="#1667">1667</a> <em class="jxr_javadoccomment"> * Trigger the execution of an ad-hoc script, and return immediately (without waiting the end of the execution). The</em>
<a class="jxr_linenumber" name="1668" href="#1668">1668</a> <em class="jxr_javadoccomment"> * script will not be dispatched to nodes, but be executed on the RunDeck server.</em>
<a class="jxr_linenumber" name="1669" href="#1669">1669</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="1670" href="#1670">1670</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="1671" href="#1671">1671</a> <em class="jxr_javadoccomment"> * @param scriptFilename filename of the script to be executed - mandatory</em>
<a class="jxr_linenumber" name="1672" href="#1672">1672</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance for the newly created (and running) execution - won't be null</em>
<a class="jxr_linenumber" name="1673" href="#1673">1673</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="1674" href="#1674">1674</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="1675" href="#1675">1675</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="1676" href="#1676">1676</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project or scriptFilename is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="1677" href="#1677">1677</a> <em class="jxr_javadoccomment"> * @throws IOException if we failed to read the file</em>
<a class="jxr_linenumber" name="1678" href="#1678">1678</a> <em class="jxr_javadoccomment"> * @see #triggerAdhocScript(String, String, Properties, Properties, Integer, Boolean)</em>
<a class="jxr_linenumber" name="1679" href="#1679">1679</a> <em class="jxr_javadoccomment"> * @see #runAdhocScript(String, String)</em>
<a class="jxr_linenumber" name="1680" href="#1680">1680</a> <em class="jxr_javadoccomment"> * @deprecated use {@link #triggerAdhocScript(RunAdhocScript)}, this method will be</em>
<a class="jxr_linenumber" name="1681" href="#1681">1681</a> <em class="jxr_javadoccomment"> * removed in version 10 of this library</em>
<a class="jxr_linenumber" name="1682" href="#1682">1682</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="1683" href="#1683">1683</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> triggerAdhocScript(String project, String scriptFilename) <strong class="jxr_keyword">throws</strong> RundeckApiException,
<a class="jxr_linenumber" name="1684" href="#1684">1684</a> RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException, IOException {
<a class="jxr_linenumber" name="1685" href="#1685">1685</a> <strong class="jxr_keyword">return</strong> triggerAdhocScript(project, scriptFilename, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="1686" href="#1686">1686</a> }
<a class="jxr_linenumber" name="1687" href="#1687">1687</a>
<a class="jxr_linenumber" name="1688" href="#1688">1688</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1689" href="#1689">1689</a> <em class="jxr_javadoccomment"> * Trigger the execution of an ad-hoc script, and return immediately (without waiting the end of the execution). The</em>
<a class="jxr_linenumber" name="1690" href="#1690">1690</a> <em class="jxr_javadoccomment"> * script will not be dispatched to nodes, but be executed on the RunDeck server.</em>
<a class="jxr_linenumber" name="1691" href="#1691">1691</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="1692" href="#1692">1692</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="1693" href="#1693">1693</a> <em class="jxr_javadoccomment"> * @param scriptFilename filename of the script to be executed - mandatory</em>
<a class="jxr_linenumber" name="1694" href="#1694">1694</a> <em class="jxr_javadoccomment"> * @param options of the script - optional. See {@link OptionsBuilder}.</em>
<a class="jxr_linenumber" name="1695" href="#1695">1695</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance for the newly created (and running) execution - won't be null</em>
<a class="jxr_linenumber" name="1696" href="#1696">1696</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="1697" href="#1697">1697</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="1698" href="#1698">1698</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="1699" href="#1699">1699</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project or scriptFilename is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="1700" href="#1700">1700</a> <em class="jxr_javadoccomment"> * @throws IOException if we failed to read the file</em>
<a class="jxr_linenumber" name="1701" href="#1701">1701</a> <em class="jxr_javadoccomment"> * @see #triggerAdhocScript(String, String, Properties, Properties, Integer, Boolean)</em>
<a class="jxr_linenumber" name="1702" href="#1702">1702</a> <em class="jxr_javadoccomment"> * @see #runAdhocScript(String, String, Properties)</em>
<a class="jxr_linenumber" name="1703" href="#1703">1703</a> <em class="jxr_javadoccomment"> * @deprecated use {@link #triggerAdhocScript(RunAdhocScript)}, this method will be</em>
<a class="jxr_linenumber" name="1704" href="#1704">1704</a> <em class="jxr_javadoccomment"> * removed in version 10 of this library</em>
<a class="jxr_linenumber" name="1705" href="#1705">1705</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="1706" href="#1706">1706</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> triggerAdhocScript(String project, String scriptFilename, Properties options)
<a class="jxr_linenumber" name="1707" href="#1707">1707</a> <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException,
<a class="jxr_linenumber" name="1708" href="#1708">1708</a> IOException {
<a class="jxr_linenumber" name="1709" href="#1709">1709</a> <strong class="jxr_keyword">return</strong> triggerAdhocScript(project, scriptFilename, options, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="1710" href="#1710">1710</a> }
<a class="jxr_linenumber" name="1711" href="#1711">1711</a>
<a class="jxr_linenumber" name="1712" href="#1712">1712</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1713" href="#1713">1713</a> <em class="jxr_javadoccomment"> * Trigger the execution of an ad-hoc script, and return immediately (without waiting the end of the execution). The</em>
<a class="jxr_linenumber" name="1714" href="#1714">1714</a> <em class="jxr_javadoccomment"> * script will be dispatched to nodes, accordingly to the nodeFilters parameter.</em>
<a class="jxr_linenumber" name="1715" href="#1715">1715</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="1716" href="#1716">1716</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="1717" href="#1717">1717</a> <em class="jxr_javadoccomment"> * @param scriptFilename filename of the script to be executed - mandatory</em>
<a class="jxr_linenumber" name="1718" href="#1718">1718</a> <em class="jxr_javadoccomment"> * @param options of the script - optional. See {@link OptionsBuilder}.</em>
<a class="jxr_linenumber" name="1719" href="#1719">1719</a> <em class="jxr_javadoccomment"> * @param nodeFilters for selecting nodes on which the command will be executed. See {@link NodeFiltersBuilder}</em>
<a class="jxr_linenumber" name="1720" href="#1720">1720</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance for the newly created (and running) execution - won't be null</em>
<a class="jxr_linenumber" name="1721" href="#1721">1721</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="1722" href="#1722">1722</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="1723" href="#1723">1723</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="1724" href="#1724">1724</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project or scriptFilename is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="1725" href="#1725">1725</a> <em class="jxr_javadoccomment"> * @throws IOException if we failed to read the file</em>
<a class="jxr_linenumber" name="1726" href="#1726">1726</a> <em class="jxr_javadoccomment"> * @see #triggerAdhocScript(String, String, Properties, Properties, Integer, Boolean)</em>
<a class="jxr_linenumber" name="1727" href="#1727">1727</a> <em class="jxr_javadoccomment"> * @see #runAdhocScript(String, String, Properties, Properties)</em>
<a class="jxr_linenumber" name="1728" href="#1728">1728</a> <em class="jxr_javadoccomment"> * @deprecated use {@link #triggerAdhocScript(RunAdhocScript)}, this method will be</em>
<a class="jxr_linenumber" name="1729" href="#1729">1729</a> <em class="jxr_javadoccomment"> * removed in version 10 of this library</em>
<a class="jxr_linenumber" name="1730" href="#1730">1730</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="1731" href="#1731">1731</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> triggerAdhocScript(String project, String scriptFilename, Properties options,
<a class="jxr_linenumber" name="1732" href="#1732">1732</a> Properties nodeFilters) <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException, RundeckApiTokenException,
<a class="jxr_linenumber" name="1733" href="#1733">1733</a> IllegalArgumentException, IOException {
<a class="jxr_linenumber" name="1734" href="#1734">1734</a> <strong class="jxr_keyword">return</strong> triggerAdhocScript(project, scriptFilename, options, nodeFilters, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="1735" href="#1735">1735</a> }
<a class="jxr_linenumber" name="1736" href="#1736">1736</a>
<a class="jxr_linenumber" name="1737" href="#1737">1737</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1738" href="#1738">1738</a> <em class="jxr_javadoccomment"> * Trigger the execution of an ad-hoc script, and return immediately (without waiting the end of the execution). The</em>
<a class="jxr_linenumber" name="1739" href="#1739">1739</a> <em class="jxr_javadoccomment"> * script will be dispatched to nodes, accordingly to the nodeFilters parameter.</em>
<a class="jxr_linenumber" name="1740" href="#1740">1740</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="1741" href="#1741">1741</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="1742" href="#1742">1742</a> <em class="jxr_javadoccomment"> * @param scriptFilename filename of the script to be executed - mandatory</em>
<a class="jxr_linenumber" name="1743" href="#1743">1743</a> <em class="jxr_javadoccomment"> * @param options of the script - optional. See {@link OptionsBuilder}.</em>
<a class="jxr_linenumber" name="1744" href="#1744">1744</a> <em class="jxr_javadoccomment"> * @param nodeFilters for selecting nodes on which the command will be executed. See {@link NodeFiltersBuilder}</em>
<a class="jxr_linenumber" name="1745" href="#1745">1745</a> <em class="jxr_javadoccomment"> * @param nodeThreadcount thread count to use (for parallelizing when running on multiple nodes) - optional</em>
<a class="jxr_linenumber" name="1746" href="#1746">1746</a> <em class="jxr_javadoccomment"> * @param nodeKeepgoing if true, continue executing on other nodes even if some fail - optional</em>
<a class="jxr_linenumber" name="1747" href="#1747">1747</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance for the newly created (and running) execution - won't be null</em>
<a class="jxr_linenumber" name="1748" href="#1748">1748</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="1749" href="#1749">1749</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="1750" href="#1750">1750</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="1751" href="#1751">1751</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project or scriptFilename is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="1752" href="#1752">1752</a> <em class="jxr_javadoccomment"> * @throws IOException if we failed to read the file</em>
<a class="jxr_linenumber" name="1753" href="#1753">1753</a> <em class="jxr_javadoccomment"> * @see #triggerAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean)</em>
<a class="jxr_linenumber" name="1754" href="#1754">1754</a> <em class="jxr_javadoccomment"> * @see #runAdhocScript(String, String, Properties, Properties, Integer, Boolean, long, TimeUnit)</em>
<a class="jxr_linenumber" name="1755" href="#1755">1755</a> <em class="jxr_javadoccomment"> * @deprecated use {@link #triggerAdhocScript(RunAdhocScript)}, this method will be</em>
<a class="jxr_linenumber" name="1756" href="#1756">1756</a> <em class="jxr_javadoccomment"> * removed in version 10 of this library</em>
<a class="jxr_linenumber" name="1757" href="#1757">1757</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="1758" href="#1758">1758</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> triggerAdhocScript(String project, String scriptFilename, Properties options,
<a class="jxr_linenumber" name="1759" href="#1759">1759</a> Properties nodeFilters, Integer nodeThreadcount, Boolean nodeKeepgoing) <strong class="jxr_keyword">throws</strong> RundeckApiException,
<a class="jxr_linenumber" name="1760" href="#1760">1760</a> RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException, IOException {
<a class="jxr_linenumber" name="1761" href="#1761">1761</a> <strong class="jxr_keyword">return</strong> triggerAdhocScript(project, scriptFilename, options, nodeFilters, nodeThreadcount, nodeKeepgoing, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="1762" href="#1762">1762</a> }
<a class="jxr_linenumber" name="1763" href="#1763">1763</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1764" href="#1764">1764</a> <em class="jxr_javadoccomment"> * Trigger the execution of an ad-hoc script, and return immediately (without waiting the end of the execution). The</em>
<a class="jxr_linenumber" name="1765" href="#1765">1765</a> <em class="jxr_javadoccomment"> * script will be dispatched to nodes, accordingly to the nodeFilters parameter.</em>
<a class="jxr_linenumber" name="1766" href="#1766">1766</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="1767" href="#1767">1767</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="1768" href="#1768">1768</a> <em class="jxr_javadoccomment"> * @param scriptFilename filename of the script to be executed - mandatory</em>
<a class="jxr_linenumber" name="1769" href="#1769">1769</a> <em class="jxr_javadoccomment"> * @param options of the script - optional. See {@link OptionsBuilder}.</em>
<a class="jxr_linenumber" name="1770" href="#1770">1770</a> <em class="jxr_javadoccomment"> * @param nodeFilters for selecting nodes on which the command will be executed. See {@link NodeFiltersBuilder}</em>
<a class="jxr_linenumber" name="1771" href="#1771">1771</a> <em class="jxr_javadoccomment"> * @param nodeThreadcount thread count to use (for parallelizing when running on multiple nodes) - optional</em>
<a class="jxr_linenumber" name="1772" href="#1772">1772</a> <em class="jxr_javadoccomment"> * @param nodeKeepgoing if true, continue executing on other nodes even if some fail - optional</em>
<a class="jxr_linenumber" name="1773" href="#1773">1773</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance for the newly created (and running) execution - won't be null</em>
<a class="jxr_linenumber" name="1774" href="#1774">1774</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="1775" href="#1775">1775</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="1776" href="#1776">1776</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="1777" href="#1777">1777</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project or scriptFilename is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="1778" href="#1778">1778</a> <em class="jxr_javadoccomment"> * @throws IOException if we failed to read the file</em>
<a class="jxr_linenumber" name="1779" href="#1779">1779</a> <em class="jxr_javadoccomment"> * @see #triggerAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean)</em>
<a class="jxr_linenumber" name="1780" href="#1780">1780</a> <em class="jxr_javadoccomment"> * @see #runAdhocScript(String, String, Properties, Properties, Integer, Boolean, long, TimeUnit)</em>
<a class="jxr_linenumber" name="1781" href="#1781">1781</a> <em class="jxr_javadoccomment"> * @deprecated use {@link #triggerAdhocScript(RunAdhocScript)}, this method will be</em>
<a class="jxr_linenumber" name="1782" href="#1782">1782</a> <em class="jxr_javadoccomment"> * removed in version 10 of this library</em>
<a class="jxr_linenumber" name="1783" href="#1783">1783</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="1784" href="#1784">1784</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> triggerAdhocScript(String project, String scriptFilename, Properties options,
<a class="jxr_linenumber" name="1785" href="#1785">1785</a> Properties nodeFilters, Integer nodeThreadcount, Boolean nodeKeepgoing,String asUser) <strong class="jxr_keyword">throws</strong> RundeckApiException,
<a class="jxr_linenumber" name="1786" href="#1786">1786</a> RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException, IOException {
<a class="jxr_linenumber" name="1787" href="#1787">1787</a> <strong class="jxr_keyword">return</strong> triggerAdhocScript(project, scriptFilename, ParametersUtil.generateArgString(options), nodeFilters,
<a class="jxr_linenumber" name="1788" href="#1788">1788</a> nodeThreadcount, nodeKeepgoing, asUser);
<a class="jxr_linenumber" name="1789" href="#1789">1789</a> }
<a class="jxr_linenumber" name="1790" href="#1790">1790</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1791" href="#1791">1791</a> <em class="jxr_javadoccomment"> * Trigger the execution of an ad-hoc script, and return immediately (without waiting the end of the execution). The</em>
<a class="jxr_linenumber" name="1792" href="#1792">1792</a> <em class="jxr_javadoccomment"> * script will be dispatched to nodes, accordingly to the nodeFilters parameter.</em>
<a class="jxr_linenumber" name="1793" href="#1793">1793</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="1794" href="#1794">1794</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="1795" href="#1795">1795</a> <em class="jxr_javadoccomment"> * @param scriptFilename filename of the script to be executed - mandatory</em>
<a class="jxr_linenumber" name="1796" href="#1796">1796</a> <em class="jxr_javadoccomment"> * @param argString arguments of the script - optional.</em>
<a class="jxr_linenumber" name="1797" href="#1797">1797</a> <em class="jxr_javadoccomment"> * @param nodeFilters for selecting nodes on which the command will be executed. See {@link NodeFiltersBuilder}</em>
<a class="jxr_linenumber" name="1798" href="#1798">1798</a> <em class="jxr_javadoccomment"> * @param nodeThreadcount thread count to use (for parallelizing when running on multiple nodes) - optional</em>
<a class="jxr_linenumber" name="1799" href="#1799">1799</a> <em class="jxr_javadoccomment"> * @param nodeKeepgoing if true, continue executing on other nodes even if some fail - optional</em>
<a class="jxr_linenumber" name="1800" href="#1800">1800</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance for the newly created (and running) execution - won't be null</em>
<a class="jxr_linenumber" name="1801" href="#1801">1801</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="1802" href="#1802">1802</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="1803" href="#1803">1803</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="1804" href="#1804">1804</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project or scriptFilename is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="1805" href="#1805">1805</a> <em class="jxr_javadoccomment"> * @throws IOException if we failed to read the file</em>
<a class="jxr_linenumber" name="1806" href="#1806">1806</a> <em class="jxr_javadoccomment"> * @see #triggerAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean)</em>
<a class="jxr_linenumber" name="1807" href="#1807">1807</a> <em class="jxr_javadoccomment"> * @see #runAdhocScript(String, String, Properties, Properties, Integer, Boolean, long, TimeUnit)</em>
<a class="jxr_linenumber" name="1808" href="#1808">1808</a> <em class="jxr_javadoccomment"> * @deprecated use {@link #triggerAdhocScript(RunAdhocScript)}, this method will be</em>
<a class="jxr_linenumber" name="1809" href="#1809">1809</a> <em class="jxr_javadoccomment"> * removed in version 10 of this library</em>
<a class="jxr_linenumber" name="1810" href="#1810">1810</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="1811" href="#1811">1811</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> triggerAdhocScript(String project, String scriptFilename, String argString,
<a class="jxr_linenumber" name="1812" href="#1812">1812</a> Properties nodeFilters, Integer nodeThreadcount, Boolean nodeKeepgoing,String asUser) <strong class="jxr_keyword">throws</strong> RundeckApiException,
<a class="jxr_linenumber" name="1813" href="#1813">1813</a> RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException, IOException {
<a class="jxr_linenumber" name="1814" href="#1814">1814</a> AssertUtil.notBlank(scriptFilename, <span class="jxr_string">"scriptFilename is mandatory to trigger an ad-hoc script !"</span>);
<a class="jxr_linenumber" name="1815" href="#1815">1815</a> FileInputStream stream = <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="1816" href="#1816">1816</a> <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="1817" href="#1817">1817</a> stream = FileUtils.openInputStream(<strong class="jxr_keyword">new</strong> File(scriptFilename));
<a class="jxr_linenumber" name="1818" href="#1818">1818</a> <strong class="jxr_keyword">return</strong> triggerAdhocScript(RunAdhocScriptBuilder.builder()
<a class="jxr_linenumber" name="1819" href="#1819">1819</a> .setProject(project)
<a class="jxr_linenumber" name="1820" href="#1820">1820</a> .setScript(stream)
<a class="jxr_linenumber" name="1821" href="#1821">1821</a> .setNodeFilters(nodeFilters)
<a class="jxr_linenumber" name="1822" href="#1822">1822</a> .setArgString(argString)
<a class="jxr_linenumber" name="1823" href="#1823">1823</a> .setNodeThreadcount(nodeThreadcount)
<a class="jxr_linenumber" name="1824" href="#1824">1824</a> .setNodeKeepgoing(nodeKeepgoing)
<a class="jxr_linenumber" name="1825" href="#1825">1825</a> .setAsUser(asUser)
<a class="jxr_linenumber" name="1826" href="#1826">1826</a> .build());
<a class="jxr_linenumber" name="1827" href="#1827">1827</a> } <strong class="jxr_keyword">finally</strong> {
<a class="jxr_linenumber" name="1828" href="#1828">1828</a> IOUtils.closeQuietly(stream);
<a class="jxr_linenumber" name="1829" href="#1829">1829</a> }
<a class="jxr_linenumber" name="1830" href="#1830">1830</a> }
<a class="jxr_linenumber" name="1831" href="#1831">1831</a>
<a class="jxr_linenumber" name="1832" href="#1832">1832</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1833" href="#1833">1833</a> <em class="jxr_javadoccomment"> * Trigger the execution of an ad-hoc script, and return immediately (without waiting the end of the execution). The</em>
<a class="jxr_linenumber" name="1834" href="#1834">1834</a> <em class="jxr_javadoccomment"> * script will not be dispatched to nodes, but be executed on the RunDeck server.</em>
<a class="jxr_linenumber" name="1835" href="#1835">1835</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="1836" href="#1836">1836</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="1837" href="#1837">1837</a> <em class="jxr_javadoccomment"> * @param script inputStream for reading the script to be executed - mandatory</em>
<a class="jxr_linenumber" name="1838" href="#1838">1838</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance for the newly created (and running) execution - won't be null</em>
<a class="jxr_linenumber" name="1839" href="#1839">1839</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="1840" href="#1840">1840</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="1841" href="#1841">1841</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="1842" href="#1842">1842</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) or the script is null</em>
<a class="jxr_linenumber" name="1843" href="#1843">1843</a> <em class="jxr_javadoccomment"> * @see #triggerAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean)</em>
<a class="jxr_linenumber" name="1844" href="#1844">1844</a> <em class="jxr_javadoccomment"> * @see #runAdhocScript(String, InputStream)</em>
<a class="jxr_linenumber" name="1845" href="#1845">1845</a> <em class="jxr_javadoccomment"> * @deprecated use {@link #triggerAdhocScript(RunAdhocScript)}, this method will be</em>
<a class="jxr_linenumber" name="1846" href="#1846">1846</a> <em class="jxr_javadoccomment"> * removed in version 10 of this library</em>
<a class="jxr_linenumber" name="1847" href="#1847">1847</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="1848" href="#1848">1848</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> triggerAdhocScript(String project, InputStream script) <strong class="jxr_keyword">throws</strong> RundeckApiException,
<a class="jxr_linenumber" name="1849" href="#1849">1849</a> RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="1850" href="#1850">1850</a> <strong class="jxr_keyword">return</strong> triggerAdhocScript(project, script, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="1851" href="#1851">1851</a> }
<a class="jxr_linenumber" name="1852" href="#1852">1852</a>
<a class="jxr_linenumber" name="1853" href="#1853">1853</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1854" href="#1854">1854</a> <em class="jxr_javadoccomment"> * Trigger the execution of an ad-hoc script, and return immediately (without waiting the end of the execution). The</em>
<a class="jxr_linenumber" name="1855" href="#1855">1855</a> <em class="jxr_javadoccomment"> * script will not be dispatched to nodes, but be executed on the RunDeck server.</em>
<a class="jxr_linenumber" name="1856" href="#1856">1856</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="1857" href="#1857">1857</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="1858" href="#1858">1858</a> <em class="jxr_javadoccomment"> * @param script inputStream for reading the script to be executed - mandatory</em>
<a class="jxr_linenumber" name="1859" href="#1859">1859</a> <em class="jxr_javadoccomment"> * @param options of the script - optional. See {@link OptionsBuilder}.</em>
<a class="jxr_linenumber" name="1860" href="#1860">1860</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance for the newly created (and running) execution - won't be null</em>
<a class="jxr_linenumber" name="1861" href="#1861">1861</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="1862" href="#1862">1862</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="1863" href="#1863">1863</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="1864" href="#1864">1864</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) or the script is null</em>
<a class="jxr_linenumber" name="1865" href="#1865">1865</a> <em class="jxr_javadoccomment"> * @see #triggerAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean)</em>
<a class="jxr_linenumber" name="1866" href="#1866">1866</a> <em class="jxr_javadoccomment"> * @see #runAdhocScript(String, InputStream, Properties)</em>
<a class="jxr_linenumber" name="1867" href="#1867">1867</a> <em class="jxr_javadoccomment"> * @deprecated use {@link #triggerAdhocScript(RunAdhocScript)}, this method will be</em>
<a class="jxr_linenumber" name="1868" href="#1868">1868</a> <em class="jxr_javadoccomment"> * removed in version 10 of this library</em>
<a class="jxr_linenumber" name="1869" href="#1869">1869</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="1870" href="#1870">1870</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> triggerAdhocScript(String project, InputStream script, Properties options)
<a class="jxr_linenumber" name="1871" href="#1871">1871</a> <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="1872" href="#1872">1872</a> <strong class="jxr_keyword">return</strong> triggerAdhocScript(project, script, options, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="1873" href="#1873">1873</a> }
<a class="jxr_linenumber" name="1874" href="#1874">1874</a>
<a class="jxr_linenumber" name="1875" href="#1875">1875</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1876" href="#1876">1876</a> <em class="jxr_javadoccomment"> * Trigger the execution of an ad-hoc script, and return immediately (without waiting the end of the execution). The</em>
<a class="jxr_linenumber" name="1877" href="#1877">1877</a> <em class="jxr_javadoccomment"> * script will be dispatched to nodes, accordingly to the nodeFilters parameter.</em>
<a class="jxr_linenumber" name="1878" href="#1878">1878</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="1879" href="#1879">1879</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="1880" href="#1880">1880</a> <em class="jxr_javadoccomment"> * @param script inputStream for reading the script to be executed - mandatory</em>
<a class="jxr_linenumber" name="1881" href="#1881">1881</a> <em class="jxr_javadoccomment"> * @param options of the script - optional. See {@link OptionsBuilder}.</em>
<a class="jxr_linenumber" name="1882" href="#1882">1882</a> <em class="jxr_javadoccomment"> * @param nodeFilters for selecting nodes on which the command will be executed. See {@link NodeFiltersBuilder}</em>
<a class="jxr_linenumber" name="1883" href="#1883">1883</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance for the newly created (and running) execution - won't be null</em>
<a class="jxr_linenumber" name="1884" href="#1884">1884</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="1885" href="#1885">1885</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="1886" href="#1886">1886</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="1887" href="#1887">1887</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) or the script is null</em>
<a class="jxr_linenumber" name="1888" href="#1888">1888</a> <em class="jxr_javadoccomment"> * @see #triggerAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean)</em>
<a class="jxr_linenumber" name="1889" href="#1889">1889</a> <em class="jxr_javadoccomment"> * @see #runAdhocScript(String, InputStream, Properties, Properties)</em>
<a class="jxr_linenumber" name="1890" href="#1890">1890</a> <em class="jxr_javadoccomment"> * @deprecated use {@link #triggerAdhocScript(RunAdhocScript)}, this method will be</em>
<a class="jxr_linenumber" name="1891" href="#1891">1891</a> <em class="jxr_javadoccomment"> * removed in version 10 of this library</em>
<a class="jxr_linenumber" name="1892" href="#1892">1892</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="1893" href="#1893">1893</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> triggerAdhocScript(String project, InputStream script, Properties options,
<a class="jxr_linenumber" name="1894" href="#1894">1894</a> Properties nodeFilters) <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException, RundeckApiTokenException,
<a class="jxr_linenumber" name="1895" href="#1895">1895</a> IllegalArgumentException {
<a class="jxr_linenumber" name="1896" href="#1896">1896</a> <strong class="jxr_keyword">return</strong> triggerAdhocScript(project, script, options, nodeFilters, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="1897" href="#1897">1897</a> }
<a class="jxr_linenumber" name="1898" href="#1898">1898</a>
<a class="jxr_linenumber" name="1899" href="#1899">1899</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1900" href="#1900">1900</a> <em class="jxr_javadoccomment"> * Trigger the execution of an ad-hoc script, and return immediately (without waiting the end of the execution). The</em>
<a class="jxr_linenumber" name="1901" href="#1901">1901</a> <em class="jxr_javadoccomment"> * script will be dispatched to nodes, accordingly to the nodeFilters parameter.</em>
<a class="jxr_linenumber" name="1902" href="#1902">1902</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="1903" href="#1903">1903</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="1904" href="#1904">1904</a> <em class="jxr_javadoccomment"> * @param script inputStream for reading the script to be executed - mandatory</em>
<a class="jxr_linenumber" name="1905" href="#1905">1905</a> <em class="jxr_javadoccomment"> * @param options of the script - optional. See {@link OptionsBuilder}.</em>
<a class="jxr_linenumber" name="1906" href="#1906">1906</a> <em class="jxr_javadoccomment"> * @param nodeFilters for selecting nodes on which the command will be executed. See {@link NodeFiltersBuilder}</em>
<a class="jxr_linenumber" name="1907" href="#1907">1907</a> <em class="jxr_javadoccomment"> * @param nodeThreadcount thread count to use (for parallelizing when running on multiple nodes) - optional</em>
<a class="jxr_linenumber" name="1908" href="#1908">1908</a> <em class="jxr_javadoccomment"> * @param nodeKeepgoing if true, continue executing on other nodes even if some fail - optional</em>
<a class="jxr_linenumber" name="1909" href="#1909">1909</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance for the newly created (and running) execution - won't be null</em>
<a class="jxr_linenumber" name="1910" href="#1910">1910</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="1911" href="#1911">1911</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="1912" href="#1912">1912</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="1913" href="#1913">1913</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) or the script is null</em>
<a class="jxr_linenumber" name="1914" href="#1914">1914</a> <em class="jxr_javadoccomment"> * @see #triggerAdhocScript(String, String, Properties, Properties, Integer, Boolean)</em>
<a class="jxr_linenumber" name="1915" href="#1915">1915</a> <em class="jxr_javadoccomment"> * @see #runAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean, long, TimeUnit)</em>
<a class="jxr_linenumber" name="1916" href="#1916">1916</a> <em class="jxr_javadoccomment"> * @deprecated use {@link #triggerAdhocScript(RunAdhocScript)}, this method will be</em>
<a class="jxr_linenumber" name="1917" href="#1917">1917</a> <em class="jxr_javadoccomment"> * removed in version 10 of this library</em>
<a class="jxr_linenumber" name="1918" href="#1918">1918</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="1919" href="#1919">1919</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> triggerAdhocScript(String project, InputStream script, Properties options,
<a class="jxr_linenumber" name="1920" href="#1920">1920</a> Properties nodeFilters, Integer nodeThreadcount, Boolean nodeKeepgoing) <strong class="jxr_keyword">throws</strong> RundeckApiException,
<a class="jxr_linenumber" name="1921" href="#1921">1921</a> RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="1922" href="#1922">1922</a> <strong class="jxr_keyword">return</strong> triggerAdhocScript(project, script, options, nodeFilters, nodeThreadcount, nodeKeepgoing, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="1923" href="#1923">1923</a> }
<a class="jxr_linenumber" name="1924" href="#1924">1924</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1925" href="#1925">1925</a> <em class="jxr_javadoccomment"> * Trigger the execution of an ad-hoc script, and return immediately (without waiting the end of the execution). The</em>
<a class="jxr_linenumber" name="1926" href="#1926">1926</a> <em class="jxr_javadoccomment"> * script will be dispatched to nodes, accordingly to the nodeFilters parameter.</em>
<a class="jxr_linenumber" name="1927" href="#1927">1927</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="1928" href="#1928">1928</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="1929" href="#1929">1929</a> <em class="jxr_javadoccomment"> * @param script inputStream for reading the script to be executed - mandatory</em>
<a class="jxr_linenumber" name="1930" href="#1930">1930</a> <em class="jxr_javadoccomment"> * @param options of the script - optional. See {@link OptionsBuilder}.</em>
<a class="jxr_linenumber" name="1931" href="#1931">1931</a> <em class="jxr_javadoccomment"> * @param nodeFilters for selecting nodes on which the command will be executed. See {@link NodeFiltersBuilder}</em>
<a class="jxr_linenumber" name="1932" href="#1932">1932</a> <em class="jxr_javadoccomment"> * @param nodeThreadcount thread count to use (for parallelizing when running on multiple nodes) - optional</em>
<a class="jxr_linenumber" name="1933" href="#1933">1933</a> <em class="jxr_javadoccomment"> * @param nodeKeepgoing if true, continue executing on other nodes even if some fail - optional</em>
<a class="jxr_linenumber" name="1934" href="#1934">1934</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance for the newly created (and running) execution - won't be null</em>
<a class="jxr_linenumber" name="1935" href="#1935">1935</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="1936" href="#1936">1936</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="1937" href="#1937">1937</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="1938" href="#1938">1938</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) or the script is null</em>
<a class="jxr_linenumber" name="1939" href="#1939">1939</a> <em class="jxr_javadoccomment"> * @see #triggerAdhocScript(String, String, Properties, Properties, Integer, Boolean)</em>
<a class="jxr_linenumber" name="1940" href="#1940">1940</a> <em class="jxr_javadoccomment"> * @see #runAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean, long, TimeUnit)</em>
<a class="jxr_linenumber" name="1941" href="#1941">1941</a> <em class="jxr_javadoccomment"> * @deprecated use {@link #triggerAdhocScript(RunAdhocScript)}, this method will be</em>
<a class="jxr_linenumber" name="1942" href="#1942">1942</a> <em class="jxr_javadoccomment"> * removed in version 10 of this library</em>
<a class="jxr_linenumber" name="1943" href="#1943">1943</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="1944" href="#1944">1944</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> triggerAdhocScript(String project, InputStream script, Properties options,
<a class="jxr_linenumber" name="1945" href="#1945">1945</a> Properties nodeFilters, Integer nodeThreadcount, Boolean nodeKeepgoing, String asUser) <strong class="jxr_keyword">throws</strong> RundeckApiException,
<a class="jxr_linenumber" name="1946" href="#1946">1946</a> RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="1947" href="#1947">1947</a> <strong class="jxr_keyword">return</strong> triggerAdhocScript(project, script, ParametersUtil.generateArgString(options), nodeFilters,
<a class="jxr_linenumber" name="1948" href="#1948">1948</a> nodeThreadcount, nodeKeepgoing, asUser);
<a class="jxr_linenumber" name="1949" href="#1949">1949</a> }
<a class="jxr_linenumber" name="1950" href="#1950">1950</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1951" href="#1951">1951</a> <em class="jxr_javadoccomment"> * Trigger the execution of an ad-hoc script, and return immediately (without waiting the end of the execution). The</em>
<a class="jxr_linenumber" name="1952" href="#1952">1952</a> <em class="jxr_javadoccomment"> * script will be dispatched to nodes, accordingly to the nodeFilters parameter.</em>
<a class="jxr_linenumber" name="1953" href="#1953">1953</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="1954" href="#1954">1954</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="1955" href="#1955">1955</a> <em class="jxr_javadoccomment"> * @param script inputStream for reading the script to be executed - mandatory</em>
<a class="jxr_linenumber" name="1956" href="#1956">1956</a> <em class="jxr_javadoccomment"> * @param argString arguments of the script - optional.</em>
<a class="jxr_linenumber" name="1957" href="#1957">1957</a> <em class="jxr_javadoccomment"> * @param nodeFilters for selecting nodes on which the command will be executed. See {@link NodeFiltersBuilder}</em>
<a class="jxr_linenumber" name="1958" href="#1958">1958</a> <em class="jxr_javadoccomment"> * @param nodeThreadcount thread count to use (for parallelizing when running on multiple nodes) - optional</em>
<a class="jxr_linenumber" name="1959" href="#1959">1959</a> <em class="jxr_javadoccomment"> * @param nodeKeepgoing if true, continue executing on other nodes even if some fail - optional</em>
<a class="jxr_linenumber" name="1960" href="#1960">1960</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance for the newly created (and running) execution - won't be null</em>
<a class="jxr_linenumber" name="1961" href="#1961">1961</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="1962" href="#1962">1962</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="1963" href="#1963">1963</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="1964" href="#1964">1964</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) or the script is null</em>
<a class="jxr_linenumber" name="1965" href="#1965">1965</a> <em class="jxr_javadoccomment"> * @see #triggerAdhocScript(String, String, Properties, Properties, Integer, Boolean)</em>
<a class="jxr_linenumber" name="1966" href="#1966">1966</a> <em class="jxr_javadoccomment"> * @see #runAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean, long, TimeUnit)</em>
<a class="jxr_linenumber" name="1967" href="#1967">1967</a> <em class="jxr_javadoccomment"> * @deprecated use {@link #triggerAdhocScript(RunAdhocScript)}, this method will be</em>
<a class="jxr_linenumber" name="1968" href="#1968">1968</a> <em class="jxr_javadoccomment"> * removed in version 10 of this library</em>
<a class="jxr_linenumber" name="1969" href="#1969">1969</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="1970" href="#1970">1970</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> triggerAdhocScript(String project, InputStream script, String argString,
<a class="jxr_linenumber" name="1971" href="#1971">1971</a> Properties nodeFilters, Integer nodeThreadcount, Boolean nodeKeepgoing, String asUser) <strong class="jxr_keyword">throws</strong> RundeckApiException,
<a class="jxr_linenumber" name="1972" href="#1972">1972</a> RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="1973" href="#1973">1973</a> <strong class="jxr_keyword">return</strong> triggerAdhocScript(RunAdhocScriptBuilder.builder()
<a class="jxr_linenumber" name="1974" href="#1974">1974</a> .setProject(project)
<a class="jxr_linenumber" name="1975" href="#1975">1975</a> .setScript(script)
<a class="jxr_linenumber" name="1976" href="#1976">1976</a> .setNodeFilters(nodeFilters)
<a class="jxr_linenumber" name="1977" href="#1977">1977</a> .setArgString(argString)
<a class="jxr_linenumber" name="1978" href="#1978">1978</a> .setNodeThreadcount(nodeThreadcount)
<a class="jxr_linenumber" name="1979" href="#1979">1979</a> .setNodeKeepgoing(nodeKeepgoing)
<a class="jxr_linenumber" name="1980" href="#1980">1980</a> .setAsUser(asUser)
<a class="jxr_linenumber" name="1981" href="#1981">1981</a> .build());
<a class="jxr_linenumber" name="1982" href="#1982">1982</a> }
<a class="jxr_linenumber" name="1983" href="#1983">1983</a>
<a class="jxr_linenumber" name="1984" href="#1984">1984</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1985" href="#1985">1985</a> <em class="jxr_javadoccomment"> * Trigger the execution of an ad-hoc script read from a file, and return immediately (without waiting the end of</em>
<a class="jxr_linenumber" name="1986" href="#1986">1986</a> <em class="jxr_javadoccomment"> * the execution). The script will be dispatched to nodes, accordingly to the nodeFilters parameter.</em>
<a class="jxr_linenumber" name="1987" href="#1987">1987</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="1988" href="#1988">1988</a> <em class="jxr_javadoccomment"> * @param script the RunAdhocScript, see {@link RunAdhocScriptBuilder}</em>
<a class="jxr_linenumber" name="1989" href="#1989">1989</a> <em class="jxr_javadoccomment"> * @param scriptFilename a file to read as the input script stream</em>
<a class="jxr_linenumber" name="1990" href="#1990">1990</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="1991" href="#1991">1991</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance for the newly created (and running) execution - won't be null</em>
<a class="jxr_linenumber" name="1992" href="#1992">1992</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="1993" href="#1993">1993</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="1994" href="#1994">1994</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="1995" href="#1995">1995</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="1996" href="#1996">1996</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) or the script is null</em>
<a class="jxr_linenumber" name="1997" href="#1997">1997</a> <em class="jxr_javadoccomment"> * @throws IOException if an error occurs reading the script file</em>
<a class="jxr_linenumber" name="1998" href="#1998">1998</a> <em class="jxr_javadoccomment"> * @see #triggerAdhocScript(RunAdhocScript)</em>
<a class="jxr_linenumber" name="1999" href="#1999">1999</a> <em class="jxr_javadoccomment"> * @see #runAdhocScript(RunAdhocScript, long, java.util.concurrent.TimeUnit)</em>
<a class="jxr_linenumber" name="2000" href="#2000">2000</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="2001" href="#2001">2001</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> triggerAdhocScript(<strong class="jxr_keyword">final</strong> <a href="../../../org/rundeck/api/RunAdhocScript.html">RunAdhocScript</a> script, <strong class="jxr_keyword">final</strong> String scriptFilename) <strong class="jxr_keyword">throws</strong>
<a class="jxr_linenumber" name="2002" href="#2002">2002</a> RundeckApiException,
<a class="jxr_linenumber" name="2003" href="#2003">2003</a> RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException, IOException {
<a class="jxr_linenumber" name="2004" href="#2004">2004</a> AssertUtil.notBlank(scriptFilename, <span class="jxr_string">"scriptFilename is mandatory to trigger an ad-hoc script !"</span>);
<a class="jxr_linenumber" name="2005" href="#2005">2005</a> FileInputStream stream = <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="2006" href="#2006">2006</a> <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="2007" href="#2007">2007</a> stream = FileUtils.openInputStream(<strong class="jxr_keyword">new</strong> File(scriptFilename));
<a class="jxr_linenumber" name="2008" href="#2008">2008</a> <strong class="jxr_keyword">return</strong> triggerAdhocScript(RunAdhocScriptBuilder.builder(script)
<a class="jxr_linenumber" name="2009" href="#2009">2009</a> .setScript(stream)
<a class="jxr_linenumber" name="2010" href="#2010">2010</a> .build());
<a class="jxr_linenumber" name="2011" href="#2011">2011</a> } <strong class="jxr_keyword">finally</strong> {
<a class="jxr_linenumber" name="2012" href="#2012">2012</a> IOUtils.closeQuietly(stream);
<a class="jxr_linenumber" name="2013" href="#2013">2013</a> }
<a class="jxr_linenumber" name="2014" href="#2014">2014</a> }
<a class="jxr_linenumber" name="2015" href="#2015">2015</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2016" href="#2016">2016</a> <em class="jxr_javadoccomment"> * Trigger the execution of an ad-hoc script, and return immediately (without waiting the end of the execution). The</em>
<a class="jxr_linenumber" name="2017" href="#2017">2017</a> <em class="jxr_javadoccomment"> * script will be dispatched to nodes, accordingly to the nodeFilters parameter.</em>
<a class="jxr_linenumber" name="2018" href="#2018">2018</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="2019" href="#2019">2019</a> <em class="jxr_javadoccomment"> * @param script the RunAdhocScript, see {@link RunAdhocScriptBuilder}</em>
<a class="jxr_linenumber" name="2020" href="#2020">2020</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance for the newly created (and running) execution - won't be null</em>
<a class="jxr_linenumber" name="2021" href="#2021">2021</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="2022" href="#2022">2022</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="2023" href="#2023">2023</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="2024" href="#2024">2024</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) or the script is null</em>
<a class="jxr_linenumber" name="2025" href="#2025">2025</a> <em class="jxr_javadoccomment"> * @see #triggerAdhocScript(String, String, Properties, Properties, Integer, Boolean)</em>
<a class="jxr_linenumber" name="2026" href="#2026">2026</a> <em class="jxr_javadoccomment"> * @see #runAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean, long, TimeUnit)</em>
<a class="jxr_linenumber" name="2027" href="#2027">2027</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="2028" href="#2028">2028</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> triggerAdhocScript(<a href="../../../org/rundeck/api/RunAdhocScript.html">RunAdhocScript</a> script) <strong class="jxr_keyword">throws</strong> RundeckApiException,
<a class="jxr_linenumber" name="2029" href="#2029">2029</a> RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="2030" href="#2030">2030</a> AssertUtil.notBlank(script.getProject(), <span class="jxr_string">"project is mandatory to trigger an ad-hoc script !"</span>);
<a class="jxr_linenumber" name="2031" href="#2031">2031</a> AssertUtil.notNull(script.getScript(), <span class="jxr_string">"script is mandatory to trigger an ad-hoc script !"</span>);
<a class="jxr_linenumber" name="2032" href="#2032">2032</a> <a href="../../../org/rundeck/api/ApiPathBuilder.html">ApiPathBuilder</a> apiPath = <strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/ApiPathBuilder.html">ApiPathBuilder</a>(<span class="jxr_string">"/run/script"</span>).param(<span class="jxr_string">"project"</span>, script.getProject())
<a class="jxr_linenumber" name="2033" href="#2033">2033</a> .attach(<span class="jxr_string">"scriptFile"</span>,
<a class="jxr_linenumber" name="2034" href="#2034">2034</a> script.getScript())
<a class="jxr_linenumber" name="2035" href="#2035">2035</a> .param(<span class="jxr_string">"argString"</span>,script.getArgString())
<a class="jxr_linenumber" name="2036" href="#2036">2036</a> .param(<span class="jxr_string">"nodeThreadcount"</span>,
<a class="jxr_linenumber" name="2037" href="#2037">2037</a> script.getNodeThreadcount())
<a class="jxr_linenumber" name="2038" href="#2038">2038</a> .param(<span class="jxr_string">"nodeKeepgoing"</span>,
<a class="jxr_linenumber" name="2039" href="#2039">2039</a> script.getNodeKeepgoing())
<a class="jxr_linenumber" name="2040" href="#2040">2040</a> .param(<span class="jxr_string">"scriptInterpreter"</span>,
<a class="jxr_linenumber" name="2041" href="#2041">2041</a> script.getScriptInterpreter())
<a class="jxr_linenumber" name="2042" href="#2042">2042</a> .param(<span class="jxr_string">"interpreterArgsQuoted"</span>,
<a class="jxr_linenumber" name="2043" href="#2043">2043</a> script.getInterpreterArgsQuoted())
<a class="jxr_linenumber" name="2044" href="#2044">2044</a> .nodeFilters(script.getNodeFilters());
<a class="jxr_linenumber" name="2045" href="#2045">2045</a> <strong class="jxr_keyword">if</strong>(<strong class="jxr_keyword">null</strong>!=script.getAsUser()) {
<a class="jxr_linenumber" name="2046" href="#2046">2046</a> apiPath.param(<span class="jxr_string">"asUser"</span>, script.getAsUser());
<a class="jxr_linenumber" name="2047" href="#2047">2047</a> }
<a class="jxr_linenumber" name="2048" href="#2048">2048</a> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> execution = <strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/ApiCall.html">ApiCall</a>(<strong class="jxr_keyword">this</strong>).post(apiPath, <strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/parser/ExecutionParser.html">ExecutionParser</a>(<span class="jxr_string">"result/execution"</span>));
<a class="jxr_linenumber" name="2049" href="#2049">2049</a> <em class="jxr_comment">// the first call just returns the ID of the execution, so we need another call to get a "real" execution</em>
<a class="jxr_linenumber" name="2050" href="#2050">2050</a> <strong class="jxr_keyword">return</strong> getExecution(execution.getId());
<a class="jxr_linenumber" name="2051" href="#2051">2051</a> }
<a class="jxr_linenumber" name="2052" href="#2052">2052</a>
<a class="jxr_linenumber" name="2053" href="#2053">2053</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2054" href="#2054">2054</a> <em class="jxr_javadoccomment"> * Run an ad-hoc script, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck</em>
<a class="jxr_linenumber" name="2055" href="#2055">2055</a> <em class="jxr_javadoccomment"> * server at regular interval (every 5 seconds) to know if the execution is finished (or aborted) or is still</em>
<a class="jxr_linenumber" name="2056" href="#2056">2056</a> <em class="jxr_javadoccomment"> * running. The script will not be dispatched to nodes, but be executed on the RunDeck server.</em>
<a class="jxr_linenumber" name="2057" href="#2057">2057</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="2058" href="#2058">2058</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="2059" href="#2059">2059</a> <em class="jxr_javadoccomment"> * @param scriptFilename filename of the script to be executed - mandatory</em>
<a class="jxr_linenumber" name="2060" href="#2060">2060</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null</em>
<a class="jxr_linenumber" name="2061" href="#2061">2061</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="2062" href="#2062">2062</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="2063" href="#2063">2063</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="2064" href="#2064">2064</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project or scriptFilename is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="2065" href="#2065">2065</a> <em class="jxr_javadoccomment"> * @throws IOException if we failed to read the file</em>
<a class="jxr_linenumber" name="2066" href="#2066">2066</a> <em class="jxr_javadoccomment"> * @see #runAdhocScript(String, String, Properties, Properties, Integer, Boolean, long, TimeUnit)</em>
<a class="jxr_linenumber" name="2067" href="#2067">2067</a> <em class="jxr_javadoccomment"> * @see #triggerAdhocScript(String, String)</em>
<a class="jxr_linenumber" name="2068" href="#2068">2068</a> <em class="jxr_javadoccomment"> * @deprecated use {@link #runAdhocScript(RunAdhocScript)}, this method will be</em>
<a class="jxr_linenumber" name="2069" href="#2069">2069</a> <em class="jxr_javadoccomment"> * removed in version 10 of this library</em>
<a class="jxr_linenumber" name="2070" href="#2070">2070</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="2071" href="#2071">2071</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> runAdhocScript(String project, String scriptFilename) <strong class="jxr_keyword">throws</strong> RundeckApiException,
<a class="jxr_linenumber" name="2072" href="#2072">2072</a> RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException, IOException {
<a class="jxr_linenumber" name="2073" href="#2073">2073</a> <strong class="jxr_keyword">return</strong> runAdhocScript(project, scriptFilename, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="2074" href="#2074">2074</a> }
<a class="jxr_linenumber" name="2075" href="#2075">2075</a>
<a class="jxr_linenumber" name="2076" href="#2076">2076</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2077" href="#2077">2077</a> <em class="jxr_javadoccomment"> * Run an ad-hoc script, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck</em>
<a class="jxr_linenumber" name="2078" href="#2078">2078</a> <em class="jxr_javadoccomment"> * server at regular interval (configured by the poolingInterval/poolingUnit couple) to know if the execution is</em>
<a class="jxr_linenumber" name="2079" href="#2079">2079</a> <em class="jxr_javadoccomment"> * finished (or aborted) or is still running. The script will not be dispatched to nodes, but be executed on the</em>
<a class="jxr_linenumber" name="2080" href="#2080">2080</a> <em class="jxr_javadoccomment"> * RunDeck server.</em>
<a class="jxr_linenumber" name="2081" href="#2081">2081</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="2082" href="#2082">2082</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="2083" href="#2083">2083</a> <em class="jxr_javadoccomment"> * @param scriptFilename filename of the script to be executed - mandatory</em>
<a class="jxr_linenumber" name="2084" href="#2084">2084</a> <em class="jxr_javadoccomment"> * @param poolingInterval for checking the status of the execution. Must be &gt; 0.</em>
<a class="jxr_linenumber" name="2085" href="#2085">2085</a> <em class="jxr_javadoccomment"> * @param poolingUnit unit (seconds, milli-seconds, ...) of the interval. Default to seconds.</em>
<a class="jxr_linenumber" name="2086" href="#2086">2086</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null</em>
<a class="jxr_linenumber" name="2087" href="#2087">2087</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="2088" href="#2088">2088</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="2089" href="#2089">2089</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="2090" href="#2090">2090</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project or scriptFilename is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="2091" href="#2091">2091</a> <em class="jxr_javadoccomment"> * @throws IOException if we failed to read the file</em>
<a class="jxr_linenumber" name="2092" href="#2092">2092</a> <em class="jxr_javadoccomment"> * @see #runAdhocScript(String, String, Properties, Properties, Integer, Boolean, long, TimeUnit)</em>
<a class="jxr_linenumber" name="2093" href="#2093">2093</a> <em class="jxr_javadoccomment"> * @see #triggerAdhocScript(String, String)</em>
<a class="jxr_linenumber" name="2094" href="#2094">2094</a> <em class="jxr_javadoccomment"> * @deprecated use {@link #runAdhocScript(RunAdhocScript, long, java.util.concurrent.TimeUnit)}, this method will be</em>
<a class="jxr_linenumber" name="2095" href="#2095">2095</a> <em class="jxr_javadoccomment"> * removed in version 10 of this library</em>
<a class="jxr_linenumber" name="2096" href="#2096">2096</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="2097" href="#2097">2097</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> runAdhocScript(String project, String scriptFilename, <strong class="jxr_keyword">long</strong> poolingInterval,
<a class="jxr_linenumber" name="2098" href="#2098">2098</a> TimeUnit poolingUnit) <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException, RundeckApiTokenException,
<a class="jxr_linenumber" name="2099" href="#2099">2099</a> IllegalArgumentException, IOException {
<a class="jxr_linenumber" name="2100" href="#2100">2100</a> <strong class="jxr_keyword">return</strong> runAdhocScript(project, scriptFilename, <strong class="jxr_keyword">null</strong>, poolingInterval, poolingUnit);
<a class="jxr_linenumber" name="2101" href="#2101">2101</a> }
<a class="jxr_linenumber" name="2102" href="#2102">2102</a>
<a class="jxr_linenumber" name="2103" href="#2103">2103</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2104" href="#2104">2104</a> <em class="jxr_javadoccomment"> * Run an ad-hoc script, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck</em>
<a class="jxr_linenumber" name="2105" href="#2105">2105</a> <em class="jxr_javadoccomment"> * server at regular interval (every 5 seconds) to know if the execution is finished (or aborted) or is still</em>
<a class="jxr_linenumber" name="2106" href="#2106">2106</a> <em class="jxr_javadoccomment"> * running. The script will not be dispatched to nodes, but be executed on the RunDeck server.</em>
<a class="jxr_linenumber" name="2107" href="#2107">2107</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="2108" href="#2108">2108</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="2109" href="#2109">2109</a> <em class="jxr_javadoccomment"> * @param scriptFilename filename of the script to be executed - mandatory</em>
<a class="jxr_linenumber" name="2110" href="#2110">2110</a> <em class="jxr_javadoccomment"> * @param options of the script - optional. See {@link OptionsBuilder}.</em>
<a class="jxr_linenumber" name="2111" href="#2111">2111</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null</em>
<a class="jxr_linenumber" name="2112" href="#2112">2112</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="2113" href="#2113">2113</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="2114" href="#2114">2114</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="2115" href="#2115">2115</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project or scriptFilename is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="2116" href="#2116">2116</a> <em class="jxr_javadoccomment"> * @throws IOException if we failed to read the file</em>
<a class="jxr_linenumber" name="2117" href="#2117">2117</a> <em class="jxr_javadoccomment"> * @see #runAdhocScript(String, String, Properties, Properties, Integer, Boolean, long, TimeUnit)</em>
<a class="jxr_linenumber" name="2118" href="#2118">2118</a> <em class="jxr_javadoccomment"> * @see #triggerAdhocScript(String, String, Properties)</em>
<a class="jxr_linenumber" name="2119" href="#2119">2119</a> <em class="jxr_javadoccomment"> * @deprecated use {@link #runAdhocScript(RunAdhocScript)}, this method will be</em>
<a class="jxr_linenumber" name="2120" href="#2120">2120</a> <em class="jxr_javadoccomment"> * removed in version 10 of this library</em>
<a class="jxr_linenumber" name="2121" href="#2121">2121</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="2122" href="#2122">2122</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> runAdhocScript(String project, String scriptFilename, Properties options)
<a class="jxr_linenumber" name="2123" href="#2123">2123</a> <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException,
<a class="jxr_linenumber" name="2124" href="#2124">2124</a> IOException {
<a class="jxr_linenumber" name="2125" href="#2125">2125</a> <strong class="jxr_keyword">return</strong> runAdhocScript(project, scriptFilename, options, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="2126" href="#2126">2126</a> }
<a class="jxr_linenumber" name="2127" href="#2127">2127</a>
<a class="jxr_linenumber" name="2128" href="#2128">2128</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2129" href="#2129">2129</a> <em class="jxr_javadoccomment"> * Run an ad-hoc script, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck</em>
<a class="jxr_linenumber" name="2130" href="#2130">2130</a> <em class="jxr_javadoccomment"> * server at regular interval (configured by the poolingInterval/poolingUnit couple) to know if the execution is</em>
<a class="jxr_linenumber" name="2131" href="#2131">2131</a> <em class="jxr_javadoccomment"> * finished (or aborted) or is still running. The script will not be dispatched to nodes, but be executed on the</em>
<a class="jxr_linenumber" name="2132" href="#2132">2132</a> <em class="jxr_javadoccomment"> * RunDeck server.</em>
<a class="jxr_linenumber" name="2133" href="#2133">2133</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="2134" href="#2134">2134</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="2135" href="#2135">2135</a> <em class="jxr_javadoccomment"> * @param scriptFilename filename of the script to be executed - mandatory</em>
<a class="jxr_linenumber" name="2136" href="#2136">2136</a> <em class="jxr_javadoccomment"> * @param options of the script - optional. See {@link OptionsBuilder}.</em>
<a class="jxr_linenumber" name="2137" href="#2137">2137</a> <em class="jxr_javadoccomment"> * @param poolingInterval for checking the status of the execution. Must be &gt; 0.</em>
<a class="jxr_linenumber" name="2138" href="#2138">2138</a> <em class="jxr_javadoccomment"> * @param poolingUnit unit (seconds, milli-seconds, ...) of the interval. Default to seconds.</em>
<a class="jxr_linenumber" name="2139" href="#2139">2139</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null</em>
<a class="jxr_linenumber" name="2140" href="#2140">2140</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="2141" href="#2141">2141</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="2142" href="#2142">2142</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="2143" href="#2143">2143</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project or scriptFilename is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="2144" href="#2144">2144</a> <em class="jxr_javadoccomment"> * @throws IOException if we failed to read the file</em>
<a class="jxr_linenumber" name="2145" href="#2145">2145</a> <em class="jxr_javadoccomment"> * @see #runAdhocScript(String, String, Properties, Properties, Integer, Boolean, long, TimeUnit)</em>
<a class="jxr_linenumber" name="2146" href="#2146">2146</a> <em class="jxr_javadoccomment"> * @see #triggerAdhocScript(String, String, Properties)</em>
<a class="jxr_linenumber" name="2147" href="#2147">2147</a> <em class="jxr_javadoccomment"> * @deprecated use {@link #runAdhocScript(RunAdhocScript, long, java.util.concurrent.TimeUnit)}, this method will be</em>
<a class="jxr_linenumber" name="2148" href="#2148">2148</a> <em class="jxr_javadoccomment"> * removed in version 10 of this library</em>
<a class="jxr_linenumber" name="2149" href="#2149">2149</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="2150" href="#2150">2150</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> runAdhocScript(String project, String scriptFilename, Properties options,
<a class="jxr_linenumber" name="2151" href="#2151">2151</a> <strong class="jxr_keyword">long</strong> poolingInterval, TimeUnit poolingUnit) <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException,
<a class="jxr_linenumber" name="2152" href="#2152">2152</a> RundeckApiTokenException, IllegalArgumentException, IOException {
<a class="jxr_linenumber" name="2153" href="#2153">2153</a> <strong class="jxr_keyword">return</strong> runAdhocScript(project, scriptFilename, options, <strong class="jxr_keyword">null</strong>, poolingInterval, poolingUnit);
<a class="jxr_linenumber" name="2154" href="#2154">2154</a> }
<a class="jxr_linenumber" name="2155" href="#2155">2155</a>
<a class="jxr_linenumber" name="2156" href="#2156">2156</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2157" href="#2157">2157</a> <em class="jxr_javadoccomment"> * Run an ad-hoc script, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck</em>
<a class="jxr_linenumber" name="2158" href="#2158">2158</a> <em class="jxr_javadoccomment"> * server at regular interval (every 5 seconds) to know if the execution is finished (or aborted) or is still</em>
<a class="jxr_linenumber" name="2159" href="#2159">2159</a> <em class="jxr_javadoccomment"> * running. The script will be dispatched to nodes, accordingly to the nodeFilters parameter.</em>
<a class="jxr_linenumber" name="2160" href="#2160">2160</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="2161" href="#2161">2161</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="2162" href="#2162">2162</a> <em class="jxr_javadoccomment"> * @param scriptFilename filename of the script to be executed - mandatory</em>
<a class="jxr_linenumber" name="2163" href="#2163">2163</a> <em class="jxr_javadoccomment"> * @param options of the script - optional. See {@link OptionsBuilder}.</em>
<a class="jxr_linenumber" name="2164" href="#2164">2164</a> <em class="jxr_javadoccomment"> * @param nodeFilters for selecting nodes on which the script will be executed. See {@link NodeFiltersBuilder}</em>
<a class="jxr_linenumber" name="2165" href="#2165">2165</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null</em>
<a class="jxr_linenumber" name="2166" href="#2166">2166</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="2167" href="#2167">2167</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="2168" href="#2168">2168</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="2169" href="#2169">2169</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project or scriptFilename is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="2170" href="#2170">2170</a> <em class="jxr_javadoccomment"> * @throws IOException if we failed to read the file</em>
<a class="jxr_linenumber" name="2171" href="#2171">2171</a> <em class="jxr_javadoccomment"> * @see #runAdhocScript(String, String, Properties, Properties, Integer, Boolean, long, TimeUnit)</em>
<a class="jxr_linenumber" name="2172" href="#2172">2172</a> <em class="jxr_javadoccomment"> * @see #triggerAdhocScript(String, String, Properties, Properties)</em>
<a class="jxr_linenumber" name="2173" href="#2173">2173</a> <em class="jxr_javadoccomment"> * @deprecated use {@link #runAdhocScript(RunAdhocScript)}, this method will be</em>
<a class="jxr_linenumber" name="2174" href="#2174">2174</a> <em class="jxr_javadoccomment"> * removed in version 10 of this library</em>
<a class="jxr_linenumber" name="2175" href="#2175">2175</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="2176" href="#2176">2176</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> runAdhocScript(String project, String scriptFilename, Properties options,
<a class="jxr_linenumber" name="2177" href="#2177">2177</a> Properties nodeFilters) <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException, RundeckApiTokenException,
<a class="jxr_linenumber" name="2178" href="#2178">2178</a> IllegalArgumentException, IOException {
<a class="jxr_linenumber" name="2179" href="#2179">2179</a> <strong class="jxr_keyword">return</strong> runAdhocScript(project, scriptFilename, options, nodeFilters, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="2180" href="#2180">2180</a> }
<a class="jxr_linenumber" name="2181" href="#2181">2181</a>
<a class="jxr_linenumber" name="2182" href="#2182">2182</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2183" href="#2183">2183</a> <em class="jxr_javadoccomment"> * Run an ad-hoc script, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck</em>
<a class="jxr_linenumber" name="2184" href="#2184">2184</a> <em class="jxr_javadoccomment"> * server at regular interval (configured by the poolingInterval/poolingUnit couple) to know if the execution is</em>
<a class="jxr_linenumber" name="2185" href="#2185">2185</a> <em class="jxr_javadoccomment"> * finished (or aborted) or is still running. The script will be dispatched to nodes, accordingly to the nodeFilters</em>
<a class="jxr_linenumber" name="2186" href="#2186">2186</a> <em class="jxr_javadoccomment"> * parameter.</em>
<a class="jxr_linenumber" name="2187" href="#2187">2187</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="2188" href="#2188">2188</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="2189" href="#2189">2189</a> <em class="jxr_javadoccomment"> * @param scriptFilename filename of the script to be executed - mandatory</em>
<a class="jxr_linenumber" name="2190" href="#2190">2190</a> <em class="jxr_javadoccomment"> * @param options of the script - optional. See {@link OptionsBuilder}.</em>
<a class="jxr_linenumber" name="2191" href="#2191">2191</a> <em class="jxr_javadoccomment"> * @param nodeFilters for selecting nodes on which the script will be executed. See {@link NodeFiltersBuilder}</em>
<a class="jxr_linenumber" name="2192" href="#2192">2192</a> <em class="jxr_javadoccomment"> * @param poolingInterval for checking the status of the execution. Must be &gt; 0.</em>
<a class="jxr_linenumber" name="2193" href="#2193">2193</a> <em class="jxr_javadoccomment"> * @param poolingUnit unit (seconds, milli-seconds, ...) of the interval. Default to seconds.</em>
<a class="jxr_linenumber" name="2194" href="#2194">2194</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null</em>
<a class="jxr_linenumber" name="2195" href="#2195">2195</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="2196" href="#2196">2196</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="2197" href="#2197">2197</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="2198" href="#2198">2198</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project or scriptFilename is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="2199" href="#2199">2199</a> <em class="jxr_javadoccomment"> * @throws IOException if we failed to read the file</em>
<a class="jxr_linenumber" name="2200" href="#2200">2200</a> <em class="jxr_javadoccomment"> * @see #runAdhocScript(String, String, Properties, Properties, Integer, Boolean, long, TimeUnit)</em>
<a class="jxr_linenumber" name="2201" href="#2201">2201</a> <em class="jxr_javadoccomment"> * @see #triggerAdhocScript(String, String, Properties, Properties)</em>
<a class="jxr_linenumber" name="2202" href="#2202">2202</a> <em class="jxr_javadoccomment"> * @deprecated use {@link #runAdhocScript(RunAdhocScript, long, java.util.concurrent.TimeUnit)}, this method will be</em>
<a class="jxr_linenumber" name="2203" href="#2203">2203</a> <em class="jxr_javadoccomment"> * removed in version 10 of this library</em>
<a class="jxr_linenumber" name="2204" href="#2204">2204</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="2205" href="#2205">2205</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> runAdhocScript(String project, String scriptFilename, Properties options,
<a class="jxr_linenumber" name="2206" href="#2206">2206</a> Properties nodeFilters, <strong class="jxr_keyword">long</strong> poolingInterval, TimeUnit poolingUnit) <strong class="jxr_keyword">throws</strong> RundeckApiException,
<a class="jxr_linenumber" name="2207" href="#2207">2207</a> RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException, IOException {
<a class="jxr_linenumber" name="2208" href="#2208">2208</a> <strong class="jxr_keyword">return</strong> runAdhocScript(project, scriptFilename, options, nodeFilters, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>, poolingInterval, poolingUnit);
<a class="jxr_linenumber" name="2209" href="#2209">2209</a> }
<a class="jxr_linenumber" name="2210" href="#2210">2210</a>
<a class="jxr_linenumber" name="2211" href="#2211">2211</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2212" href="#2212">2212</a> <em class="jxr_javadoccomment"> * Run an ad-hoc script, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck</em>
<a class="jxr_linenumber" name="2213" href="#2213">2213</a> <em class="jxr_javadoccomment"> * server at regular interval (every 5 seconds) to know if the execution is finished (or aborted) or is still</em>
<a class="jxr_linenumber" name="2214" href="#2214">2214</a> <em class="jxr_javadoccomment"> * running. The script will be dispatched to nodes, accordingly to the nodeFilters parameter.</em>
<a class="jxr_linenumber" name="2215" href="#2215">2215</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="2216" href="#2216">2216</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="2217" href="#2217">2217</a> <em class="jxr_javadoccomment"> * @param scriptFilename filename of the script to be executed - mandatory</em>
<a class="jxr_linenumber" name="2218" href="#2218">2218</a> <em class="jxr_javadoccomment"> * @param options of the script - optional. See {@link OptionsBuilder}.</em>
<a class="jxr_linenumber" name="2219" href="#2219">2219</a> <em class="jxr_javadoccomment"> * @param nodeFilters for selecting nodes on which the script will be executed. See {@link NodeFiltersBuilder}</em>
<a class="jxr_linenumber" name="2220" href="#2220">2220</a> <em class="jxr_javadoccomment"> * @param nodeThreadcount thread count to use (for parallelizing when running on multiple nodes) - optional</em>
<a class="jxr_linenumber" name="2221" href="#2221">2221</a> <em class="jxr_javadoccomment"> * @param nodeKeepgoing if true, continue executing on other nodes even if some fail - optional</em>
<a class="jxr_linenumber" name="2222" href="#2222">2222</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null</em>
<a class="jxr_linenumber" name="2223" href="#2223">2223</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="2224" href="#2224">2224</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="2225" href="#2225">2225</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="2226" href="#2226">2226</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project or scriptFilename is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="2227" href="#2227">2227</a> <em class="jxr_javadoccomment"> * @throws IOException if we failed to read the file</em>
<a class="jxr_linenumber" name="2228" href="#2228">2228</a> <em class="jxr_javadoccomment"> * @see #runAdhocScript(String, String, Properties, Properties, Integer, Boolean, long, TimeUnit)</em>
<a class="jxr_linenumber" name="2229" href="#2229">2229</a> <em class="jxr_javadoccomment"> * @see #triggerAdhocScript(String, String, Properties, Properties, Integer, Boolean)</em>
<a class="jxr_linenumber" name="2230" href="#2230">2230</a> <em class="jxr_javadoccomment"> * @deprecated use {@link #runAdhocScript(RunAdhocScript)}, this method will be</em>
<a class="jxr_linenumber" name="2231" href="#2231">2231</a> <em class="jxr_javadoccomment"> * removed in version 10 of this library</em>
<a class="jxr_linenumber" name="2232" href="#2232">2232</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="2233" href="#2233">2233</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> runAdhocScript(String project, String scriptFilename, Properties options,
<a class="jxr_linenumber" name="2234" href="#2234">2234</a> Properties nodeFilters, Integer nodeThreadcount, Boolean nodeKeepgoing) <strong class="jxr_keyword">throws</strong> RundeckApiException,
<a class="jxr_linenumber" name="2235" href="#2235">2235</a> RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException, IOException {
<a class="jxr_linenumber" name="2236" href="#2236">2236</a> <strong class="jxr_keyword">return</strong> runAdhocScript(project,
<a class="jxr_linenumber" name="2237" href="#2237">2237</a> scriptFilename,
<a class="jxr_linenumber" name="2238" href="#2238">2238</a> options,
<a class="jxr_linenumber" name="2239" href="#2239">2239</a> nodeFilters,
<a class="jxr_linenumber" name="2240" href="#2240">2240</a> nodeThreadcount,
<a class="jxr_linenumber" name="2241" href="#2241">2241</a> nodeKeepgoing,
<a class="jxr_linenumber" name="2242" href="#2242">2242</a> DEFAULT_POOLING_INTERVAL,
<a class="jxr_linenumber" name="2243" href="#2243">2243</a> DEFAULT_POOLING_UNIT);
<a class="jxr_linenumber" name="2244" href="#2244">2244</a> }
<a class="jxr_linenumber" name="2245" href="#2245">2245</a>
<a class="jxr_linenumber" name="2246" href="#2246">2246</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2247" href="#2247">2247</a> <em class="jxr_javadoccomment"> * Run an ad-hoc script, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck</em>
<a class="jxr_linenumber" name="2248" href="#2248">2248</a> <em class="jxr_javadoccomment"> * server at regular interval (configured by the poolingInterval/poolingUnit couple) to know if the execution is</em>
<a class="jxr_linenumber" name="2249" href="#2249">2249</a> <em class="jxr_javadoccomment"> * finished (or aborted) or is still running. The script will be dispatched to nodes, accordingly to the nodeFilters</em>
<a class="jxr_linenumber" name="2250" href="#2250">2250</a> <em class="jxr_javadoccomment"> * parameter.</em>
<a class="jxr_linenumber" name="2251" href="#2251">2251</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="2252" href="#2252">2252</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="2253" href="#2253">2253</a> <em class="jxr_javadoccomment"> * @param scriptFilename filename of the script to be executed - mandatory</em>
<a class="jxr_linenumber" name="2254" href="#2254">2254</a> <em class="jxr_javadoccomment"> * @param options of the script - optional. See {@link OptionsBuilder}.</em>
<a class="jxr_linenumber" name="2255" href="#2255">2255</a> <em class="jxr_javadoccomment"> * @param nodeFilters for selecting nodes on which the script will be executed. See {@link NodeFiltersBuilder}</em>
<a class="jxr_linenumber" name="2256" href="#2256">2256</a> <em class="jxr_javadoccomment"> * @param nodeThreadcount thread count to use (for parallelizing when running on multiple nodes) - optional</em>
<a class="jxr_linenumber" name="2257" href="#2257">2257</a> <em class="jxr_javadoccomment"> * @param nodeKeepgoing if true, continue executing on other nodes even if some fail - optional</em>
<a class="jxr_linenumber" name="2258" href="#2258">2258</a> <em class="jxr_javadoccomment"> * @param poolingInterval for checking the status of the execution. Must be &gt; 0.</em>
<a class="jxr_linenumber" name="2259" href="#2259">2259</a> <em class="jxr_javadoccomment"> * @param poolingUnit unit (seconds, milli-seconds, ...) of the interval. Default to seconds.</em>
<a class="jxr_linenumber" name="2260" href="#2260">2260</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null</em>
<a class="jxr_linenumber" name="2261" href="#2261">2261</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="2262" href="#2262">2262</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="2263" href="#2263">2263</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="2264" href="#2264">2264</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project or scriptFilename is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="2265" href="#2265">2265</a> <em class="jxr_javadoccomment"> * @throws IOException if we failed to read the file</em>
<a class="jxr_linenumber" name="2266" href="#2266">2266</a> <em class="jxr_javadoccomment"> * @see #runAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean, long, TimeUnit)</em>
<a class="jxr_linenumber" name="2267" href="#2267">2267</a> <em class="jxr_javadoccomment"> * @see #triggerAdhocScript(String, String, Properties, Properties, Integer, Boolean)</em>
<a class="jxr_linenumber" name="2268" href="#2268">2268</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="2269" href="#2269">2269</a> <em class="jxr_javadoccomment"> * @deprecated use {@link #runAdhocScript(RunAdhocScript, long, java.util.concurrent.TimeUnit)}, this method will be</em>
<a class="jxr_linenumber" name="2270" href="#2270">2270</a> <em class="jxr_javadoccomment"> * removed in version 10 of this library</em>
<a class="jxr_linenumber" name="2271" href="#2271">2271</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="2272" href="#2272">2272</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> runAdhocScript(String project, String scriptFilename, Properties options,
<a class="jxr_linenumber" name="2273" href="#2273">2273</a> Properties nodeFilters, Integer nodeThreadcount, Boolean nodeKeepgoing, <strong class="jxr_keyword">long</strong> poolingInterval,
<a class="jxr_linenumber" name="2274" href="#2274">2274</a> TimeUnit poolingUnit) <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException, RundeckApiTokenException,
<a class="jxr_linenumber" name="2275" href="#2275">2275</a> IllegalArgumentException, IOException {
<a class="jxr_linenumber" name="2276" href="#2276">2276</a> AssertUtil.notBlank(scriptFilename, <span class="jxr_string">"scriptFilename is mandatory to run an ad-hoc script !"</span>);
<a class="jxr_linenumber" name="2277" href="#2277">2277</a> FileInputStream stream = <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="2278" href="#2278">2278</a> <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="2279" href="#2279">2279</a> stream = FileUtils.openInputStream(<strong class="jxr_keyword">new</strong> File(scriptFilename));
<a class="jxr_linenumber" name="2280" href="#2280">2280</a> <strong class="jxr_keyword">return</strong> runAdhocScript(RunAdhocScriptBuilder.builder()
<a class="jxr_linenumber" name="2281" href="#2281">2281</a> .setProject(project)
<a class="jxr_linenumber" name="2282" href="#2282">2282</a> .setScript(stream)
<a class="jxr_linenumber" name="2283" href="#2283">2283</a> .setNodeFilters(nodeFilters)
<a class="jxr_linenumber" name="2284" href="#2284">2284</a> .setArgString(ParametersUtil.generateArgString(options))
<a class="jxr_linenumber" name="2285" href="#2285">2285</a> .setNodeThreadcount(nodeThreadcount)
<a class="jxr_linenumber" name="2286" href="#2286">2286</a> .setNodeKeepgoing(nodeKeepgoing)
<a class="jxr_linenumber" name="2287" href="#2287">2287</a> .build(),
<a class="jxr_linenumber" name="2288" href="#2288">2288</a> poolingInterval,
<a class="jxr_linenumber" name="2289" href="#2289">2289</a> poolingUnit);
<a class="jxr_linenumber" name="2290" href="#2290">2290</a> } <strong class="jxr_keyword">finally</strong> {
<a class="jxr_linenumber" name="2291" href="#2291">2291</a> IOUtils.closeQuietly(stream);
<a class="jxr_linenumber" name="2292" href="#2292">2292</a> }
<a class="jxr_linenumber" name="2293" href="#2293">2293</a> }
<a class="jxr_linenumber" name="2294" href="#2294">2294</a>
<a class="jxr_linenumber" name="2295" href="#2295">2295</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2296" href="#2296">2296</a> <em class="jxr_javadoccomment"> * Run an ad-hoc script, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck</em>
<a class="jxr_linenumber" name="2297" href="#2297">2297</a> <em class="jxr_javadoccomment"> * server at regular interval (every 5 seconds) to know if the execution is finished (or aborted) or is still</em>
<a class="jxr_linenumber" name="2298" href="#2298">2298</a> <em class="jxr_javadoccomment"> * running. The script will not be dispatched to nodes, but be executed on the RunDeck server.</em>
<a class="jxr_linenumber" name="2299" href="#2299">2299</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="2300" href="#2300">2300</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="2301" href="#2301">2301</a> <em class="jxr_javadoccomment"> * @param script inputStream for reading the script to be executed - mandatory</em>
<a class="jxr_linenumber" name="2302" href="#2302">2302</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null</em>
<a class="jxr_linenumber" name="2303" href="#2303">2303</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="2304" href="#2304">2304</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="2305" href="#2305">2305</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="2306" href="#2306">2306</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) or the script is null</em>
<a class="jxr_linenumber" name="2307" href="#2307">2307</a> <em class="jxr_javadoccomment"> * @throws IOException if we failed to read the file</em>
<a class="jxr_linenumber" name="2308" href="#2308">2308</a> <em class="jxr_javadoccomment"> * @see #runAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean, long, TimeUnit)</em>
<a class="jxr_linenumber" name="2309" href="#2309">2309</a> <em class="jxr_javadoccomment"> * @see #triggerAdhocScript(String, InputStream)</em>
<a class="jxr_linenumber" name="2310" href="#2310">2310</a> <em class="jxr_javadoccomment"> * @deprecated use {@link #runAdhocScript(RunAdhocScript)}, this method will be</em>
<a class="jxr_linenumber" name="2311" href="#2311">2311</a> <em class="jxr_javadoccomment"> * removed in version 10 of this library</em>
<a class="jxr_linenumber" name="2312" href="#2312">2312</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="2313" href="#2313">2313</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> runAdhocScript(String project, InputStream script) <strong class="jxr_keyword">throws</strong> RundeckApiException,
<a class="jxr_linenumber" name="2314" href="#2314">2314</a> RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException, IOException {
<a class="jxr_linenumber" name="2315" href="#2315">2315</a> <strong class="jxr_keyword">return</strong> runAdhocScript(project, script, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="2316" href="#2316">2316</a> }
<a class="jxr_linenumber" name="2317" href="#2317">2317</a>
<a class="jxr_linenumber" name="2318" href="#2318">2318</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2319" href="#2319">2319</a> <em class="jxr_javadoccomment"> * Run an ad-hoc script, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck</em>
<a class="jxr_linenumber" name="2320" href="#2320">2320</a> <em class="jxr_javadoccomment"> * server at regular interval (configured by the poolingInterval/poolingUnit couple) to know if the execution is</em>
<a class="jxr_linenumber" name="2321" href="#2321">2321</a> <em class="jxr_javadoccomment"> * finished (or aborted) or is still running. The script will not be dispatched to nodes, but be executed on the</em>
<a class="jxr_linenumber" name="2322" href="#2322">2322</a> <em class="jxr_javadoccomment"> * RunDeck server.</em>
<a class="jxr_linenumber" name="2323" href="#2323">2323</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="2324" href="#2324">2324</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="2325" href="#2325">2325</a> <em class="jxr_javadoccomment"> * @param script inputStream for reading the script to be executed - mandatory</em>
<a class="jxr_linenumber" name="2326" href="#2326">2326</a> <em class="jxr_javadoccomment"> * @param poolingInterval for checking the status of the execution. Must be &gt; 0.</em>
<a class="jxr_linenumber" name="2327" href="#2327">2327</a> <em class="jxr_javadoccomment"> * @param poolingUnit unit (seconds, milli-seconds, ...) of the interval. Default to seconds.</em>
<a class="jxr_linenumber" name="2328" href="#2328">2328</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null</em>
<a class="jxr_linenumber" name="2329" href="#2329">2329</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="2330" href="#2330">2330</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="2331" href="#2331">2331</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="2332" href="#2332">2332</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) or the script is null</em>
<a class="jxr_linenumber" name="2333" href="#2333">2333</a> <em class="jxr_javadoccomment"> * @throws IOException if we failed to read the file</em>
<a class="jxr_linenumber" name="2334" href="#2334">2334</a> <em class="jxr_javadoccomment"> * @see #runAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean, long, TimeUnit)</em>
<a class="jxr_linenumber" name="2335" href="#2335">2335</a> <em class="jxr_javadoccomment"> * @see #triggerAdhocScript(String, InputStream)</em>
<a class="jxr_linenumber" name="2336" href="#2336">2336</a> <em class="jxr_javadoccomment"> * @deprecated use {@link #runAdhocScript(RunAdhocScript, long, java.util.concurrent.TimeUnit)}, this method will be</em>
<a class="jxr_linenumber" name="2337" href="#2337">2337</a> <em class="jxr_javadoccomment"> * removed in version 10 of this library</em>
<a class="jxr_linenumber" name="2338" href="#2338">2338</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="2339" href="#2339">2339</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> runAdhocScript(String project, InputStream script, <strong class="jxr_keyword">long</strong> poolingInterval,
<a class="jxr_linenumber" name="2340" href="#2340">2340</a> TimeUnit poolingUnit) <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException, RundeckApiTokenException,
<a class="jxr_linenumber" name="2341" href="#2341">2341</a> IllegalArgumentException, IOException {
<a class="jxr_linenumber" name="2342" href="#2342">2342</a> <strong class="jxr_keyword">return</strong> runAdhocScript(project, script, <strong class="jxr_keyword">null</strong>, poolingInterval, poolingUnit);
<a class="jxr_linenumber" name="2343" href="#2343">2343</a> }
<a class="jxr_linenumber" name="2344" href="#2344">2344</a>
<a class="jxr_linenumber" name="2345" href="#2345">2345</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2346" href="#2346">2346</a> <em class="jxr_javadoccomment"> * Run an ad-hoc script, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck</em>
<a class="jxr_linenumber" name="2347" href="#2347">2347</a> <em class="jxr_javadoccomment"> * server at regular interval (every 5 seconds) to know if the execution is finished (or aborted) or is still</em>
<a class="jxr_linenumber" name="2348" href="#2348">2348</a> <em class="jxr_javadoccomment"> * running. The script will not be dispatched to nodes, but be executed on the RunDeck server.</em>
<a class="jxr_linenumber" name="2349" href="#2349">2349</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="2350" href="#2350">2350</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="2351" href="#2351">2351</a> <em class="jxr_javadoccomment"> * @param script inputStream for reading the script to be executed - mandatory</em>
<a class="jxr_linenumber" name="2352" href="#2352">2352</a> <em class="jxr_javadoccomment"> * @param options of the script - optional. See {@link OptionsBuilder}.</em>
<a class="jxr_linenumber" name="2353" href="#2353">2353</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null</em>
<a class="jxr_linenumber" name="2354" href="#2354">2354</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="2355" href="#2355">2355</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="2356" href="#2356">2356</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="2357" href="#2357">2357</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) or the script is null</em>
<a class="jxr_linenumber" name="2358" href="#2358">2358</a> <em class="jxr_javadoccomment"> * @throws IOException if we failed to read the file</em>
<a class="jxr_linenumber" name="2359" href="#2359">2359</a> <em class="jxr_javadoccomment"> * @see #runAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean, long, TimeUnit)</em>
<a class="jxr_linenumber" name="2360" href="#2360">2360</a> <em class="jxr_javadoccomment"> * @see #triggerAdhocScript(String, InputStream, Properties)</em>
<a class="jxr_linenumber" name="2361" href="#2361">2361</a> <em class="jxr_javadoccomment"> * @deprecated use {@link #runAdhocScript(RunAdhocScript)}, this method will be</em>
<a class="jxr_linenumber" name="2362" href="#2362">2362</a> <em class="jxr_javadoccomment"> * removed in version 10 of this library</em>
<a class="jxr_linenumber" name="2363" href="#2363">2363</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="2364" href="#2364">2364</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> runAdhocScript(String project, InputStream script, Properties options)
<a class="jxr_linenumber" name="2365" href="#2365">2365</a> <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException,
<a class="jxr_linenumber" name="2366" href="#2366">2366</a> IOException {
<a class="jxr_linenumber" name="2367" href="#2367">2367</a> <strong class="jxr_keyword">return</strong> runAdhocScript(project, script, options, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="2368" href="#2368">2368</a> }
<a class="jxr_linenumber" name="2369" href="#2369">2369</a>
<a class="jxr_linenumber" name="2370" href="#2370">2370</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2371" href="#2371">2371</a> <em class="jxr_javadoccomment"> * Run an ad-hoc script, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck</em>
<a class="jxr_linenumber" name="2372" href="#2372">2372</a> <em class="jxr_javadoccomment"> * server at regular interval (configured by the poolingInterval/poolingUnit couple) to know if the execution is</em>
<a class="jxr_linenumber" name="2373" href="#2373">2373</a> <em class="jxr_javadoccomment"> * finished (or aborted) or is still running. The script will not be dispatched to nodes, but be executed on the</em>
<a class="jxr_linenumber" name="2374" href="#2374">2374</a> <em class="jxr_javadoccomment"> * RunDeck server.</em>
<a class="jxr_linenumber" name="2375" href="#2375">2375</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="2376" href="#2376">2376</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="2377" href="#2377">2377</a> <em class="jxr_javadoccomment"> * @param script inputStream for reading the script to be executed - mandatory</em>
<a class="jxr_linenumber" name="2378" href="#2378">2378</a> <em class="jxr_javadoccomment"> * @param options of the script - optional. See {@link OptionsBuilder}.</em>
<a class="jxr_linenumber" name="2379" href="#2379">2379</a> <em class="jxr_javadoccomment"> * @param poolingInterval for checking the status of the execution. Must be &gt; 0.</em>
<a class="jxr_linenumber" name="2380" href="#2380">2380</a> <em class="jxr_javadoccomment"> * @param poolingUnit unit (seconds, milli-seconds, ...) of the interval. Default to seconds.</em>
<a class="jxr_linenumber" name="2381" href="#2381">2381</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null</em>
<a class="jxr_linenumber" name="2382" href="#2382">2382</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="2383" href="#2383">2383</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="2384" href="#2384">2384</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="2385" href="#2385">2385</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) or the script is null</em>
<a class="jxr_linenumber" name="2386" href="#2386">2386</a> <em class="jxr_javadoccomment"> * @throws IOException if we failed to read the file</em>
<a class="jxr_linenumber" name="2387" href="#2387">2387</a> <em class="jxr_javadoccomment"> * @see #runAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean, long, TimeUnit)</em>
<a class="jxr_linenumber" name="2388" href="#2388">2388</a> <em class="jxr_javadoccomment"> * @see #triggerAdhocScript(String, InputStream, Properties)</em>
<a class="jxr_linenumber" name="2389" href="#2389">2389</a> <em class="jxr_javadoccomment"> * @deprecated use {@link #runAdhocScript(RunAdhocScript, long, java.util.concurrent.TimeUnit)}, this method will be</em>
<a class="jxr_linenumber" name="2390" href="#2390">2390</a> <em class="jxr_javadoccomment"> * removed in version 10 of this library</em>
<a class="jxr_linenumber" name="2391" href="#2391">2391</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="2392" href="#2392">2392</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> runAdhocScript(String project, InputStream script, Properties options,
<a class="jxr_linenumber" name="2393" href="#2393">2393</a> <strong class="jxr_keyword">long</strong> poolingInterval, TimeUnit poolingUnit) <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException,
<a class="jxr_linenumber" name="2394" href="#2394">2394</a> RundeckApiTokenException, IllegalArgumentException, IOException {
<a class="jxr_linenumber" name="2395" href="#2395">2395</a> <strong class="jxr_keyword">return</strong> runAdhocScript(project, script, options, <strong class="jxr_keyword">null</strong>, poolingInterval, poolingUnit);
<a class="jxr_linenumber" name="2396" href="#2396">2396</a> }
<a class="jxr_linenumber" name="2397" href="#2397">2397</a>
<a class="jxr_linenumber" name="2398" href="#2398">2398</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2399" href="#2399">2399</a> <em class="jxr_javadoccomment"> * Run an ad-hoc script, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck</em>
<a class="jxr_linenumber" name="2400" href="#2400">2400</a> <em class="jxr_javadoccomment"> * server at regular interval (every 5 seconds) to know if the execution is finished (or aborted) or is still</em>
<a class="jxr_linenumber" name="2401" href="#2401">2401</a> <em class="jxr_javadoccomment"> * running. The script will be dispatched to nodes, accordingly to the nodeFilters parameter.</em>
<a class="jxr_linenumber" name="2402" href="#2402">2402</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="2403" href="#2403">2403</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="2404" href="#2404">2404</a> <em class="jxr_javadoccomment"> * @param script inputStream for reading the script to be executed - mandatory</em>
<a class="jxr_linenumber" name="2405" href="#2405">2405</a> <em class="jxr_javadoccomment"> * @param options of the script - optional. See {@link OptionsBuilder}.</em>
<a class="jxr_linenumber" name="2406" href="#2406">2406</a> <em class="jxr_javadoccomment"> * @param nodeFilters for selecting nodes on which the script will be executed. See {@link NodeFiltersBuilder}</em>
<a class="jxr_linenumber" name="2407" href="#2407">2407</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null</em>
<a class="jxr_linenumber" name="2408" href="#2408">2408</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="2409" href="#2409">2409</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="2410" href="#2410">2410</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="2411" href="#2411">2411</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) or the script is null</em>
<a class="jxr_linenumber" name="2412" href="#2412">2412</a> <em class="jxr_javadoccomment"> * @throws IOException if we failed to read the file</em>
<a class="jxr_linenumber" name="2413" href="#2413">2413</a> <em class="jxr_javadoccomment"> * @see #runAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean, long, TimeUnit)</em>
<a class="jxr_linenumber" name="2414" href="#2414">2414</a> <em class="jxr_javadoccomment"> * @see #triggerAdhocScript(String, InputStream, Properties, Properties)</em>
<a class="jxr_linenumber" name="2415" href="#2415">2415</a> <em class="jxr_javadoccomment"> * @deprecated use {@link #runAdhocScript(RunAdhocScript)}, this method will be</em>
<a class="jxr_linenumber" name="2416" href="#2416">2416</a> <em class="jxr_javadoccomment"> * removed in version 10 of this library</em>
<a class="jxr_linenumber" name="2417" href="#2417">2417</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="2418" href="#2418">2418</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> runAdhocScript(String project, InputStream script, Properties options,
<a class="jxr_linenumber" name="2419" href="#2419">2419</a> Properties nodeFilters) <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException, RundeckApiTokenException,
<a class="jxr_linenumber" name="2420" href="#2420">2420</a> IllegalArgumentException, IOException {
<a class="jxr_linenumber" name="2421" href="#2421">2421</a> <strong class="jxr_keyword">return</strong> runAdhocScript(project, script, options, nodeFilters, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="2422" href="#2422">2422</a> }
<a class="jxr_linenumber" name="2423" href="#2423">2423</a>
<a class="jxr_linenumber" name="2424" href="#2424">2424</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2425" href="#2425">2425</a> <em class="jxr_javadoccomment"> * Run an ad-hoc script, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck</em>
<a class="jxr_linenumber" name="2426" href="#2426">2426</a> <em class="jxr_javadoccomment"> * server at regular interval (configured by the poolingInterval/poolingUnit couple) to know if the execution is</em>
<a class="jxr_linenumber" name="2427" href="#2427">2427</a> <em class="jxr_javadoccomment"> * finished (or aborted) or is still running. The script will be dispatched to nodes, accordingly to the nodeFilters</em>
<a class="jxr_linenumber" name="2428" href="#2428">2428</a> <em class="jxr_javadoccomment"> * parameter.</em>
<a class="jxr_linenumber" name="2429" href="#2429">2429</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="2430" href="#2430">2430</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="2431" href="#2431">2431</a> <em class="jxr_javadoccomment"> * @param script inputStream for reading the script to be executed - mandatory</em>
<a class="jxr_linenumber" name="2432" href="#2432">2432</a> <em class="jxr_javadoccomment"> * @param options of the script - optional. See {@link OptionsBuilder}.</em>
<a class="jxr_linenumber" name="2433" href="#2433">2433</a> <em class="jxr_javadoccomment"> * @param nodeFilters for selecting nodes on which the script will be executed. See {@link NodeFiltersBuilder}</em>
<a class="jxr_linenumber" name="2434" href="#2434">2434</a> <em class="jxr_javadoccomment"> * @param poolingInterval for checking the status of the execution. Must be &gt; 0.</em>
<a class="jxr_linenumber" name="2435" href="#2435">2435</a> <em class="jxr_javadoccomment"> * @param poolingUnit unit (seconds, milli-seconds, ...) of the interval. Default to seconds.</em>
<a class="jxr_linenumber" name="2436" href="#2436">2436</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null</em>
<a class="jxr_linenumber" name="2437" href="#2437">2437</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="2438" href="#2438">2438</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="2439" href="#2439">2439</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="2440" href="#2440">2440</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) or the script is null</em>
<a class="jxr_linenumber" name="2441" href="#2441">2441</a> <em class="jxr_javadoccomment"> * @throws IOException if we failed to read the file</em>
<a class="jxr_linenumber" name="2442" href="#2442">2442</a> <em class="jxr_javadoccomment"> * @see #runAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean, long, TimeUnit)</em>
<a class="jxr_linenumber" name="2443" href="#2443">2443</a> <em class="jxr_javadoccomment"> * @see #triggerAdhocScript(String, InputStream, Properties, Properties)</em>
<a class="jxr_linenumber" name="2444" href="#2444">2444</a> <em class="jxr_javadoccomment"> * @deprecated use {@link #runAdhocScript(RunAdhocScript, long, java.util.concurrent.TimeUnit)}, this method will be</em>
<a class="jxr_linenumber" name="2445" href="#2445">2445</a> <em class="jxr_javadoccomment"> * removed in version 10 of this library</em>
<a class="jxr_linenumber" name="2446" href="#2446">2446</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="2447" href="#2447">2447</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> runAdhocScript(String project, InputStream script, Properties options,
<a class="jxr_linenumber" name="2448" href="#2448">2448</a> Properties nodeFilters, <strong class="jxr_keyword">long</strong> poolingInterval, TimeUnit poolingUnit) <strong class="jxr_keyword">throws</strong> RundeckApiException,
<a class="jxr_linenumber" name="2449" href="#2449">2449</a> RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException, IOException {
<a class="jxr_linenumber" name="2450" href="#2450">2450</a> <strong class="jxr_keyword">return</strong> runAdhocScript(project, script, options, nodeFilters, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>, poolingInterval, poolingUnit);
<a class="jxr_linenumber" name="2451" href="#2451">2451</a> }
<a class="jxr_linenumber" name="2452" href="#2452">2452</a>
<a class="jxr_linenumber" name="2453" href="#2453">2453</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2454" href="#2454">2454</a> <em class="jxr_javadoccomment"> * Run an ad-hoc script, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck</em>
<a class="jxr_linenumber" name="2455" href="#2455">2455</a> <em class="jxr_javadoccomment"> * server at regular interval (every 5 seconds) to know if the execution is finished (or aborted) or is still</em>
<a class="jxr_linenumber" name="2456" href="#2456">2456</a> <em class="jxr_javadoccomment"> * running. The script will be dispatched to nodes, accordingly to the nodeFilters parameter.</em>
<a class="jxr_linenumber" name="2457" href="#2457">2457</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="2458" href="#2458">2458</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="2459" href="#2459">2459</a> <em class="jxr_javadoccomment"> * @param script inputStream for reading the script to be executed - mandatory</em>
<a class="jxr_linenumber" name="2460" href="#2460">2460</a> <em class="jxr_javadoccomment"> * @param options of the script - optional. See {@link OptionsBuilder}.</em>
<a class="jxr_linenumber" name="2461" href="#2461">2461</a> <em class="jxr_javadoccomment"> * @param nodeFilters for selecting nodes on which the script will be executed. See {@link NodeFiltersBuilder}</em>
<a class="jxr_linenumber" name="2462" href="#2462">2462</a> <em class="jxr_javadoccomment"> * @param nodeThreadcount thread count to use (for parallelizing when running on multiple nodes) - optional</em>
<a class="jxr_linenumber" name="2463" href="#2463">2463</a> <em class="jxr_javadoccomment"> * @param nodeKeepgoing if true, continue executing on other nodes even if some fail - optional</em>
<a class="jxr_linenumber" name="2464" href="#2464">2464</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null</em>
<a class="jxr_linenumber" name="2465" href="#2465">2465</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="2466" href="#2466">2466</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="2467" href="#2467">2467</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="2468" href="#2468">2468</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) or the script is null</em>
<a class="jxr_linenumber" name="2469" href="#2469">2469</a> <em class="jxr_javadoccomment"> * @throws IOException if we failed to read the file</em>
<a class="jxr_linenumber" name="2470" href="#2470">2470</a> <em class="jxr_javadoccomment"> * @see #runAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean, long, TimeUnit)</em>
<a class="jxr_linenumber" name="2471" href="#2471">2471</a> <em class="jxr_javadoccomment"> * @see #triggerAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean)</em>
<a class="jxr_linenumber" name="2472" href="#2472">2472</a> <em class="jxr_javadoccomment"> * @deprecated use {@link #runAdhocScript(RunAdhocScript)}, this method will be</em>
<a class="jxr_linenumber" name="2473" href="#2473">2473</a> <em class="jxr_javadoccomment"> * removed in version 10 of this library</em>
<a class="jxr_linenumber" name="2474" href="#2474">2474</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="2475" href="#2475">2475</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> runAdhocScript(String project, InputStream script, Properties options,
<a class="jxr_linenumber" name="2476" href="#2476">2476</a> Properties nodeFilters, Integer nodeThreadcount, Boolean nodeKeepgoing) <strong class="jxr_keyword">throws</strong> RundeckApiException,
<a class="jxr_linenumber" name="2477" href="#2477">2477</a> RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException, IOException {
<a class="jxr_linenumber" name="2478" href="#2478">2478</a> <strong class="jxr_keyword">return</strong> runAdhocScript(project,
<a class="jxr_linenumber" name="2479" href="#2479">2479</a> script,
<a class="jxr_linenumber" name="2480" href="#2480">2480</a> options,
<a class="jxr_linenumber" name="2481" href="#2481">2481</a> nodeFilters,
<a class="jxr_linenumber" name="2482" href="#2482">2482</a> nodeThreadcount,
<a class="jxr_linenumber" name="2483" href="#2483">2483</a> nodeKeepgoing,
<a class="jxr_linenumber" name="2484" href="#2484">2484</a> DEFAULT_POOLING_INTERVAL,
<a class="jxr_linenumber" name="2485" href="#2485">2485</a> DEFAULT_POOLING_UNIT);
<a class="jxr_linenumber" name="2486" href="#2486">2486</a> }
<a class="jxr_linenumber" name="2487" href="#2487">2487</a>
<a class="jxr_linenumber" name="2488" href="#2488">2488</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2489" href="#2489">2489</a> <em class="jxr_javadoccomment"> * Run an ad-hoc script, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck</em>
<a class="jxr_linenumber" name="2490" href="#2490">2490</a> <em class="jxr_javadoccomment"> * server at regular interval (every 5 seconds) to know if the execution is finished (or aborted) or is still</em>
<a class="jxr_linenumber" name="2491" href="#2491">2491</a> <em class="jxr_javadoccomment"> * running. The script will be dispatched to nodes, accordingly to the nodeFilters parameter.</em>
<a class="jxr_linenumber" name="2492" href="#2492">2492</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="2493" href="#2493">2493</a> <em class="jxr_javadoccomment"> * @param script the RunAdhocScript, see {@link RunAdhocScriptBuilder}</em>
<a class="jxr_linenumber" name="2494" href="#2494">2494</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null</em>
<a class="jxr_linenumber" name="2495" href="#2495">2495</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="2496" href="#2496">2496</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="2497" href="#2497">2497</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="2498" href="#2498">2498</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) or the script is null</em>
<a class="jxr_linenumber" name="2499" href="#2499">2499</a> <em class="jxr_javadoccomment"> * @throws IOException if we failed to read the file</em>
<a class="jxr_linenumber" name="2500" href="#2500">2500</a> <em class="jxr_javadoccomment"> * @see #runAdhocScript(RunAdhocScript, long, java.util.concurrent.TimeUnit)</em>
<a class="jxr_linenumber" name="2501" href="#2501">2501</a> <em class="jxr_javadoccomment"> * @see #triggerAdhocScript(RunAdhocScript)</em>
<a class="jxr_linenumber" name="2502" href="#2502">2502</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="2503" href="#2503">2503</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> runAdhocScript(<a href="../../../org/rundeck/api/RunAdhocScript.html">RunAdhocScript</a> script) <strong class="jxr_keyword">throws</strong> RundeckApiException,
<a class="jxr_linenumber" name="2504" href="#2504">2504</a> RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException, IOException {
<a class="jxr_linenumber" name="2505" href="#2505">2505</a> <strong class="jxr_keyword">return</strong> runAdhocScript(script,
<a class="jxr_linenumber" name="2506" href="#2506">2506</a> DEFAULT_POOLING_INTERVAL,
<a class="jxr_linenumber" name="2507" href="#2507">2507</a> DEFAULT_POOLING_UNIT);
<a class="jxr_linenumber" name="2508" href="#2508">2508</a> }
<a class="jxr_linenumber" name="2509" href="#2509">2509</a>
<a class="jxr_linenumber" name="2510" href="#2510">2510</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2511" href="#2511">2511</a> <em class="jxr_javadoccomment"> * Run an ad-hoc script, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck</em>
<a class="jxr_linenumber" name="2512" href="#2512">2512</a> <em class="jxr_javadoccomment"> * server at regular interval (configured by the poolingInterval/poolingUnit couple) to know if the execution is</em>
<a class="jxr_linenumber" name="2513" href="#2513">2513</a> <em class="jxr_javadoccomment"> * finished (or aborted) or is still running. The script will be dispatched to nodes, accordingly to the nodeFilters</em>
<a class="jxr_linenumber" name="2514" href="#2514">2514</a> <em class="jxr_javadoccomment"> * parameter.</em>
<a class="jxr_linenumber" name="2515" href="#2515">2515</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="2516" href="#2516">2516</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="2517" href="#2517">2517</a> <em class="jxr_javadoccomment"> * @param script inputStream for reading the script to be executed - mandatory</em>
<a class="jxr_linenumber" name="2518" href="#2518">2518</a> <em class="jxr_javadoccomment"> * @param options of the script - optional. See {@link OptionsBuilder}.</em>
<a class="jxr_linenumber" name="2519" href="#2519">2519</a> <em class="jxr_javadoccomment"> * @param nodeFilters for selecting nodes on which the script will be executed. See {@link NodeFiltersBuilder}</em>
<a class="jxr_linenumber" name="2520" href="#2520">2520</a> <em class="jxr_javadoccomment"> * @param nodeThreadcount thread count to use (for parallelizing when running on multiple nodes) - optional</em>
<a class="jxr_linenumber" name="2521" href="#2521">2521</a> <em class="jxr_javadoccomment"> * @param nodeKeepgoing if true, continue executing on other nodes even if some fail - optional</em>
<a class="jxr_linenumber" name="2522" href="#2522">2522</a> <em class="jxr_javadoccomment"> * @param poolingInterval for checking the status of the execution. Must be &gt; 0.</em>
<a class="jxr_linenumber" name="2523" href="#2523">2523</a> <em class="jxr_javadoccomment"> * @param poolingUnit unit (seconds, milli-seconds, ...) of the interval. Default to seconds.</em>
<a class="jxr_linenumber" name="2524" href="#2524">2524</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null</em>
<a class="jxr_linenumber" name="2525" href="#2525">2525</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="2526" href="#2526">2526</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="2527" href="#2527">2527</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="2528" href="#2528">2528</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) or the script is null</em>
<a class="jxr_linenumber" name="2529" href="#2529">2529</a> <em class="jxr_javadoccomment"> * @throws IOException if we failed to read the file</em>
<a class="jxr_linenumber" name="2530" href="#2530">2530</a> <em class="jxr_javadoccomment"> * @see #runAdhocScript(String, String, Properties, Properties, Integer, Boolean, long, TimeUnit)</em>
<a class="jxr_linenumber" name="2531" href="#2531">2531</a> <em class="jxr_javadoccomment"> * @see #triggerAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean)</em>
<a class="jxr_linenumber" name="2532" href="#2532">2532</a> <em class="jxr_javadoccomment"> * @deprecated use {@link #runAdhocScript(RunAdhocScript, long, java.util.concurrent.TimeUnit)}, this method will be</em>
<a class="jxr_linenumber" name="2533" href="#2533">2533</a> <em class="jxr_javadoccomment"> * removed in version 10 of this library</em>
<a class="jxr_linenumber" name="2534" href="#2534">2534</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="2535" href="#2535">2535</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> runAdhocScript(String project, InputStream script, Properties options,
<a class="jxr_linenumber" name="2536" href="#2536">2536</a> Properties nodeFilters, Integer nodeThreadcount, Boolean nodeKeepgoing, <strong class="jxr_keyword">long</strong> poolingInterval,
<a class="jxr_linenumber" name="2537" href="#2537">2537</a> TimeUnit poolingUnit) <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException, RundeckApiTokenException,
<a class="jxr_linenumber" name="2538" href="#2538">2538</a> IllegalArgumentException {
<a class="jxr_linenumber" name="2539" href="#2539">2539</a> <strong class="jxr_keyword">return</strong> runAdhocScript(project, script, options, nodeFilters, nodeThreadcount, nodeKeepgoing, <strong class="jxr_keyword">null</strong>, poolingInterval, poolingUnit);
<a class="jxr_linenumber" name="2540" href="#2540">2540</a> }
<a class="jxr_linenumber" name="2541" href="#2541">2541</a>
<a class="jxr_linenumber" name="2542" href="#2542">2542</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2543" href="#2543">2543</a> <em class="jxr_javadoccomment"> * Run an ad-hoc script, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck</em>
<a class="jxr_linenumber" name="2544" href="#2544">2544</a> <em class="jxr_javadoccomment"> * server at regular interval (configured by the poolingInterval/poolingUnit couple) to know if the execution is</em>
<a class="jxr_linenumber" name="2545" href="#2545">2545</a> <em class="jxr_javadoccomment"> * finished (or aborted) or is still running. The script will be dispatched to nodes, accordingly to the nodeFilters</em>
<a class="jxr_linenumber" name="2546" href="#2546">2546</a> <em class="jxr_javadoccomment"> * parameter.</em>
<a class="jxr_linenumber" name="2547" href="#2547">2547</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="2548" href="#2548">2548</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="2549" href="#2549">2549</a> <em class="jxr_javadoccomment"> * @param script inputStream for reading the script to be executed - mandatory</em>
<a class="jxr_linenumber" name="2550" href="#2550">2550</a> <em class="jxr_javadoccomment"> * @param options of the script - optional. See {@link OptionsBuilder}.</em>
<a class="jxr_linenumber" name="2551" href="#2551">2551</a> <em class="jxr_javadoccomment"> * @param nodeFilters for selecting nodes on which the script will be executed. See {@link NodeFiltersBuilder}</em>
<a class="jxr_linenumber" name="2552" href="#2552">2552</a> <em class="jxr_javadoccomment"> * @param nodeThreadcount thread count to use (for parallelizing when running on multiple nodes) - optional</em>
<a class="jxr_linenumber" name="2553" href="#2553">2553</a> <em class="jxr_javadoccomment"> * @param nodeKeepgoing if true, continue executing on other nodes even if some fail - optional</em>
<a class="jxr_linenumber" name="2554" href="#2554">2554</a> <em class="jxr_javadoccomment"> * @param poolingInterval for checking the status of the execution. Must be &gt; 0.</em>
<a class="jxr_linenumber" name="2555" href="#2555">2555</a> <em class="jxr_javadoccomment"> * @param poolingUnit unit (seconds, milli-seconds, ...) of the interval. Default to seconds.</em>
<a class="jxr_linenumber" name="2556" href="#2556">2556</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="2557" href="#2557">2557</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null</em>
<a class="jxr_linenumber" name="2558" href="#2558">2558</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="2559" href="#2559">2559</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="2560" href="#2560">2560</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="2561" href="#2561">2561</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="2562" href="#2562">2562</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) or the script is null</em>
<a class="jxr_linenumber" name="2563" href="#2563">2563</a> <em class="jxr_javadoccomment"> * @throws IOException if we failed to read the file</em>
<a class="jxr_linenumber" name="2564" href="#2564">2564</a> <em class="jxr_javadoccomment"> * @see #runAdhocScript(String, String, Properties, Properties, Integer, Boolean, long, TimeUnit)</em>
<a class="jxr_linenumber" name="2565" href="#2565">2565</a> <em class="jxr_javadoccomment"> * @see #triggerAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean)</em>
<a class="jxr_linenumber" name="2566" href="#2566">2566</a> <em class="jxr_javadoccomment"> * @deprecated use {@link #runAdhocScript(RunAdhocScript, long, java.util.concurrent.TimeUnit)}, this method will be</em>
<a class="jxr_linenumber" name="2567" href="#2567">2567</a> <em class="jxr_javadoccomment"> * removed in version 10 of this library</em>
<a class="jxr_linenumber" name="2568" href="#2568">2568</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="2569" href="#2569">2569</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> runAdhocScript(String project, InputStream script, Properties options,
<a class="jxr_linenumber" name="2570" href="#2570">2570</a> Properties nodeFilters, Integer nodeThreadcount, Boolean nodeKeepgoing, String asUser, <strong class="jxr_keyword">long</strong> poolingInterval,
<a class="jxr_linenumber" name="2571" href="#2571">2571</a> TimeUnit poolingUnit) <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException, RundeckApiTokenException,
<a class="jxr_linenumber" name="2572" href="#2572">2572</a> IllegalArgumentException {
<a class="jxr_linenumber" name="2573" href="#2573">2573</a> <strong class="jxr_keyword">return</strong> runAdhocScript(RunAdhocScriptBuilder.builder()
<a class="jxr_linenumber" name="2574" href="#2574">2574</a> .setProject(project)
<a class="jxr_linenumber" name="2575" href="#2575">2575</a> .setScript(script)
<a class="jxr_linenumber" name="2576" href="#2576">2576</a> .setNodeFilters(nodeFilters)
<a class="jxr_linenumber" name="2577" href="#2577">2577</a> .setArgString(ParametersUtil.generateArgString(options))
<a class="jxr_linenumber" name="2578" href="#2578">2578</a> .setNodeThreadcount(nodeThreadcount)
<a class="jxr_linenumber" name="2579" href="#2579">2579</a> .setNodeKeepgoing(nodeKeepgoing)
<a class="jxr_linenumber" name="2580" href="#2580">2580</a> .setAsUser(asUser)
<a class="jxr_linenumber" name="2581" href="#2581">2581</a> .build(), poolingInterval, poolingUnit);
<a class="jxr_linenumber" name="2582" href="#2582">2582</a> }
<a class="jxr_linenumber" name="2583" href="#2583">2583</a>
<a class="jxr_linenumber" name="2584" href="#2584">2584</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2585" href="#2585">2585</a> <em class="jxr_javadoccomment"> * Run an ad-hoc script read from a file, and wait until its execution is finished (or aborted) to return. We will</em>
<a class="jxr_linenumber" name="2586" href="#2586">2586</a> <em class="jxr_javadoccomment"> * poll the RunDeck server at regular interval (configured by the poolingInterval/poolingUnit couple) to know if the</em>
<a class="jxr_linenumber" name="2587" href="#2587">2587</a> <em class="jxr_javadoccomment"> * execution is finished (or aborted) or is still running. The script will be dispatched to nodes, accordingly to</em>
<a class="jxr_linenumber" name="2588" href="#2588">2588</a> <em class="jxr_javadoccomment"> * the nodeFilters parameter.</em>
<a class="jxr_linenumber" name="2589" href="#2589">2589</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="2590" href="#2590">2590</a> <em class="jxr_javadoccomment"> * @param script the RunAdhocScript, see {@link RunAdhocScriptBuilder}</em>
<a class="jxr_linenumber" name="2591" href="#2591">2591</a> <em class="jxr_javadoccomment"> * @param scriptFilename filename of a script to read</em>
<a class="jxr_linenumber" name="2592" href="#2592">2592</a> <em class="jxr_javadoccomment"> * @param poolingInterval for checking the status of the execution. Must be &gt; 0.</em>
<a class="jxr_linenumber" name="2593" href="#2593">2593</a> <em class="jxr_javadoccomment"> * @param poolingUnit unit (seconds, milli-seconds, ...) of the interval. Default to seconds.</em>
<a class="jxr_linenumber" name="2594" href="#2594">2594</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="2595" href="#2595">2595</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null</em>
<a class="jxr_linenumber" name="2596" href="#2596">2596</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="2597" href="#2597">2597</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="2598" href="#2598">2598</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="2599" href="#2599">2599</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="2600" href="#2600">2600</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) or the script is null</em>
<a class="jxr_linenumber" name="2601" href="#2601">2601</a> <em class="jxr_javadoccomment"> * @throws IOException if we failed to read the file</em>
<a class="jxr_linenumber" name="2602" href="#2602">2602</a> <em class="jxr_javadoccomment"> * @see #runAdhocScript(RunAdhocScript)</em>
<a class="jxr_linenumber" name="2603" href="#2603">2603</a> <em class="jxr_javadoccomment"> * @see #triggerAdhocScript(RunAdhocScript, String)</em>
<a class="jxr_linenumber" name="2604" href="#2604">2604</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="2605" href="#2605">2605</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> runAdhocScript(<strong class="jxr_keyword">final</strong> <a href="../../../org/rundeck/api/RunAdhocScript.html">RunAdhocScript</a> script, <strong class="jxr_keyword">final</strong> String scriptFilename,
<a class="jxr_linenumber" name="2606" href="#2606">2606</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> poolingInterval, <strong class="jxr_keyword">final</strong> TimeUnit poolingUnit) <strong class="jxr_keyword">throws</strong> RundeckApiException,
<a class="jxr_linenumber" name="2607" href="#2607">2607</a> RundeckApiLoginException, RundeckApiTokenException,
<a class="jxr_linenumber" name="2608" href="#2608">2608</a> IllegalArgumentException, IOException {
<a class="jxr_linenumber" name="2609" href="#2609">2609</a> FileInputStream stream = <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="2610" href="#2610">2610</a> <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="2611" href="#2611">2611</a> stream = FileUtils.openInputStream(<strong class="jxr_keyword">new</strong> File(scriptFilename));
<a class="jxr_linenumber" name="2612" href="#2612">2612</a> <strong class="jxr_keyword">return</strong> runAdhocScript(RunAdhocScriptBuilder.builder(script)
<a class="jxr_linenumber" name="2613" href="#2613">2613</a> .setScript(stream)
<a class="jxr_linenumber" name="2614" href="#2614">2614</a> .build(), poolingInterval, poolingUnit);
<a class="jxr_linenumber" name="2615" href="#2615">2615</a> } <strong class="jxr_keyword">finally</strong> {
<a class="jxr_linenumber" name="2616" href="#2616">2616</a> IOUtils.closeQuietly(stream);
<a class="jxr_linenumber" name="2617" href="#2617">2617</a> }
<a class="jxr_linenumber" name="2618" href="#2618">2618</a> }
<a class="jxr_linenumber" name="2619" href="#2619">2619</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2620" href="#2620">2620</a> <em class="jxr_javadoccomment"> * Run an ad-hoc script, and wait until its execution is finished (or aborted) to return. We will poll the RunDeck</em>
<a class="jxr_linenumber" name="2621" href="#2621">2621</a> <em class="jxr_javadoccomment"> * server at regular interval (configured by the poolingInterval/poolingUnit couple) to know if the execution is</em>
<a class="jxr_linenumber" name="2622" href="#2622">2622</a> <em class="jxr_javadoccomment"> * finished (or aborted) or is still running. The script will be dispatched to nodes, accordingly to the nodeFilters</em>
<a class="jxr_linenumber" name="2623" href="#2623">2623</a> <em class="jxr_javadoccomment"> * parameter.</em>
<a class="jxr_linenumber" name="2624" href="#2624">2624</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="2625" href="#2625">2625</a> <em class="jxr_javadoccomment"> * @param script the RunAdhocScript, see {@link RunAdhocScriptBuilder}</em>
<a class="jxr_linenumber" name="2626" href="#2626">2626</a> <em class="jxr_javadoccomment"> * @param poolingInterval for checking the status of the execution. Must be &gt; 0.</em>
<a class="jxr_linenumber" name="2627" href="#2627">2627</a> <em class="jxr_javadoccomment"> * @param poolingUnit unit (seconds, milli-seconds, ...) of the interval. Default to seconds.</em>
<a class="jxr_linenumber" name="2628" href="#2628">2628</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance for the (finished/aborted) execution - won't be null</em>
<a class="jxr_linenumber" name="2629" href="#2629">2629</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="2630" href="#2630">2630</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="2631" href="#2631">2631</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="2632" href="#2632">2632</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project is blank (null, empty or whitespace) or the script is null</em>
<a class="jxr_linenumber" name="2633" href="#2633">2633</a> <em class="jxr_javadoccomment"> * @throws IOException if we failed to read the file</em>
<a class="jxr_linenumber" name="2634" href="#2634">2634</a> <em class="jxr_javadoccomment"> * @see #runAdhocScript(String, String, Properties, Properties, Integer, Boolean, long, TimeUnit)</em>
<a class="jxr_linenumber" name="2635" href="#2635">2635</a> <em class="jxr_javadoccomment"> * @see #triggerAdhocScript(String, InputStream, Properties, Properties, Integer, Boolean)</em>
<a class="jxr_linenumber" name="2636" href="#2636">2636</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="2637" href="#2637">2637</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> runAdhocScript(<strong class="jxr_keyword">final</strong> <a href="../../../org/rundeck/api/RunAdhocScript.html">RunAdhocScript</a> script, <strong class="jxr_keyword">long</strong> poolingInterval,
<a class="jxr_linenumber" name="2638" href="#2638">2638</a> TimeUnit poolingUnit) <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException, RundeckApiTokenException,
<a class="jxr_linenumber" name="2639" href="#2639">2639</a> IllegalArgumentException {
<a class="jxr_linenumber" name="2640" href="#2640">2640</a> <strong class="jxr_keyword">if</strong> (poolingInterval &lt;= 0) {
<a class="jxr_linenumber" name="2641" href="#2641">2641</a> poolingInterval = DEFAULT_POOLING_INTERVAL;
<a class="jxr_linenumber" name="2642" href="#2642">2642</a> poolingUnit = DEFAULT_POOLING_UNIT;
<a class="jxr_linenumber" name="2643" href="#2643">2643</a> }
<a class="jxr_linenumber" name="2644" href="#2644">2644</a> <strong class="jxr_keyword">if</strong> (poolingUnit == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="2645" href="#2645">2645</a> poolingUnit = DEFAULT_POOLING_UNIT;
<a class="jxr_linenumber" name="2646" href="#2646">2646</a> }
<a class="jxr_linenumber" name="2647" href="#2647">2647</a>
<a class="jxr_linenumber" name="2648" href="#2648">2648</a> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> execution = triggerAdhocScript(script);
<a class="jxr_linenumber" name="2649" href="#2649">2649</a> <strong class="jxr_keyword">while</strong> (ExecutionStatus.RUNNING.equals(execution.getStatus())) {
<a class="jxr_linenumber" name="2650" href="#2650">2650</a> <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="2651" href="#2651">2651</a> Thread.sleep(poolingUnit.toMillis(poolingInterval));
<a class="jxr_linenumber" name="2652" href="#2652">2652</a> } <strong class="jxr_keyword">catch</strong> (InterruptedException e) {
<a class="jxr_linenumber" name="2653" href="#2653">2653</a> <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="2654" href="#2654">2654</a> }
<a class="jxr_linenumber" name="2655" href="#2655">2655</a> execution = getExecution(execution.getId());
<a class="jxr_linenumber" name="2656" href="#2656">2656</a> }
<a class="jxr_linenumber" name="2657" href="#2657">2657</a> <strong class="jxr_keyword">return</strong> execution;
<a class="jxr_linenumber" name="2658" href="#2658">2658</a> }
<a class="jxr_linenumber" name="2659" href="#2659">2659</a>
<a class="jxr_linenumber" name="2660" href="#2660">2660</a> <em class="jxr_comment">/*</em>
<a class="jxr_linenumber" name="2661" href="#2661">2661</a> <em class="jxr_comment"> * Executions</em>
<a class="jxr_linenumber" name="2662" href="#2662">2662</a> <em class="jxr_comment"> */</em>
<a class="jxr_linenumber" name="2663" href="#2663">2663</a>
<a class="jxr_linenumber" name="2664" href="#2664">2664</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2665" href="#2665">2665</a> <em class="jxr_javadoccomment"> * Get all running executions (for all projects)</em>
<a class="jxr_linenumber" name="2666" href="#2666">2666</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="2667" href="#2667">2667</a> <em class="jxr_javadoccomment"> * @return a {@link List} of {@link RundeckExecution} : might be empty, but won't be null</em>
<a class="jxr_linenumber" name="2668" href="#2668">2668</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API</em>
<a class="jxr_linenumber" name="2669" href="#2669">2669</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="2670" href="#2670">2670</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="2671" href="#2671">2671</a> <em class="jxr_javadoccomment"> * @see #getRunningExecutions(String)</em>
<a class="jxr_linenumber" name="2672" href="#2672">2672</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="2673" href="#2673">2673</a> <strong class="jxr_keyword">public</strong> List&lt;RundeckExecution&gt; getRunningExecutions() <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException,
<a class="jxr_linenumber" name="2674" href="#2674">2674</a> <a href="../../../org/rundeck/api/RundeckApiException.html">RundeckApiTokenException</a> {
<a class="jxr_linenumber" name="2675" href="#2675">2675</a> <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">this</strong>.getApiVersion() &gt;= Version.V9.getVersionNumber()) {
<a class="jxr_linenumber" name="2676" href="#2676">2676</a> <em class="jxr_comment">//simply query using '*'</em>
<a class="jxr_linenumber" name="2677" href="#2677">2677</a> <strong class="jxr_keyword">return</strong> getRunningExecutions(<span class="jxr_string">"*"</span>);
<a class="jxr_linenumber" name="2678" href="#2678">2678</a> } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="2679" href="#2679">2679</a> List&lt;RundeckExecution&gt; executions = <strong class="jxr_keyword">new</strong> ArrayList&lt;RundeckExecution&gt;();
<a class="jxr_linenumber" name="2680" href="#2680">2680</a> <strong class="jxr_keyword">for</strong> (RundeckProject project : getProjects()) {
<a class="jxr_linenumber" name="2681" href="#2681">2681</a> executions.addAll(getRunningExecutions(project.getName()));
<a class="jxr_linenumber" name="2682" href="#2682">2682</a> }
<a class="jxr_linenumber" name="2683" href="#2683">2683</a> <strong class="jxr_keyword">return</strong> executions;
<a class="jxr_linenumber" name="2684" href="#2684">2684</a> }
<a class="jxr_linenumber" name="2685" href="#2685">2685</a> }
<a class="jxr_linenumber" name="2686" href="#2686">2686</a>
<a class="jxr_linenumber" name="2687" href="#2687">2687</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2688" href="#2688">2688</a> <em class="jxr_javadoccomment"> * Get the running executions for the given project</em>
<a class="jxr_linenumber" name="2689" href="#2689">2689</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="2690" href="#2690">2690</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="2691" href="#2691">2691</a> <em class="jxr_javadoccomment"> * @return a {@link List} of {@link RundeckExecution} : might be empty, but won't be null</em>
<a class="jxr_linenumber" name="2692" href="#2692">2692</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="2693" href="#2693">2693</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="2694" href="#2694">2694</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="2695" href="#2695">2695</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="2696" href="#2696">2696</a> <em class="jxr_javadoccomment"> * @see #getRunningExecutions()</em>
<a class="jxr_linenumber" name="2697" href="#2697">2697</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="2698" href="#2698">2698</a> <strong class="jxr_keyword">public</strong> List&lt;RundeckExecution&gt; getRunningExecutions(String project) <strong class="jxr_keyword">throws</strong> RundeckApiException,
<a class="jxr_linenumber" name="2699" href="#2699">2699</a> RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="2700" href="#2700">2700</a> AssertUtil.notBlank(project, <span class="jxr_string">"project is mandatory get all running executions !"</span>);
<a class="jxr_linenumber" name="2701" href="#2701">2701</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/ApiCall.html">ApiCall</a>(<strong class="jxr_keyword">this</strong>).get(<strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/ApiPathBuilder.html">ApiPathBuilder</a>(<span class="jxr_string">"/executions/running"</span>).param(<span class="jxr_string">"project"</span>, project),
<a class="jxr_linenumber" name="2702" href="#2702">2702</a> <strong class="jxr_keyword">new</strong> ListParser&lt;RundeckExecution&gt;(<strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/parser/ExecutionParser.html">ExecutionParser</a>(),
<a class="jxr_linenumber" name="2703" href="#2703">2703</a> <span class="jxr_string">"result/executions/execution"</span>));
<a class="jxr_linenumber" name="2704" href="#2704">2704</a> }
<a class="jxr_linenumber" name="2705" href="#2705">2705</a>
<a class="jxr_linenumber" name="2706" href="#2706">2706</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2707" href="#2707">2707</a> <em class="jxr_javadoccomment"> * Get the executions of the given job</em>
<a class="jxr_linenumber" name="2708" href="#2708">2708</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="2709" href="#2709">2709</a> <em class="jxr_javadoccomment"> * @param jobId identifier of the job - mandatory</em>
<a class="jxr_linenumber" name="2710" href="#2710">2710</a> <em class="jxr_javadoccomment"> * @return a {@link List} of {@link RundeckExecution} : might be empty, but won't be null</em>
<a class="jxr_linenumber" name="2711" href="#2711">2711</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID)</em>
<a class="jxr_linenumber" name="2712" href="#2712">2712</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="2713" href="#2713">2713</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="2714" href="#2714">2714</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the jobId is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="2715" href="#2715">2715</a> <em class="jxr_javadoccomment"> * @see #getJobExecutions(String, RundeckExecution.ExecutionStatus, Long, Long)</em>
<a class="jxr_linenumber" name="2716" href="#2716">2716</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="2717" href="#2717">2717</a> <strong class="jxr_keyword">public</strong> List&lt;RundeckExecution&gt; getJobExecutions(String jobId) <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException,
<a class="jxr_linenumber" name="2718" href="#2718">2718</a> RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="2719" href="#2719">2719</a> <strong class="jxr_keyword">return</strong> getJobExecutions(jobId, (ExecutionStatus) <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="2720" href="#2720">2720</a> }
<a class="jxr_linenumber" name="2721" href="#2721">2721</a>
<a class="jxr_linenumber" name="2722" href="#2722">2722</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2723" href="#2723">2723</a> <em class="jxr_javadoccomment"> * Get the executions of the given job</em>
<a class="jxr_linenumber" name="2724" href="#2724">2724</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="2725" href="#2725">2725</a> <em class="jxr_javadoccomment"> * @param jobId identifier of the job - mandatory</em>
<a class="jxr_linenumber" name="2726" href="#2726">2726</a> <em class="jxr_javadoccomment"> * @param status of the executions, see {@link ExecutionStatus} - optional (null for all)</em>
<a class="jxr_linenumber" name="2727" href="#2727">2727</a> <em class="jxr_javadoccomment"> * @return a {@link List} of {@link RundeckExecution} : might be empty, but won't be null</em>
<a class="jxr_linenumber" name="2728" href="#2728">2728</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID)</em>
<a class="jxr_linenumber" name="2729" href="#2729">2729</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="2730" href="#2730">2730</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="2731" href="#2731">2731</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the jobId is blank (null, empty or whitespace), or the executionStatus is</em>
<a class="jxr_linenumber" name="2732" href="#2732">2732</a> <em class="jxr_javadoccomment"> * invalid</em>
<a class="jxr_linenumber" name="2733" href="#2733">2733</a> <em class="jxr_javadoccomment"> * @see #getJobExecutions(String, String, Long, Long)</em>
<a class="jxr_linenumber" name="2734" href="#2734">2734</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="2735" href="#2735">2735</a> <strong class="jxr_keyword">public</strong> List&lt;RundeckExecution&gt; getJobExecutions(String jobId, String status) <strong class="jxr_keyword">throws</strong> RundeckApiException,
<a class="jxr_linenumber" name="2736" href="#2736">2736</a> RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="2737" href="#2737">2737</a> <strong class="jxr_keyword">return</strong> getJobExecutions(jobId,
<a class="jxr_linenumber" name="2738" href="#2738">2738</a> StringUtils.isBlank(status) ? <strong class="jxr_keyword">null</strong> : ExecutionStatus.valueOf(StringUtils.upperCase(status)));
<a class="jxr_linenumber" name="2739" href="#2739">2739</a> }
<a class="jxr_linenumber" name="2740" href="#2740">2740</a>
<a class="jxr_linenumber" name="2741" href="#2741">2741</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2742" href="#2742">2742</a> <em class="jxr_javadoccomment"> * Get the executions of the given job</em>
<a class="jxr_linenumber" name="2743" href="#2743">2743</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="2744" href="#2744">2744</a> <em class="jxr_javadoccomment"> * @param jobId identifier of the job - mandatory</em>
<a class="jxr_linenumber" name="2745" href="#2745">2745</a> <em class="jxr_javadoccomment"> * @param status of the executions, see {@link ExecutionStatus} - optional (null for all)</em>
<a class="jxr_linenumber" name="2746" href="#2746">2746</a> <em class="jxr_javadoccomment"> * @return a {@link List} of {@link RundeckExecution} : might be empty, but won't be null</em>
<a class="jxr_linenumber" name="2747" href="#2747">2747</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID)</em>
<a class="jxr_linenumber" name="2748" href="#2748">2748</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="2749" href="#2749">2749</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="2750" href="#2750">2750</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the jobId is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="2751" href="#2751">2751</a> <em class="jxr_javadoccomment"> * @see #getJobExecutions(String, RundeckExecution.ExecutionStatus, Long, Long)</em>
<a class="jxr_linenumber" name="2752" href="#2752">2752</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="2753" href="#2753">2753</a> <strong class="jxr_keyword">public</strong> List&lt;RundeckExecution&gt; getJobExecutions(String jobId, <a href="../../../org/rundeck/api/domain/RundeckExecution.html">ExecutionStatus</a> status) <strong class="jxr_keyword">throws</strong> RundeckApiException,
<a class="jxr_linenumber" name="2754" href="#2754">2754</a> RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="2755" href="#2755">2755</a> <strong class="jxr_keyword">return</strong> getJobExecutions(jobId, status, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="2756" href="#2756">2756</a> }
<a class="jxr_linenumber" name="2757" href="#2757">2757</a>
<a class="jxr_linenumber" name="2758" href="#2758">2758</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2759" href="#2759">2759</a> <em class="jxr_javadoccomment"> * Get the executions of the given job</em>
<a class="jxr_linenumber" name="2760" href="#2760">2760</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="2761" href="#2761">2761</a> <em class="jxr_javadoccomment"> * @param jobId identifier of the job - mandatory</em>
<a class="jxr_linenumber" name="2762" href="#2762">2762</a> <em class="jxr_javadoccomment"> * @param status of the executions, see {@link ExecutionStatus} - optional (null for all)</em>
<a class="jxr_linenumber" name="2763" href="#2763">2763</a> <em class="jxr_javadoccomment"> * @param max number of results to return - optional (null for all)</em>
<a class="jxr_linenumber" name="2764" href="#2764">2764</a> <em class="jxr_javadoccomment"> * @param offset the 0-indexed offset for the first result to return - optional</em>
<a class="jxr_linenumber" name="2765" href="#2765">2765</a> <em class="jxr_javadoccomment"> * @return a {@link List} of {@link RundeckExecution} : might be empty, but won't be null</em>
<a class="jxr_linenumber" name="2766" href="#2766">2766</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID)</em>
<a class="jxr_linenumber" name="2767" href="#2767">2767</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="2768" href="#2768">2768</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="2769" href="#2769">2769</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the jobId is blank (null, empty or whitespace), or the executionStatus is</em>
<a class="jxr_linenumber" name="2770" href="#2770">2770</a> <em class="jxr_javadoccomment"> * invalid</em>
<a class="jxr_linenumber" name="2771" href="#2771">2771</a> <em class="jxr_javadoccomment"> * @see #getJobExecutions(String, RundeckExecution.ExecutionStatus, Long, Long)</em>
<a class="jxr_linenumber" name="2772" href="#2772">2772</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="2773" href="#2773">2773</a> <strong class="jxr_keyword">public</strong> List&lt;RundeckExecution&gt; getJobExecutions(String jobId, String status, Long max, Long offset)
<a class="jxr_linenumber" name="2774" href="#2774">2774</a> <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="2775" href="#2775">2775</a> <strong class="jxr_keyword">return</strong> getJobExecutions(jobId,
<a class="jxr_linenumber" name="2776" href="#2776">2776</a> StringUtils.isBlank(status) ? <strong class="jxr_keyword">null</strong> : ExecutionStatus.valueOf(StringUtils.upperCase(status)),
<a class="jxr_linenumber" name="2777" href="#2777">2777</a> max,
<a class="jxr_linenumber" name="2778" href="#2778">2778</a> offset);
<a class="jxr_linenumber" name="2779" href="#2779">2779</a> }
<a class="jxr_linenumber" name="2780" href="#2780">2780</a>
<a class="jxr_linenumber" name="2781" href="#2781">2781</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2782" href="#2782">2782</a> <em class="jxr_javadoccomment"> * Get the executions of the given job</em>
<a class="jxr_linenumber" name="2783" href="#2783">2783</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="2784" href="#2784">2784</a> <em class="jxr_javadoccomment"> * @param jobId identifier of the job - mandatory</em>
<a class="jxr_linenumber" name="2785" href="#2785">2785</a> <em class="jxr_javadoccomment"> * @param status of the executions, see {@link ExecutionStatus} - optional (null for all)</em>
<a class="jxr_linenumber" name="2786" href="#2786">2786</a> <em class="jxr_javadoccomment"> * @param max number of results to return - optional (null for all)</em>
<a class="jxr_linenumber" name="2787" href="#2787">2787</a> <em class="jxr_javadoccomment"> * @param offset the 0-indexed offset for the first result to return - optional</em>
<a class="jxr_linenumber" name="2788" href="#2788">2788</a> <em class="jxr_javadoccomment"> * @return a {@link List} of {@link RundeckExecution} : might be empty, but won't be null</em>
<a class="jxr_linenumber" name="2789" href="#2789">2789</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID)</em>
<a class="jxr_linenumber" name="2790" href="#2790">2790</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="2791" href="#2791">2791</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="2792" href="#2792">2792</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the jobId is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="2793" href="#2793">2793</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="2794" href="#2794">2794</a> <strong class="jxr_keyword">public</strong> List&lt;RundeckExecution&gt; getJobExecutions(String jobId, <a href="../../../org/rundeck/api/domain/RundeckExecution.html">ExecutionStatus</a> status, Long max, Long offset)
<a class="jxr_linenumber" name="2795" href="#2795">2795</a> <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="2796" href="#2796">2796</a> AssertUtil.notBlank(jobId, <span class="jxr_string">"jobId is mandatory to get the executions of a job !"</span>);
<a class="jxr_linenumber" name="2797" href="#2797">2797</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/ApiCall.html">ApiCall</a>(<strong class="jxr_keyword">this</strong>).get(<strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/ApiPathBuilder.html">ApiPathBuilder</a>(<span class="jxr_string">"/job/"</span>, jobId, <span class="jxr_string">"/executions"</span>).param(<span class="jxr_string">"status"</span>, status)
<a class="jxr_linenumber" name="2798" href="#2798">2798</a> .param(<span class="jxr_string">"max"</span>, max)
<a class="jxr_linenumber" name="2799" href="#2799">2799</a> .param(<span class="jxr_string">"offset"</span>, offset),
<a class="jxr_linenumber" name="2800" href="#2800">2800</a> <strong class="jxr_keyword">new</strong> ListParser&lt;RundeckExecution&gt;(<strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/parser/ExecutionParser.html">ExecutionParser</a>(),
<a class="jxr_linenumber" name="2801" href="#2801">2801</a> <span class="jxr_string">"result/executions/execution"</span>));
<a class="jxr_linenumber" name="2802" href="#2802">2802</a> }
<a class="jxr_linenumber" name="2803" href="#2803">2803</a>
<a class="jxr_linenumber" name="2804" href="#2804">2804</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2805" href="#2805">2805</a> <em class="jxr_javadoccomment"> * Get executions based on query parameters</em>
<a class="jxr_linenumber" name="2806" href="#2806">2806</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="2807" href="#2807">2807</a> <em class="jxr_javadoccomment"> * @param query query parameters for the request</em>
<a class="jxr_linenumber" name="2808" href="#2808">2808</a> <em class="jxr_javadoccomment"> * @param max number of results to return - optional (null for all)</em>
<a class="jxr_linenumber" name="2809" href="#2809">2809</a> <em class="jxr_javadoccomment"> * @param offset the 0-indexed offset for the first result to return - optional</em>
<a class="jxr_linenumber" name="2810" href="#2810">2810</a> <em class="jxr_javadoccomment"> * @return a {@link List} of {@link RundeckExecution} : might be empty, but won't be null</em>
<a class="jxr_linenumber" name="2811" href="#2811">2811</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID)</em>
<a class="jxr_linenumber" name="2812" href="#2812">2812</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="2813" href="#2813">2813</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="2814" href="#2814">2814</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the jobId is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="2815" href="#2815">2815</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="2816" href="#2816">2816</a> <strong class="jxr_keyword">public</strong> PagedResults&lt;RundeckExecution&gt; getExecutions(<a href="../../../org/rundeck/api/query/ExecutionQuery.html">ExecutionQuery</a> query, Long max, Long offset)
<a class="jxr_linenumber" name="2817" href="#2817">2817</a> <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="2818" href="#2818">2818</a> <strong class="jxr_keyword">if</strong> (!query.notBlank()) {
<a class="jxr_linenumber" name="2819" href="#2819">2819</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"Some execution query parameter must be set"</span>);
<a class="jxr_linenumber" name="2820" href="#2820">2820</a> }
<a class="jxr_linenumber" name="2821" href="#2821">2821</a> AssertUtil.notBlank(query.getProject(), <span class="jxr_string">"project is required for execution query"</span>);
<a class="jxr_linenumber" name="2822" href="#2822">2822</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/ApiCall.html">ApiCall</a>(<strong class="jxr_keyword">this</strong>).get(<strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/ApiPathBuilder.html">ApiPathBuilder</a>(<span class="jxr_string">"/executions"</span>)
<a class="jxr_linenumber" name="2823" href="#2823">2823</a> .param(<strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/ExecutionQueryParameters.html">ExecutionQueryParameters</a>(query))
<a class="jxr_linenumber" name="2824" href="#2824">2824</a> .param(<span class="jxr_string">"max"</span>, max)
<a class="jxr_linenumber" name="2825" href="#2825">2825</a> .param(<span class="jxr_string">"offset"</span>, offset),
<a class="jxr_linenumber" name="2826" href="#2826">2826</a> <strong class="jxr_keyword">new</strong> PagedResultParser&lt;RundeckExecution&gt;(
<a class="jxr_linenumber" name="2827" href="#2827">2827</a> <strong class="jxr_keyword">new</strong> ListParser&lt;RundeckExecution&gt;(<strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/parser/ExecutionParser.html">ExecutionParser</a>(), <span class="jxr_string">"execution"</span>),
<a class="jxr_linenumber" name="2828" href="#2828">2828</a> <span class="jxr_string">"result/executions"</span>
<a class="jxr_linenumber" name="2829" href="#2829">2829</a> )
<a class="jxr_linenumber" name="2830" href="#2830">2830</a> );
<a class="jxr_linenumber" name="2831" href="#2831">2831</a> }
<a class="jxr_linenumber" name="2832" href="#2832">2832</a>
<a class="jxr_linenumber" name="2833" href="#2833">2833</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2834" href="#2834">2834</a> <em class="jxr_javadoccomment"> * Get a single execution, identified by the given ID</em>
<a class="jxr_linenumber" name="2835" href="#2835">2835</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="2836" href="#2836">2836</a> <em class="jxr_javadoccomment"> * @param executionId identifier of the execution - mandatory</em>
<a class="jxr_linenumber" name="2837" href="#2837">2837</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckExecution} instance - won't be null</em>
<a class="jxr_linenumber" name="2838" href="#2838">2838</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent execution with this ID)</em>
<a class="jxr_linenumber" name="2839" href="#2839">2839</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="2840" href="#2840">2840</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="2841" href="#2841">2841</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the executionId is null</em>
<a class="jxr_linenumber" name="2842" href="#2842">2842</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="2843" href="#2843">2843</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckExecution.html">RundeckExecution</a> getExecution(Long executionId) <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException,
<a class="jxr_linenumber" name="2844" href="#2844">2844</a> RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="2845" href="#2845">2845</a> AssertUtil.notNull(executionId, <span class="jxr_string">"executionId is mandatory to get the details of an execution !"</span>);
<a class="jxr_linenumber" name="2846" href="#2846">2846</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/ApiCall.html">ApiCall</a>(<strong class="jxr_keyword">this</strong>).get(<strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/ApiPathBuilder.html">ApiPathBuilder</a>(<span class="jxr_string">"/execution/"</span>, executionId.toString()),
<a class="jxr_linenumber" name="2847" href="#2847">2847</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/parser/ExecutionParser.html">ExecutionParser</a>(<span class="jxr_string">"result/executions/execution"</span>));
<a class="jxr_linenumber" name="2848" href="#2848">2848</a> }
<a class="jxr_linenumber" name="2849" href="#2849">2849</a>
<a class="jxr_linenumber" name="2850" href="#2850">2850</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2851" href="#2851">2851</a> <em class="jxr_javadoccomment"> * Abort an execution (identified by the given ID). The execution should be running...</em>
<a class="jxr_linenumber" name="2852" href="#2852">2852</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="2853" href="#2853">2853</a> <em class="jxr_javadoccomment"> * @param executionId identifier of the execution - mandatory</em>
<a class="jxr_linenumber" name="2854" href="#2854">2854</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckAbort} instance - won't be null</em>
<a class="jxr_linenumber" name="2855" href="#2855">2855</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent execution with this ID)</em>
<a class="jxr_linenumber" name="2856" href="#2856">2856</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="2857" href="#2857">2857</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="2858" href="#2858">2858</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the executionId is null</em>
<a class="jxr_linenumber" name="2859" href="#2859">2859</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="2860" href="#2860">2860</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckAbort.html">RundeckAbort</a> abortExecution(Long executionId) <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException,
<a class="jxr_linenumber" name="2861" href="#2861">2861</a> RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="2862" href="#2862">2862</a> <strong class="jxr_keyword">return</strong> abortExecution(executionId, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="2863" href="#2863">2863</a> }
<a class="jxr_linenumber" name="2864" href="#2864">2864</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2865" href="#2865">2865</a> <em class="jxr_javadoccomment"> * Abort an execution (identified by the given ID). The execution should be running...</em>
<a class="jxr_linenumber" name="2866" href="#2866">2866</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="2867" href="#2867">2867</a> <em class="jxr_javadoccomment"> * @param executionId identifier of the execution - mandatory</em>
<a class="jxr_linenumber" name="2868" href="#2868">2868</a> <em class="jxr_javadoccomment"> * @param asUser specify a user name to abort the job as, must have 'killAs' permission</em>
<a class="jxr_linenumber" name="2869" href="#2869">2869</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckAbort} instance - won't be null</em>
<a class="jxr_linenumber" name="2870" href="#2870">2870</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent execution with this ID)</em>
<a class="jxr_linenumber" name="2871" href="#2871">2871</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="2872" href="#2872">2872</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="2873" href="#2873">2873</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the executionId is null</em>
<a class="jxr_linenumber" name="2874" href="#2874">2874</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="2875" href="#2875">2875</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckAbort.html">RundeckAbort</a> abortExecution(Long executionId, <strong class="jxr_keyword">final</strong> String asUser) <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException,
<a class="jxr_linenumber" name="2876" href="#2876">2876</a> RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="2877" href="#2877">2877</a> AssertUtil.notNull(executionId, <span class="jxr_string">"executionId is mandatory to abort an execution !"</span>);
<a class="jxr_linenumber" name="2878" href="#2878">2878</a> <a href="../../../org/rundeck/api/ApiPathBuilder.html">ApiPathBuilder</a> apiPath = <strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/ApiPathBuilder.html">ApiPathBuilder</a>(<span class="jxr_string">"/execution/"</span>, executionId.toString(), <span class="jxr_string">"/abort"</span>);
<a class="jxr_linenumber" name="2879" href="#2879">2879</a> <strong class="jxr_keyword">if</strong>(<strong class="jxr_keyword">null</strong>!=asUser) {
<a class="jxr_linenumber" name="2880" href="#2880">2880</a> apiPath.param(<span class="jxr_string">"asUser"</span>, asUser);
<a class="jxr_linenumber" name="2881" href="#2881">2881</a> }
<a class="jxr_linenumber" name="2882" href="#2882">2882</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/ApiCall.html">ApiCall</a>(<strong class="jxr_keyword">this</strong>).get(apiPath, <strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/parser/AbortParser.html">AbortParser</a>(<span class="jxr_string">"result/abort"</span>));
<a class="jxr_linenumber" name="2883" href="#2883">2883</a> }
<a class="jxr_linenumber" name="2884" href="#2884">2884</a>
<a class="jxr_linenumber" name="2885" href="#2885">2885</a> <em class="jxr_comment">/*</em>
<a class="jxr_linenumber" name="2886" href="#2886">2886</a> <em class="jxr_comment"> * History</em>
<a class="jxr_linenumber" name="2887" href="#2887">2887</a> <em class="jxr_comment"> */</em>
<a class="jxr_linenumber" name="2888" href="#2888">2888</a>
<a class="jxr_linenumber" name="2889" href="#2889">2889</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2890" href="#2890">2890</a> <em class="jxr_javadoccomment"> * Get the (events) history for the given project</em>
<a class="jxr_linenumber" name="2891" href="#2891">2891</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="2892" href="#2892">2892</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="2893" href="#2893">2893</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckHistory} instance - won't be null</em>
<a class="jxr_linenumber" name="2894" href="#2894">2894</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="2895" href="#2895">2895</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="2896" href="#2896">2896</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="2897" href="#2897">2897</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="2898" href="#2898">2898</a> <em class="jxr_javadoccomment"> * @see #getHistory(String, String, String, String, String, Date, Date, Long, Long)</em>
<a class="jxr_linenumber" name="2899" href="#2899">2899</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="2900" href="#2900">2900</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckHistory.html">RundeckHistory</a> getHistory(String project) <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException,
<a class="jxr_linenumber" name="2901" href="#2901">2901</a> RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="2902" href="#2902">2902</a> <strong class="jxr_keyword">return</strong> getHistory(project, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>,(String) <strong class="jxr_keyword">null</strong>, (String) <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="2903" href="#2903">2903</a> }
<a class="jxr_linenumber" name="2904" href="#2904">2904</a>
<a class="jxr_linenumber" name="2905" href="#2905">2905</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2906" href="#2906">2906</a> <em class="jxr_javadoccomment"> * Get the (events) history for the given project</em>
<a class="jxr_linenumber" name="2907" href="#2907">2907</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="2908" href="#2908">2908</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="2909" href="#2909">2909</a> <em class="jxr_javadoccomment"> * @param max number of results to return - optional (default to 20)</em>
<a class="jxr_linenumber" name="2910" href="#2910">2910</a> <em class="jxr_javadoccomment"> * @param offset the 0-indexed offset for the first result to return - optional (default to O)</em>
<a class="jxr_linenumber" name="2911" href="#2911">2911</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckHistory} instance - won't be null</em>
<a class="jxr_linenumber" name="2912" href="#2912">2912</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="2913" href="#2913">2913</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="2914" href="#2914">2914</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="2915" href="#2915">2915</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="2916" href="#2916">2916</a> <em class="jxr_javadoccomment"> * @see #getHistory(String, String, String, String, String, Date, Date, Long, Long)</em>
<a class="jxr_linenumber" name="2917" href="#2917">2917</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="2918" href="#2918">2918</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckHistory.html">RundeckHistory</a> getHistory(String project, Long max, Long offset) <strong class="jxr_keyword">throws</strong> RundeckApiException,
<a class="jxr_linenumber" name="2919" href="#2919">2919</a> RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="2920" href="#2920">2920</a> <strong class="jxr_keyword">return</strong> getHistory(project, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>, (String)<strong class="jxr_keyword">null</strong>, (String)<strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>, max, offset);
<a class="jxr_linenumber" name="2921" href="#2921">2921</a> }
<a class="jxr_linenumber" name="2922" href="#2922">2922</a>
<a class="jxr_linenumber" name="2923" href="#2923">2923</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2924" href="#2924">2924</a> <em class="jxr_javadoccomment"> * Get the (events) history for the given project</em>
<a class="jxr_linenumber" name="2925" href="#2925">2925</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="2926" href="#2926">2926</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="2927" href="#2927">2927</a> <em class="jxr_javadoccomment"> * @param jobId include only events matching the given job ID - optional</em>
<a class="jxr_linenumber" name="2928" href="#2928">2928</a> <em class="jxr_javadoccomment"> * @param reportId include only events matching the given report ID - optional</em>
<a class="jxr_linenumber" name="2929" href="#2929">2929</a> <em class="jxr_javadoccomment"> * @param user include only events created by the given user - optional</em>
<a class="jxr_linenumber" name="2930" href="#2930">2930</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckHistory} instance - won't be null</em>
<a class="jxr_linenumber" name="2931" href="#2931">2931</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="2932" href="#2932">2932</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="2933" href="#2933">2933</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="2934" href="#2934">2934</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="2935" href="#2935">2935</a> <em class="jxr_javadoccomment"> * @see #getHistory(String, String, String, String, String, Date, Date, Long, Long)</em>
<a class="jxr_linenumber" name="2936" href="#2936">2936</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="2937" href="#2937">2937</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckHistory.html">RundeckHistory</a> getHistory(String project, String jobId, String reportId, String user)
<a class="jxr_linenumber" name="2938" href="#2938">2938</a> <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="2939" href="#2939">2939</a> <strong class="jxr_keyword">return</strong> getHistory(project, jobId, reportId, user, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="2940" href="#2940">2940</a> }
<a class="jxr_linenumber" name="2941" href="#2941">2941</a>
<a class="jxr_linenumber" name="2942" href="#2942">2942</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2943" href="#2943">2943</a> <em class="jxr_javadoccomment"> * Get the (events) history for the given project</em>
<a class="jxr_linenumber" name="2944" href="#2944">2944</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="2945" href="#2945">2945</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="2946" href="#2946">2946</a> <em class="jxr_javadoccomment"> * @param jobId include only events matching the given job ID - optional</em>
<a class="jxr_linenumber" name="2947" href="#2947">2947</a> <em class="jxr_javadoccomment"> * @param reportId include only events matching the given report ID - optional</em>
<a class="jxr_linenumber" name="2948" href="#2948">2948</a> <em class="jxr_javadoccomment"> * @param user include only events created by the given user - optional</em>
<a class="jxr_linenumber" name="2949" href="#2949">2949</a> <em class="jxr_javadoccomment"> * @param max number of results to return - optional (default to 20)</em>
<a class="jxr_linenumber" name="2950" href="#2950">2950</a> <em class="jxr_javadoccomment"> * @param offset the 0-indexed offset for the first result to return - optional (default to O)</em>
<a class="jxr_linenumber" name="2951" href="#2951">2951</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckHistory} instance - won't be null</em>
<a class="jxr_linenumber" name="2952" href="#2952">2952</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="2953" href="#2953">2953</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="2954" href="#2954">2954</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="2955" href="#2955">2955</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="2956" href="#2956">2956</a> <em class="jxr_javadoccomment"> * @see #getHistory(String, String, String, String, String, Date, Date, Long, Long)</em>
<a class="jxr_linenumber" name="2957" href="#2957">2957</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="2958" href="#2958">2958</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckHistory.html">RundeckHistory</a> getHistory(String project, String jobId, String reportId, String user, Long max, Long offset)
<a class="jxr_linenumber" name="2959" href="#2959">2959</a> <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="2960" href="#2960">2960</a> <strong class="jxr_keyword">return</strong> getHistory(project, jobId, reportId, user, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>, max, offset);
<a class="jxr_linenumber" name="2961" href="#2961">2961</a> }
<a class="jxr_linenumber" name="2962" href="#2962">2962</a>
<a class="jxr_linenumber" name="2963" href="#2963">2963</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2964" href="#2964">2964</a> <em class="jxr_javadoccomment"> * Get the (events) history for the given project</em>
<a class="jxr_linenumber" name="2965" href="#2965">2965</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="2966" href="#2966">2966</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="2967" href="#2967">2967</a> <em class="jxr_javadoccomment"> * @param recent include only events matching the given period of time. Format : "XY", where X is an integer, and Y</em>
<a class="jxr_linenumber" name="2968" href="#2968">2968</a> <em class="jxr_javadoccomment"> * is one of : "h" (hour), "d" (day), "w" (week), "m" (month), "y" (year). Example : "2w" (= last 2</em>
<a class="jxr_linenumber" name="2969" href="#2969">2969</a> <em class="jxr_javadoccomment"> * weeks), "5d" (= last 5 days), etc. Optional.</em>
<a class="jxr_linenumber" name="2970" href="#2970">2970</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckHistory} instance - won't be null</em>
<a class="jxr_linenumber" name="2971" href="#2971">2971</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="2972" href="#2972">2972</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="2973" href="#2973">2973</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="2974" href="#2974">2974</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="2975" href="#2975">2975</a> <em class="jxr_javadoccomment"> * @see #getHistory(String, String, String, String, String, Date, Date, Long, Long)</em>
<a class="jxr_linenumber" name="2976" href="#2976">2976</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="2977" href="#2977">2977</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckHistory.html">RundeckHistory</a> getHistory(String project, String recent) <strong class="jxr_keyword">throws</strong> RundeckApiException,
<a class="jxr_linenumber" name="2978" href="#2978">2978</a> RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="2979" href="#2979">2979</a> <strong class="jxr_keyword">return</strong> getHistory(project, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>, recent, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="2980" href="#2980">2980</a> }
<a class="jxr_linenumber" name="2981" href="#2981">2981</a>
<a class="jxr_linenumber" name="2982" href="#2982">2982</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2983" href="#2983">2983</a> <em class="jxr_javadoccomment"> * Get the (events) history for the given project</em>
<a class="jxr_linenumber" name="2984" href="#2984">2984</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="2985" href="#2985">2985</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="2986" href="#2986">2986</a> <em class="jxr_javadoccomment"> * @param recent include only events matching the given period of time. Format : "XY", where X is an integer, and Y</em>
<a class="jxr_linenumber" name="2987" href="#2987">2987</a> <em class="jxr_javadoccomment"> * is one of : "h" (hour), "d" (day), "w" (week), "m" (month), "y" (year). Example : "2w" (= last 2</em>
<a class="jxr_linenumber" name="2988" href="#2988">2988</a> <em class="jxr_javadoccomment"> * weeks), "5d" (= last 5 days), etc. Optional.</em>
<a class="jxr_linenumber" name="2989" href="#2989">2989</a> <em class="jxr_javadoccomment"> * @param max number of results to return - optional (default to 20)</em>
<a class="jxr_linenumber" name="2990" href="#2990">2990</a> <em class="jxr_javadoccomment"> * @param offset the 0-indexed offset for the first result to return - optional (default to O)</em>
<a class="jxr_linenumber" name="2991" href="#2991">2991</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckHistory} instance - won't be null</em>
<a class="jxr_linenumber" name="2992" href="#2992">2992</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="2993" href="#2993">2993</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="2994" href="#2994">2994</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="2995" href="#2995">2995</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="2996" href="#2996">2996</a> <em class="jxr_javadoccomment"> * @see #getHistory(String, String, String, String, String, Date, Date, Long, Long)</em>
<a class="jxr_linenumber" name="2997" href="#2997">2997</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="2998" href="#2998">2998</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckHistory.html">RundeckHistory</a> getHistory(String project, String recent, Long max, Long offset) <strong class="jxr_keyword">throws</strong> RundeckApiException,
<a class="jxr_linenumber" name="2999" href="#2999">2999</a> RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="3000" href="#3000">3000</a> <strong class="jxr_keyword">return</strong> getHistory(project, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>, recent, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>, max, offset);
<a class="jxr_linenumber" name="3001" href="#3001">3001</a> }
<a class="jxr_linenumber" name="3002" href="#3002">3002</a>
<a class="jxr_linenumber" name="3003" href="#3003">3003</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="3004" href="#3004">3004</a> <em class="jxr_javadoccomment"> * Get the (events) history for the given project</em>
<a class="jxr_linenumber" name="3005" href="#3005">3005</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="3006" href="#3006">3006</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="3007" href="#3007">3007</a> <em class="jxr_javadoccomment"> * @param begin date for the earlier events to retrieve - optional</em>
<a class="jxr_linenumber" name="3008" href="#3008">3008</a> <em class="jxr_javadoccomment"> * @param end date for the latest events to retrieve - optional</em>
<a class="jxr_linenumber" name="3009" href="#3009">3009</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckHistory} instance - won't be null</em>
<a class="jxr_linenumber" name="3010" href="#3010">3010</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="3011" href="#3011">3011</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="3012" href="#3012">3012</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="3013" href="#3013">3013</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="3014" href="#3014">3014</a> <em class="jxr_javadoccomment"> * @see #getHistory(String, String, String, String, String, Date, Date, Long, Long)</em>
<a class="jxr_linenumber" name="3015" href="#3015">3015</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="3016" href="#3016">3016</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckHistory.html">RundeckHistory</a> getHistory(String project, Date begin, Date end) <strong class="jxr_keyword">throws</strong> RundeckApiException,
<a class="jxr_linenumber" name="3017" href="#3017">3017</a> RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="3018" href="#3018">3018</a> <strong class="jxr_keyword">return</strong> getHistory(project, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>, (String)<strong class="jxr_keyword">null</strong>, (String)<strong class="jxr_keyword">null</strong>, begin, end, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="3019" href="#3019">3019</a> }
<a class="jxr_linenumber" name="3020" href="#3020">3020</a>
<a class="jxr_linenumber" name="3021" href="#3021">3021</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="3022" href="#3022">3022</a> <em class="jxr_javadoccomment"> * Get the (events) history for the given project</em>
<a class="jxr_linenumber" name="3023" href="#3023">3023</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="3024" href="#3024">3024</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="3025" href="#3025">3025</a> <em class="jxr_javadoccomment"> * @param begin date for the earlier events to retrieve - optional</em>
<a class="jxr_linenumber" name="3026" href="#3026">3026</a> <em class="jxr_javadoccomment"> * @param end date for the latest events to retrieve - optional</em>
<a class="jxr_linenumber" name="3027" href="#3027">3027</a> <em class="jxr_javadoccomment"> * @param max number of results to return - optional (default to 20)</em>
<a class="jxr_linenumber" name="3028" href="#3028">3028</a> <em class="jxr_javadoccomment"> * @param offset the 0-indexed offset for the first result to return - optional (default to O)</em>
<a class="jxr_linenumber" name="3029" href="#3029">3029</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckHistory} instance - won't be null</em>
<a class="jxr_linenumber" name="3030" href="#3030">3030</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="3031" href="#3031">3031</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="3032" href="#3032">3032</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="3033" href="#3033">3033</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="3034" href="#3034">3034</a> <em class="jxr_javadoccomment"> * @see #getHistory(String, String, String, String, String, Date, Date, Long, Long)</em>
<a class="jxr_linenumber" name="3035" href="#3035">3035</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="3036" href="#3036">3036</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckHistory.html">RundeckHistory</a> getHistory(String project, Date begin, Date end, Long max, Long offset)
<a class="jxr_linenumber" name="3037" href="#3037">3037</a> <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="3038" href="#3038">3038</a> <strong class="jxr_keyword">return</strong> getHistory(project, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>, (String)<strong class="jxr_keyword">null</strong>, (String) <strong class="jxr_keyword">null</strong>, begin, end, max, offset);
<a class="jxr_linenumber" name="3039" href="#3039">3039</a> }
<a class="jxr_linenumber" name="3040" href="#3040">3040</a>
<a class="jxr_linenumber" name="3041" href="#3041">3041</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="3042" href="#3042">3042</a> <em class="jxr_javadoccomment"> * Get the (events) history for the given project</em>
<a class="jxr_linenumber" name="3043" href="#3043">3043</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="3044" href="#3044">3044</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="3045" href="#3045">3045</a> <em class="jxr_javadoccomment"> * @param jobId include only events matching the given job ID - optional</em>
<a class="jxr_linenumber" name="3046" href="#3046">3046</a> <em class="jxr_javadoccomment"> * @param reportId include only events matching the given report ID - optional</em>
<a class="jxr_linenumber" name="3047" href="#3047">3047</a> <em class="jxr_javadoccomment"> * @param user include only events created by the given user - optional</em>
<a class="jxr_linenumber" name="3048" href="#3048">3048</a> <em class="jxr_javadoccomment"> * @param recent include only events matching the given period of time. Format : "XY", where X is an integer, and Y</em>
<a class="jxr_linenumber" name="3049" href="#3049">3049</a> <em class="jxr_javadoccomment"> * is one of : "h" (hour), "d" (day), "w" (week), "m" (month), "y" (year). Example : "2w" (= last 2</em>
<a class="jxr_linenumber" name="3050" href="#3050">3050</a> <em class="jxr_javadoccomment"> * weeks), "5d" (= last 5 days), etc. Optional.</em>
<a class="jxr_linenumber" name="3051" href="#3051">3051</a> <em class="jxr_javadoccomment"> * @param begin date for the earlier events to retrieve - optional</em>
<a class="jxr_linenumber" name="3052" href="#3052">3052</a> <em class="jxr_javadoccomment"> * @param end date for the latest events to retrieve - optional</em>
<a class="jxr_linenumber" name="3053" href="#3053">3053</a> <em class="jxr_javadoccomment"> * @param max number of results to return - optional (default to 20)</em>
<a class="jxr_linenumber" name="3054" href="#3054">3054</a> <em class="jxr_javadoccomment"> * @param offset the 0-indexed offset for the first result to return - optional (default to O)</em>
<a class="jxr_linenumber" name="3055" href="#3055">3055</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckHistory} instance - won't be null</em>
<a class="jxr_linenumber" name="3056" href="#3056">3056</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="3057" href="#3057">3057</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="3058" href="#3058">3058</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="3059" href="#3059">3059</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="3060" href="#3060">3060</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="3061" href="#3061">3061</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckHistory.html">RundeckHistory</a> getHistory(String project, String jobId, String reportId, String user, String recent,
<a class="jxr_linenumber" name="3062" href="#3062">3062</a> Date begin, Date end, Long max, Long offset) <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException,
<a class="jxr_linenumber" name="3063" href="#3063">3063</a> RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="3064" href="#3064">3064</a> AssertUtil.notBlank(project, <span class="jxr_string">"project is mandatory to get the history !"</span>);
<a class="jxr_linenumber" name="3065" href="#3065">3065</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/ApiCall.html">ApiCall</a>(<strong class="jxr_keyword">this</strong>).get(<strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/ApiPathBuilder.html">ApiPathBuilder</a>(<span class="jxr_string">"/history"</span>).param(<span class="jxr_string">"project"</span>, project)
<a class="jxr_linenumber" name="3066" href="#3066">3066</a> .param(<span class="jxr_string">"jobIdFilter"</span>, jobId)
<a class="jxr_linenumber" name="3067" href="#3067">3067</a> .param(<span class="jxr_string">"reportIdFilter"</span>, reportId)
<a class="jxr_linenumber" name="3068" href="#3068">3068</a> .param(<span class="jxr_string">"userFilter"</span>, user)
<a class="jxr_linenumber" name="3069" href="#3069">3069</a> .param(<span class="jxr_string">"recentFilter"</span>, recent)
<a class="jxr_linenumber" name="3070" href="#3070">3070</a> .param(<span class="jxr_string">"begin"</span>, begin)
<a class="jxr_linenumber" name="3071" href="#3071">3071</a> .param(<span class="jxr_string">"end"</span>, end)
<a class="jxr_linenumber" name="3072" href="#3072">3072</a> .param(<span class="jxr_string">"max"</span>, max)
<a class="jxr_linenumber" name="3073" href="#3073">3073</a> .param(<span class="jxr_string">"offset"</span>, offset),
<a class="jxr_linenumber" name="3074" href="#3074">3074</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/parser/HistoryParser.html">HistoryParser</a>(<span class="jxr_string">"result/events"</span>));
<a class="jxr_linenumber" name="3075" href="#3075">3075</a> }
<a class="jxr_linenumber" name="3076" href="#3076">3076</a>
<a class="jxr_linenumber" name="3077" href="#3077">3077</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="3078" href="#3078">3078</a> <em class="jxr_javadoccomment"> * Get the (events) history for the given project</em>
<a class="jxr_linenumber" name="3079" href="#3079">3079</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="3080" href="#3080">3080</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="3081" href="#3081">3081</a> <em class="jxr_javadoccomment"> * @param includeJobNames list of job names ("group/name") to include results for</em>
<a class="jxr_linenumber" name="3082" href="#3082">3082</a> <em class="jxr_javadoccomment"> * @param excludeJobNames list of job names ("group/name") to exclude results for</em>
<a class="jxr_linenumber" name="3083" href="#3083">3083</a> <em class="jxr_javadoccomment"> * @param user include only events created by the given user - optional</em>
<a class="jxr_linenumber" name="3084" href="#3084">3084</a> <em class="jxr_javadoccomment"> * @param recent include only events matching the given period of time. Format : "XY", where X is an</em>
<a class="jxr_linenumber" name="3085" href="#3085">3085</a> <em class="jxr_javadoccomment"> * integer, and Y is one of : "h" (hour), "d" (day), "w" (week), "m" (month), "y" (year).</em>
<a class="jxr_linenumber" name="3086" href="#3086">3086</a> <em class="jxr_javadoccomment"> * Example : "2w" (= last 2 weeks), "5d" (= last 5 days), etc. Optional.</em>
<a class="jxr_linenumber" name="3087" href="#3087">3087</a> <em class="jxr_javadoccomment"> * @param begin date for the earlier events to retrieve - optional</em>
<a class="jxr_linenumber" name="3088" href="#3088">3088</a> <em class="jxr_javadoccomment"> * @param end date for the latest events to retrieve - optional</em>
<a class="jxr_linenumber" name="3089" href="#3089">3089</a> <em class="jxr_javadoccomment"> * @param max number of results to return - optional (default to 20)</em>
<a class="jxr_linenumber" name="3090" href="#3090">3090</a> <em class="jxr_javadoccomment"> * @param offset the 0-indexed offset for the first result to return - optional (default to O)</em>
<a class="jxr_linenumber" name="3091" href="#3091">3091</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="3092" href="#3092">3092</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckHistory} instance - won't be null</em>
<a class="jxr_linenumber" name="3093" href="#3093">3093</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="3094" href="#3094">3094</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="3095" href="#3095">3095</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="3096" href="#3096">3096</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="3097" href="#3097">3097</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="3098" href="#3098">3098</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="3099" href="#3099">3099</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckHistory.html">RundeckHistory</a> getHistory(String project,
<a class="jxr_linenumber" name="3100" href="#3100">3100</a> String user,
<a class="jxr_linenumber" name="3101" href="#3101">3101</a> String recent,
<a class="jxr_linenumber" name="3102" href="#3102">3102</a> List&lt;String&gt; includeJobNames,
<a class="jxr_linenumber" name="3103" href="#3103">3103</a> List&lt;String&gt; excludeJobNames,
<a class="jxr_linenumber" name="3104" href="#3104">3104</a> Date begin,
<a class="jxr_linenumber" name="3105" href="#3105">3105</a> Date end,
<a class="jxr_linenumber" name="3106" href="#3106">3106</a> Long max,
<a class="jxr_linenumber" name="3107" href="#3107">3107</a> Long offset)
<a class="jxr_linenumber" name="3108" href="#3108">3108</a> <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="3109" href="#3109">3109</a>
<a class="jxr_linenumber" name="3110" href="#3110">3110</a> AssertUtil.notBlank(project, <span class="jxr_string">"project is mandatory to get the history !"</span>);
<a class="jxr_linenumber" name="3111" href="#3111">3111</a> <strong class="jxr_keyword">final</strong> <a href="../../../org/rundeck/api/ApiPathBuilder.html">ApiPathBuilder</a> builder = <strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/ApiPathBuilder.html">ApiPathBuilder</a>(<span class="jxr_string">"/history"</span>).param(<span class="jxr_string">"project"</span>, project)
<a class="jxr_linenumber" name="3112" href="#3112">3112</a> .field(<span class="jxr_string">"jobListFilter"</span>, includeJobNames)
<a class="jxr_linenumber" name="3113" href="#3113">3113</a> .field(<span class="jxr_string">"excludeJobListFilter"</span>, excludeJobNames)
<a class="jxr_linenumber" name="3114" href="#3114">3114</a> .param(<span class="jxr_string">"userFilter"</span>, user)
<a class="jxr_linenumber" name="3115" href="#3115">3115</a> .param(<span class="jxr_string">"recentFilter"</span>, recent)
<a class="jxr_linenumber" name="3116" href="#3116">3116</a> .param(<span class="jxr_string">"begin"</span>, begin)
<a class="jxr_linenumber" name="3117" href="#3117">3117</a> .param(<span class="jxr_string">"end"</span>, end)
<a class="jxr_linenumber" name="3118" href="#3118">3118</a> .param(<span class="jxr_string">"max"</span>, max)
<a class="jxr_linenumber" name="3119" href="#3119">3119</a> .param(<span class="jxr_string">"offset"</span>, offset);
<a class="jxr_linenumber" name="3120" href="#3120">3120</a>
<a class="jxr_linenumber" name="3121" href="#3121">3121</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/ApiCall.html">ApiCall</a>(<strong class="jxr_keyword">this</strong>).postOrGet(builder, <strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/parser/HistoryParser.html">HistoryParser</a>(<span class="jxr_string">"result/events"</span>));
<a class="jxr_linenumber" name="3122" href="#3122">3122</a> }
<a class="jxr_linenumber" name="3123" href="#3123">3123</a>
<a class="jxr_linenumber" name="3124" href="#3124">3124</a> <em class="jxr_comment">/*</em>
<a class="jxr_linenumber" name="3125" href="#3125">3125</a> <em class="jxr_comment"> * Nodes</em>
<a class="jxr_linenumber" name="3126" href="#3126">3126</a> <em class="jxr_comment"> */</em>
<a class="jxr_linenumber" name="3127" href="#3127">3127</a>
<a class="jxr_linenumber" name="3128" href="#3128">3128</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="3129" href="#3129">3129</a> <em class="jxr_javadoccomment"> * List all nodes (for all projects)</em>
<a class="jxr_linenumber" name="3130" href="#3130">3130</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="3131" href="#3131">3131</a> <em class="jxr_javadoccomment"> * @return a {@link List} of {@link RundeckNode} : might be empty, but won't be null</em>
<a class="jxr_linenumber" name="3132" href="#3132">3132</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API</em>
<a class="jxr_linenumber" name="3133" href="#3133">3133</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="3134" href="#3134">3134</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="3135" href="#3135">3135</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="3136" href="#3136">3136</a> <strong class="jxr_keyword">public</strong> List&lt;RundeckNode&gt; getNodes() <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException, RundeckApiTokenException {
<a class="jxr_linenumber" name="3137" href="#3137">3137</a> List&lt;RundeckNode&gt; nodes = <strong class="jxr_keyword">new</strong> ArrayList&lt;RundeckNode&gt;();
<a class="jxr_linenumber" name="3138" href="#3138">3138</a> <strong class="jxr_keyword">for</strong> (RundeckProject project : getProjects()) {
<a class="jxr_linenumber" name="3139" href="#3139">3139</a> nodes.addAll(getNodes(project.getName()));
<a class="jxr_linenumber" name="3140" href="#3140">3140</a> }
<a class="jxr_linenumber" name="3141" href="#3141">3141</a> <strong class="jxr_keyword">return</strong> nodes;
<a class="jxr_linenumber" name="3142" href="#3142">3142</a> }
<a class="jxr_linenumber" name="3143" href="#3143">3143</a>
<a class="jxr_linenumber" name="3144" href="#3144">3144</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="3145" href="#3145">3145</a> <em class="jxr_javadoccomment"> * List all nodes that belongs to the given project</em>
<a class="jxr_linenumber" name="3146" href="#3146">3146</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="3147" href="#3147">3147</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="3148" href="#3148">3148</a> <em class="jxr_javadoccomment"> * @return a {@link List} of {@link RundeckNode} : might be empty, but won't be null</em>
<a class="jxr_linenumber" name="3149" href="#3149">3149</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="3150" href="#3150">3150</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="3151" href="#3151">3151</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="3152" href="#3152">3152</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="3153" href="#3153">3153</a> <em class="jxr_javadoccomment"> * @see #getNodes(String, Properties)</em>
<a class="jxr_linenumber" name="3154" href="#3154">3154</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="3155" href="#3155">3155</a> <strong class="jxr_keyword">public</strong> List&lt;RundeckNode&gt; getNodes(String project) <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException,
<a class="jxr_linenumber" name="3156" href="#3156">3156</a> RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="3157" href="#3157">3157</a> <strong class="jxr_keyword">return</strong> getNodes(project, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="3158" href="#3158">3158</a> }
<a class="jxr_linenumber" name="3159" href="#3159">3159</a>
<a class="jxr_linenumber" name="3160" href="#3160">3160</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="3161" href="#3161">3161</a> <em class="jxr_javadoccomment"> * List nodes that belongs to the given project</em>
<a class="jxr_linenumber" name="3162" href="#3162">3162</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="3163" href="#3163">3163</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="3164" href="#3164">3164</a> <em class="jxr_javadoccomment"> * @param nodeFilters for filtering the nodes - optional. See {@link NodeFiltersBuilder}</em>
<a class="jxr_linenumber" name="3165" href="#3165">3165</a> <em class="jxr_javadoccomment"> * @return a {@link List} of {@link RundeckNode} : might be empty, but won't be null</em>
<a class="jxr_linenumber" name="3166" href="#3166">3166</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent project with this name)</em>
<a class="jxr_linenumber" name="3167" href="#3167">3167</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="3168" href="#3168">3168</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="3169" href="#3169">3169</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the project is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="3170" href="#3170">3170</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="3171" href="#3171">3171</a> <strong class="jxr_keyword">public</strong> List&lt;RundeckNode&gt; getNodes(String project, Properties nodeFilters) <strong class="jxr_keyword">throws</strong> RundeckApiException,
<a class="jxr_linenumber" name="3172" href="#3172">3172</a> RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="3173" href="#3173">3173</a> AssertUtil.notBlank(project, <span class="jxr_string">"project is mandatory to get all nodes !"</span>);
<a class="jxr_linenumber" name="3174" href="#3174">3174</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/ApiCall.html">ApiCall</a>(<strong class="jxr_keyword">this</strong>).get(<strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/ApiPathBuilder.html">ApiPathBuilder</a>(<span class="jxr_string">"/resources"</span>).param(<span class="jxr_string">"project"</span>, project)
<a class="jxr_linenumber" name="3175" href="#3175">3175</a> .nodeFilters(nodeFilters),
<a class="jxr_linenumber" name="3176" href="#3176">3176</a> <strong class="jxr_keyword">new</strong> ListParser&lt;RundeckNode&gt;(<strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/parser/NodeParser.html">NodeParser</a>(), <span class="jxr_string">"project/node"</span>));
<a class="jxr_linenumber" name="3177" href="#3177">3177</a> }
<a class="jxr_linenumber" name="3178" href="#3178">3178</a>
<a class="jxr_linenumber" name="3179" href="#3179">3179</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="3180" href="#3180">3180</a> <em class="jxr_javadoccomment"> * Get the definition of a single node</em>
<a class="jxr_linenumber" name="3181" href="#3181">3181</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="3182" href="#3182">3182</a> <em class="jxr_javadoccomment"> * @param name of the node - mandatory</em>
<a class="jxr_linenumber" name="3183" href="#3183">3183</a> <em class="jxr_javadoccomment"> * @param project name of the project - mandatory</em>
<a class="jxr_linenumber" name="3184" href="#3184">3184</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckNode} instance - won't be null</em>
<a class="jxr_linenumber" name="3185" href="#3185">3185</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent name or project with this name)</em>
<a class="jxr_linenumber" name="3186" href="#3186">3186</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="3187" href="#3187">3187</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="3188" href="#3188">3188</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the name or project is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="3189" href="#3189">3189</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="3190" href="#3190">3190</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckNode.html">RundeckNode</a> getNode(String name, String project) <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException,
<a class="jxr_linenumber" name="3191" href="#3191">3191</a> RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="3192" href="#3192">3192</a> AssertUtil.notBlank(name, <span class="jxr_string">"the name of the node is mandatory to get a node !"</span>);
<a class="jxr_linenumber" name="3193" href="#3193">3193</a> AssertUtil.notBlank(project, <span class="jxr_string">"project is mandatory to get a node !"</span>);
<a class="jxr_linenumber" name="3194" href="#3194">3194</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/ApiCall.html">ApiCall</a>(<strong class="jxr_keyword">this</strong>).get(<strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/ApiPathBuilder.html">ApiPathBuilder</a>(<span class="jxr_string">"/resource/"</span>, name).param(<span class="jxr_string">"project"</span>, project),
<a class="jxr_linenumber" name="3195" href="#3195">3195</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/parser/NodeParser.html">NodeParser</a>(<span class="jxr_string">"project/node"</span>));
<a class="jxr_linenumber" name="3196" href="#3196">3196</a> }
<a class="jxr_linenumber" name="3197" href="#3197">3197</a>
<a class="jxr_linenumber" name="3198" href="#3198">3198</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="3199" href="#3199">3199</a> <em class="jxr_javadoccomment"> * Get the output of a job execution</em>
<a class="jxr_linenumber" name="3200" href="#3200">3200</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="3201" href="#3201">3201</a> <em class="jxr_javadoccomment"> * @param executionId id of the execution - mandatory</em>
<a class="jxr_linenumber" name="3202" href="#3202">3202</a> <em class="jxr_javadoccomment"> * @return an {@link InputStream} instance, not linked to any network resources - won't be null</em>
<a class="jxr_linenumber" name="3203" href="#3203">3203</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent name or project with this name)</em>
<a class="jxr_linenumber" name="3204" href="#3204">3204</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="3205" href="#3205">3205</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="3206" href="#3206">3206</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the name or project is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="3207" href="#3207">3207</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="3208" href="#3208">3208</a> <strong class="jxr_keyword">public</strong> InputStream getOutput(String executionId) <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException,
<a class="jxr_linenumber" name="3209" href="#3209">3209</a> RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="3210" href="#3210">3210</a> AssertUtil.notBlank(executionId, <span class="jxr_string">"the execution id is mandatory to get execution output !"</span>);
<a class="jxr_linenumber" name="3211" href="#3211">3211</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/ApiCall.html">ApiCall</a>(<strong class="jxr_keyword">this</strong>).getNonApi(<strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/ApiPathBuilder.html">ApiPathBuilder</a>(<span class="jxr_string">"/execution/downloadOutput/"</span>, executionId));
<a class="jxr_linenumber" name="3212" href="#3212">3212</a> }
<a class="jxr_linenumber" name="3213" href="#3213">3213</a>
<a class="jxr_linenumber" name="3214" href="#3214">3214</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="3215" href="#3215">3215</a> <em class="jxr_javadoccomment"> * Get the html page of the user's profile</em>
<a class="jxr_linenumber" name="3216" href="#3216">3216</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="3217" href="#3217">3217</a> <em class="jxr_javadoccomment"> * @param username - mandatory</em>
<a class="jxr_linenumber" name="3218" href="#3218">3218</a> <em class="jxr_javadoccomment"> * @return an {@link InputStream} instance, not linked to any network resources - won't be null</em>
<a class="jxr_linenumber" name="3219" href="#3219">3219</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent name or project with this name)</em>
<a class="jxr_linenumber" name="3220" href="#3220">3220</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="3221" href="#3221">3221</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="3222" href="#3222">3222</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the name or project is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="3223" href="#3223">3223</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="3224" href="#3224">3224</a> <strong class="jxr_keyword">public</strong> InputStream getProfilePage(String username) <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException,
<a class="jxr_linenumber" name="3225" href="#3225">3225</a> RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="3226" href="#3226">3226</a> AssertUtil.notBlank(username, <span class="jxr_string">"the username is mandatory to get profile page !"</span>);
<a class="jxr_linenumber" name="3227" href="#3227">3227</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/ApiCall.html">ApiCall</a>(<strong class="jxr_keyword">this</strong>).getNonApi(<strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/ApiPathBuilder.html">ApiPathBuilder</a>(<span class="jxr_string">"/user/profile?login="</span>, username));
<a class="jxr_linenumber" name="3228" href="#3228">3228</a> }
<a class="jxr_linenumber" name="3229" href="#3229">3229</a>
<a class="jxr_linenumber" name="3230" href="#3230">3230</a>
<a class="jxr_linenumber" name="3231" href="#3231">3231</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="3232" href="#3232">3232</a> <em class="jxr_javadoccomment"> * Generate a new token and get the result page (which is the html page of the user's profile)</em>
<a class="jxr_linenumber" name="3233" href="#3233">3233</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="3234" href="#3234">3234</a> <em class="jxr_javadoccomment"> * @param username - mandatory</em>
<a class="jxr_linenumber" name="3235" href="#3235">3235</a> <em class="jxr_javadoccomment"> * @return an {@link InputStream} instance, not linked to any network resources - won't be null</em>
<a class="jxr_linenumber" name="3236" href="#3236">3236</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent name or project with this name)</em>
<a class="jxr_linenumber" name="3237" href="#3237">3237</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="3238" href="#3238">3238</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="3239" href="#3239">3239</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the name or project is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="3240" href="#3240">3240</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="3241" href="#3241">3241</a> <strong class="jxr_keyword">public</strong> InputStream generateToken(String username) <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException,
<a class="jxr_linenumber" name="3242" href="#3242">3242</a> RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="3243" href="#3243">3243</a> AssertUtil.notBlank(username, <span class="jxr_string">"the username is mandatory to generate the token"</span>);
<a class="jxr_linenumber" name="3244" href="#3244">3244</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/ApiCall.html">ApiCall</a>(<strong class="jxr_keyword">this</strong>).getNonApi(<strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/ApiPathBuilder.html">ApiPathBuilder</a>(<span class="jxr_string">"/user/generateApiToken?login="</span>, username));
<a class="jxr_linenumber" name="3245" href="#3245">3245</a> }
<a class="jxr_linenumber" name="3246" href="#3246">3246</a>
<a class="jxr_linenumber" name="3247" href="#3247">3247</a>
<a class="jxr_linenumber" name="3248" href="#3248">3248</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="3249" href="#3249">3249</a> <em class="jxr_javadoccomment"> * Get the execution output of the given job</em>
<a class="jxr_linenumber" name="3250" href="#3250">3250</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="3251" href="#3251">3251</a> <em class="jxr_javadoccomment"> * @param executionId identifier of the execution - mandatory</em>
<a class="jxr_linenumber" name="3252" href="#3252">3252</a> <em class="jxr_javadoccomment"> * @param offset byte offset to read from in the file. 0 indicates the beginning.</em>
<a class="jxr_linenumber" name="3253" href="#3253">3253</a> <em class="jxr_javadoccomment"> * @param lastlines nnumber of lines to retrieve from the end of the available output. If specified it will override the offset value and return only the specified number of lines at the end of the log.</em>
<a class="jxr_linenumber" name="3254" href="#3254">3254</a> <em class="jxr_javadoccomment"> * @param lastmod epoch datestamp in milliseconds, return results only if modification changed since the specified date OR if more data is available at the given offset</em>
<a class="jxr_linenumber" name="3255" href="#3255">3255</a> <em class="jxr_javadoccomment"> * @param maxlines maximum number of lines to retrieve forward from the specified offset.</em>
<a class="jxr_linenumber" name="3256" href="#3256">3256</a> <em class="jxr_javadoccomment"> * @return {@link RundeckOutput}</em>
<a class="jxr_linenumber" name="3257" href="#3257">3257</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID)</em>
<a class="jxr_linenumber" name="3258" href="#3258">3258</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="3259" href="#3259">3259</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="3260" href="#3260">3260</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the jobId is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="3261" href="#3261">3261</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="3262" href="#3262">3262</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckOutput.html">RundeckOutput</a> getJobExecutionOutput(Long executionId, <strong class="jxr_keyword">int</strong> offset, <strong class="jxr_keyword">int</strong> lastlines, <strong class="jxr_keyword">long</strong> lastmod, <strong class="jxr_keyword">int</strong> maxlines)
<a class="jxr_linenumber" name="3263" href="#3263">3263</a> <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="3264" href="#3264">3264</a> AssertUtil.notNull(executionId, <span class="jxr_string">"executionId is mandatory to get the output of a job execution!"</span>);
<a class="jxr_linenumber" name="3265" href="#3265">3265</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/ApiCall.html">ApiCall</a>(<strong class="jxr_keyword">this</strong>).get(<strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/ApiPathBuilder.html">ApiPathBuilder</a>(<span class="jxr_string">"/execution/"</span>, executionId.toString(), <span class="jxr_string">"/output.xml"</span>).param(<span class="jxr_string">"offset"</span>, offset)
<a class="jxr_linenumber" name="3266" href="#3266">3266</a> .param(<span class="jxr_string">"lastlines"</span>, lastlines)
<a class="jxr_linenumber" name="3267" href="#3267">3267</a> .param(<span class="jxr_string">"lastmod"</span>, lastmod)
<a class="jxr_linenumber" name="3268" href="#3268">3268</a> .param(<span class="jxr_string">"maxlines"</span>, maxlines),
<a class="jxr_linenumber" name="3269" href="#3269">3269</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/parser/OutputParser.html">OutputParser</a>(<span class="jxr_string">"result/output"</span>, createOutputEntryParser()));
<a class="jxr_linenumber" name="3270" href="#3270">3270</a> }
<a class="jxr_linenumber" name="3271" href="#3271">3271</a>
<a class="jxr_linenumber" name="3272" href="#3272">3272</a>
<a class="jxr_linenumber" name="3273" href="#3273">3273</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="3274" href="#3274">3274</a> <em class="jxr_javadoccomment"> * Get the execution output of the given job</em>
<a class="jxr_linenumber" name="3275" href="#3275">3275</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="3276" href="#3276">3276</a> <em class="jxr_javadoccomment"> * @param executionId identifier of the execution - mandatory</em>
<a class="jxr_linenumber" name="3277" href="#3277">3277</a> <em class="jxr_javadoccomment"> * @param offset byte offset to read from in the file. 0 indicates the beginning.</em>
<a class="jxr_linenumber" name="3278" href="#3278">3278</a> <em class="jxr_javadoccomment"> * @param lastmod epoch datestamp in milliseconds, return results only if modification changed since the specified date OR if more data is available at the given offset</em>
<a class="jxr_linenumber" name="3279" href="#3279">3279</a> <em class="jxr_javadoccomment"> * @param maxlines maximum number of lines to retrieve forward from the specified offset.</em>
<a class="jxr_linenumber" name="3280" href="#3280">3280</a> <em class="jxr_javadoccomment"> * @return {@link RundeckOutput}</em>
<a class="jxr_linenumber" name="3281" href="#3281">3281</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API (non-existent job with this ID)</em>
<a class="jxr_linenumber" name="3282" href="#3282">3282</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="3283" href="#3283">3283</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="3284" href="#3284">3284</a> <em class="jxr_javadoccomment"> * @throws IllegalArgumentException if the jobId is blank (null, empty or whitespace)</em>
<a class="jxr_linenumber" name="3285" href="#3285">3285</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="3286" href="#3286">3286</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckOutput.html">RundeckOutput</a> getJobExecutionOutput(Long executionId, <strong class="jxr_keyword">int</strong> offset, <strong class="jxr_keyword">long</strong> lastmod, <strong class="jxr_keyword">int</strong> maxlines)
<a class="jxr_linenumber" name="3287" href="#3287">3287</a> <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException, RundeckApiTokenException, IllegalArgumentException {
<a class="jxr_linenumber" name="3288" href="#3288">3288</a> AssertUtil.notNull(executionId, <span class="jxr_string">"executionId is mandatory to get the output of a job execution!"</span>);
<a class="jxr_linenumber" name="3289" href="#3289">3289</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/ApiCall.html">ApiCall</a>(<strong class="jxr_keyword">this</strong>).get(<strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/ApiPathBuilder.html">ApiPathBuilder</a>(<span class="jxr_string">"/execution/"</span>, executionId.toString(), <span class="jxr_string">"/output.xml"</span>).param(<span class="jxr_string">"offset"</span>, offset)
<a class="jxr_linenumber" name="3290" href="#3290">3290</a> .param(<span class="jxr_string">"lastmod"</span>, lastmod)
<a class="jxr_linenumber" name="3291" href="#3291">3291</a> .param(<span class="jxr_string">"maxlines"</span>, maxlines),
<a class="jxr_linenumber" name="3292" href="#3292">3292</a> <strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/parser/OutputParser.html">OutputParser</a>(<span class="jxr_string">"result/output"</span>, createOutputEntryParser()));
<a class="jxr_linenumber" name="3293" href="#3293">3293</a> }
<a class="jxr_linenumber" name="3294" href="#3294">3294</a>
<a class="jxr_linenumber" name="3295" href="#3295">3295</a> <strong class="jxr_keyword">private</strong> <a href="../../../org/rundeck/api/parser/OutputEntryParser.html">OutputEntryParser</a> createOutputEntryParser() {
<a class="jxr_linenumber" name="3296" href="#3296">3296</a> <strong class="jxr_keyword">if</strong> (getApiVersion() &lt;= Version.V5.versionNumber) {
<a class="jxr_linenumber" name="3297" href="#3297">3297</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/parser/OutputEntryParserV5.html">OutputEntryParserV5</a>();
<a class="jxr_linenumber" name="3298" href="#3298">3298</a> }<strong class="jxr_keyword">else</strong>{
<a class="jxr_linenumber" name="3299" href="#3299">3299</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/parser/OutputEntryParser.html">OutputEntryParser</a>();
<a class="jxr_linenumber" name="3300" href="#3300">3300</a> }
<a class="jxr_linenumber" name="3301" href="#3301">3301</a> }
<a class="jxr_linenumber" name="3302" href="#3302">3302</a>
<a class="jxr_linenumber" name="3303" href="#3303">3303</a>
<a class="jxr_linenumber" name="3304" href="#3304">3304</a> <em class="jxr_comment">/*</em>
<a class="jxr_linenumber" name="3305" href="#3305">3305</a> <em class="jxr_comment"> * System Info</em>
<a class="jxr_linenumber" name="3306" href="#3306">3306</a> <em class="jxr_comment"> */</em>
<a class="jxr_linenumber" name="3307" href="#3307">3307</a>
<a class="jxr_linenumber" name="3308" href="#3308">3308</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="3309" href="#3309">3309</a> <em class="jxr_javadoccomment"> * Get system informations about the RunDeck server</em>
<a class="jxr_linenumber" name="3310" href="#3310">3310</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="3311" href="#3311">3311</a> <em class="jxr_javadoccomment"> * @return a {@link RundeckSystemInfo} instance - won't be null</em>
<a class="jxr_linenumber" name="3312" href="#3312">3312</a> <em class="jxr_javadoccomment"> * @throws RundeckApiException in case of error when calling the API</em>
<a class="jxr_linenumber" name="3313" href="#3313">3313</a> <em class="jxr_javadoccomment"> * @throws RundeckApiLoginException if the login fails (in case of login-based authentication)</em>
<a class="jxr_linenumber" name="3314" href="#3314">3314</a> <em class="jxr_javadoccomment"> * @throws RundeckApiTokenException if the token is invalid (in case of token-based authentication)</em>
<a class="jxr_linenumber" name="3315" href="#3315">3315</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="3316" href="#3316">3316</a> <strong class="jxr_keyword">public</strong> <a href="../../../org/rundeck/api/domain/RundeckSystemInfo.html">RundeckSystemInfo</a> getSystemInfo() <strong class="jxr_keyword">throws</strong> RundeckApiException, RundeckApiLoginException,
<a class="jxr_linenumber" name="3317" href="#3317">3317</a> <a href="../../../org/rundeck/api/RundeckApiException.html">RundeckApiTokenException</a> {
<a class="jxr_linenumber" name="3318" href="#3318">3318</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/ApiCall.html">ApiCall</a>(<strong class="jxr_keyword">this</strong>).get(<strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/ApiPathBuilder.html">ApiPathBuilder</a>(<span class="jxr_string">"/system/info"</span>), <strong class="jxr_keyword">new</strong> <a href="../../../org/rundeck/api/parser/SystemInfoParser.html">SystemInfoParser</a>(<span class="jxr_string">"result/system"</span>));
<a class="jxr_linenumber" name="3319" href="#3319">3319</a> }
<a class="jxr_linenumber" name="3320" href="#3320">3320</a>
<a class="jxr_linenumber" name="3321" href="#3321">3321</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="3322" href="#3322">3322</a> <em class="jxr_javadoccomment"> * @return the URL of the RunDeck instance ("<a href="http://localhost:4440" target="alexandria_uri">http://localhost:4440</a>", "http://rundeck.your-compagny.com/", etc)</em>
<a class="jxr_linenumber" name="3323" href="#3323">3323</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="3324" href="#3324">3324</a> <strong class="jxr_keyword">public</strong> String getUrl() {
<a class="jxr_linenumber" name="3325" href="#3325">3325</a> <strong class="jxr_keyword">return</strong> url;
<a class="jxr_linenumber" name="3326" href="#3326">3326</a> }
<a class="jxr_linenumber" name="3327" href="#3327">3327</a>
<a class="jxr_linenumber" name="3328" href="#3328">3328</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="3329" href="#3329">3329</a> <em class="jxr_javadoccomment"> * @return the auth-token used for authentication on the RunDeck instance (null if using login-based or session-based auth)</em>
<a class="jxr_linenumber" name="3330" href="#3330">3330</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="3331" href="#3331">3331</a> <strong class="jxr_keyword">public</strong> String getToken() {
<a class="jxr_linenumber" name="3332" href="#3332">3332</a> <strong class="jxr_keyword">return</strong> token;
<a class="jxr_linenumber" name="3333" href="#3333">3333</a> }
<a class="jxr_linenumber" name="3334" href="#3334">3334</a>
<a class="jxr_linenumber" name="3335" href="#3335">3335</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="3336" href="#3336">3336</a> <em class="jxr_javadoccomment"> * @return the login used for authentication on the RunDeck instance (null if using token-based or session-based auth)</em>
<a class="jxr_linenumber" name="3337" href="#3337">3337</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="3338" href="#3338">3338</a> <strong class="jxr_keyword">public</strong> String getLogin() {
<a class="jxr_linenumber" name="3339" href="#3339">3339</a> <strong class="jxr_keyword">return</strong> login;
<a class="jxr_linenumber" name="3340" href="#3340">3340</a> }
<a class="jxr_linenumber" name="3341" href="#3341">3341</a>
<a class="jxr_linenumber" name="3342" href="#3342">3342</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="3343" href="#3343">3343</a> <em class="jxr_javadoccomment"> * @return the password used for authentication on the RunDeck instance (null if using token-based or session-based auth)</em>
<a class="jxr_linenumber" name="3344" href="#3344">3344</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="3345" href="#3345">3345</a> <strong class="jxr_keyword">public</strong> String getPassword() {
<a class="jxr_linenumber" name="3346" href="#3346">3346</a> <strong class="jxr_keyword">return</strong> password;
<a class="jxr_linenumber" name="3347" href="#3347">3347</a> }
<a class="jxr_linenumber" name="3348" href="#3348">3348</a>
<a class="jxr_linenumber" name="3349" href="#3349">3349</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="3350" href="#3350">3350</a> <em class="jxr_javadoccomment"> * @return the sessionID used for authentication on the RunDeck instance (null if using login-based or token-based auth)</em>
<a class="jxr_linenumber" name="3351" href="#3351">3351</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="3352" href="#3352">3352</a> <strong class="jxr_keyword">public</strong> String getSessionID() {
<a class="jxr_linenumber" name="3353" href="#3353">3353</a> <strong class="jxr_keyword">return</strong> sessionID;
<a class="jxr_linenumber" name="3354" href="#3354">3354</a> }
<a class="jxr_linenumber" name="3355" href="#3355">3355</a>
<a class="jxr_linenumber" name="3356" href="#3356">3356</a> @Override
<a class="jxr_linenumber" name="3357" href="#3357">3357</a> <strong class="jxr_keyword">public</strong> String toString() {
<a class="jxr_linenumber" name="3358" href="#3358">3358</a> StringBuilder str = <strong class="jxr_keyword">new</strong> StringBuilder();
<a class="jxr_linenumber" name="3359" href="#3359">3359</a> str.append(<span class="jxr_string">"RundeckClient "</span>).append(API_VERSION);
<a class="jxr_linenumber" name="3360" href="#3360">3360</a> str.append(<span class="jxr_string">" ["</span>).append(url).append(<span class="jxr_string">"] "</span>);
<a class="jxr_linenumber" name="3361" href="#3361">3361</a> <strong class="jxr_keyword">if</strong> (token != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="3362" href="#3362">3362</a> str.append(<span class="jxr_string">"(token="</span>).append(token).append(<span class="jxr_string">")"</span>);
<a class="jxr_linenumber" name="3363" href="#3363">3363</a> } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="3364" href="#3364">3364</a> str.append(<span class="jxr_string">"(credentials="</span>).append(login).append(<span class="jxr_string">"|"</span>).append(password).append(<span class="jxr_string">")"</span>);
<a class="jxr_linenumber" name="3365" href="#3365">3365</a> }
<a class="jxr_linenumber" name="3366" href="#3366">3366</a> <strong class="jxr_keyword">return</strong> str.toString();
<a class="jxr_linenumber" name="3367" href="#3367">3367</a> }
<a class="jxr_linenumber" name="3368" href="#3368">3368</a>
<a class="jxr_linenumber" name="3369" href="#3369">3369</a> @Override
<a class="jxr_linenumber" name="3370" href="#3370">3370</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> hashCode() {
<a class="jxr_linenumber" name="3371" href="#3371">3371</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> prime = 31;
<a class="jxr_linenumber" name="3372" href="#3372">3372</a> <strong class="jxr_keyword">int</strong> result = 1;
<a class="jxr_linenumber" name="3373" href="#3373">3373</a> result = prime * result + ((login == <strong class="jxr_keyword">null</strong>) ? 0 : login.hashCode());
<a class="jxr_linenumber" name="3374" href="#3374">3374</a> result = prime * result + ((password == <strong class="jxr_keyword">null</strong>) ? 0 : password.hashCode());
<a class="jxr_linenumber" name="3375" href="#3375">3375</a> result = prime * result + ((token == <strong class="jxr_keyword">null</strong>) ? 0 : token.hashCode());
<a class="jxr_linenumber" name="3376" href="#3376">3376</a> result = prime * result + ((url == <strong class="jxr_keyword">null</strong>) ? 0 : url.hashCode());
<a class="jxr_linenumber" name="3377" href="#3377">3377</a> <strong class="jxr_keyword">return</strong> result;
<a class="jxr_linenumber" name="3378" href="#3378">3378</a> }
<a class="jxr_linenumber" name="3379" href="#3379">3379</a>
<a class="jxr_linenumber" name="3380" href="#3380">3380</a> @Override
<a class="jxr_linenumber" name="3381" href="#3381">3381</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> equals(Object obj) {
<a class="jxr_linenumber" name="3382" href="#3382">3382</a> <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">this</strong> == obj)
<a class="jxr_linenumber" name="3383" href="#3383">3383</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="3384" href="#3384">3384</a> <strong class="jxr_keyword">if</strong> (obj == <strong class="jxr_keyword">null</strong>)
<a class="jxr_linenumber" name="3385" href="#3385">3385</a> <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="3386" href="#3386">3386</a> <strong class="jxr_keyword">if</strong> (getClass() != obj.getClass())
<a class="jxr_linenumber" name="3387" href="#3387">3387</a> <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="3388" href="#3388">3388</a> <a href="../../../org/rundeck/api/RundeckClient.html">RundeckClient</a> other = (RundeckClient) obj;
<a class="jxr_linenumber" name="3389" href="#3389">3389</a> <strong class="jxr_keyword">if</strong> (login == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="3390" href="#3390">3390</a> <strong class="jxr_keyword">if</strong> (other.login != <strong class="jxr_keyword">null</strong>)
<a class="jxr_linenumber" name="3391" href="#3391">3391</a> <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="3392" href="#3392">3392</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (!login.equals(other.login))
<a class="jxr_linenumber" name="3393" href="#3393">3393</a> <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="3394" href="#3394">3394</a> <strong class="jxr_keyword">if</strong> (password == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="3395" href="#3395">3395</a> <strong class="jxr_keyword">if</strong> (other.password != <strong class="jxr_keyword">null</strong>)
<a class="jxr_linenumber" name="3396" href="#3396">3396</a> <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="3397" href="#3397">3397</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (!password.equals(other.password))
<a class="jxr_linenumber" name="3398" href="#3398">3398</a> <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="3399" href="#3399">3399</a> <strong class="jxr_keyword">if</strong> (token == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="3400" href="#3400">3400</a> <strong class="jxr_keyword">if</strong> (other.token != <strong class="jxr_keyword">null</strong>)
<a class="jxr_linenumber" name="3401" href="#3401">3401</a> <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="3402" href="#3402">3402</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (!token.equals(other.token))
<a class="jxr_linenumber" name="3403" href="#3403">3403</a> <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="3404" href="#3404">3404</a> <strong class="jxr_keyword">if</strong> (url == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="3405" href="#3405">3405</a> <strong class="jxr_keyword">if</strong> (other.url != <strong class="jxr_keyword">null</strong>)
<a class="jxr_linenumber" name="3406" href="#3406">3406</a> <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="3407" href="#3407">3407</a> } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (!url.equals(other.url))
<a class="jxr_linenumber" name="3408" href="#3408">3408</a> <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="3409" href="#3409">3409</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="3410" href="#3410">3410</a> }
<a class="jxr_linenumber" name="3411" href="#3411">3411</a>
<a class="jxr_linenumber" name="3412" href="#3412">3412</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>