/// <summary> /// Start new job by robot id and proccess release key. /// </summary> /// <param name="robotId">Robot ID</param> /// <param name="releaseKey">Proccess release key</param> /// <param name="inputArguments">Input Arguments</param> /// <returns></returns> public Job StartJob(int robotId, string releaseKey, Dictionary <string, object> inputArguments, Folder folder = null) { Job job = null; if (string.IsNullOrEmpty(releaseKey)) { throw new ArgumentException("Proccess release key is empty."); } else { string output = ""; if (inputArguments.Any()) { var startInfo = new StartInfoContainer <StartJobsInfoWithArguments> { StartJobsInfo = new StartJobsInfoWithArguments { ReleaseKey = releaseKey, Strategy = "Specific", RobotIds = new int[] { robotId }, InputArgumentsAsString = JsonConvert.SerializeObject(inputArguments) } }; output = JsonConvert.SerializeObject(startInfo); } else { var startInfo = new StartInfoContainer <StartJobsInfo> { StartJobsInfo = new StartJobsInfo { ReleaseKey = releaseKey, Strategy = "Specific", RobotIds = new int[] { robotId } } }; output = JsonConvert.SerializeObject(startInfo); } //SentDataStore.Enqueue(output); byte[] sentData = Encoding.UTF8.GetBytes(output); string returnStr = null; try { returnStr = _requestExecutor.SendRequestPostForOdata("Jobs/UiPath.Server.Configuration.OData.StartJobs", sentData, folder); job = JsonConvert.DeserializeObject <Info <Job> >(returnStr).Items.FirstOrDefault(); } catch (Exception ex) { string errorString = _requestExecutor.LastErrorMessage; errorString += "\nException message:\n" + ex.Message; if (!string.IsNullOrEmpty(returnStr)) { errorString += "\nReturn string:\n" + returnStr; } throw new Exception(errorString); } } return(job); }
public QueueItem AddQueueItem(NewQueueItem queueItem, Folder folder = null) { string output = JsonConvert.SerializeObject(queueItem); byte[] sentData = Encoding.UTF8.GetBytes(output); string response = _requestExecutor.SendRequestPostForOdata("Queues/UiPathODataSvc.AddQueueItem", sentData, folder); return(JsonConvert.DeserializeObject <QueueItem>(response)); }
public Asset CreateInstance(Asset instance, Folder folder = null) { string output = JsonConvert.SerializeObject(instance); byte[] sentData = Encoding.UTF8.GetBytes(output); string response = _requestExecutor.SendRequestPostForOdata("Assets", sentData, folder); return(JsonConvert.DeserializeObject <Asset>(response)); }