Exemplo n.º 1
0
        /// <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);
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
        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));
        }