コード例 #1
0
ファイル: ExecutionsApi.cs プロジェクト: sei-rreeder/crucible
        /// <summary>Executes the action. </summary>
        /// <param name="actionName">Name of the action. </param>
        /// <param name="parameters">The parameters for the given action. </param>
        /// <returns>The resulting execution; </returns>
        /// <seealso cref="M:Stackstorm.Api.Client.Apis.IExecutionsApi.ExecuteActionAsync(string,Dictionary{string,string})"/>
        public async Task <Execution> ExecuteActionAsync(string actionName, Dictionary <string, string> parameters)
        {
            ExecuteActionRequest request = new ExecuteActionRequest
            {
                action     = actionName,
                parameters = parameters
            };

            return(await _host.PostApiRequestAsync <Execution, ExecuteActionRequest>("/v1/executions/", request));
        }
コード例 #2
0
        internal async Task <Execution> AddExecution(string action, Dictionary <string, object> parameters)
        {
            if (!_host.HasToken())
            {
                await _host.RefreshTokenAsync();
            }
            try
            {
                var executionRequest = new ExecutionRequest(action, parameters);
                var r = await _host.PostApiRequestAsync <Execution, ExecutionRequest>("v1/executions", executionRequest);

                return(await Resolve(r));
            }
            catch (Exception e)
            {
                _log.Error(e);
                return(null);
            }
        }
コード例 #3
0
        internal async Task <Execution> AddExecution(string action, Dictionary <string, string> parameters)
        {
            if (!_host.HasToken())
            {
                await _host.RefreshTokenAsync();
            }
            try
            {
                var tempParameters = new Dictionary <string, string>();
                //delete any empty parameters
                if (parameters != null)
                {
                    foreach (var p in parameters)
                    {
                        if (!string.IsNullOrEmpty(p.Value))
                        {
                            tempParameters.Add(p.Key, p.Value);
                        }
                    }
                }

                var executionRequest = new ExecutionRequest(action, tempParameters);

                //var requestString = Newtonsoft.Json.JsonConvert.SerializeObject(executionRequest);
                //Console.WriteLine(requestString);

                var r = await _host.PostApiRequestAsync <Execution, ExecutionRequest>("v1/executions", executionRequest);

                return(await Resolve(r));
            }
            catch (Exception e)
            {
                _log.Error(e);
                return(null);
            }
        }
コード例 #4
0
 /// <summary>Creates a new action. </summary>
 /// <param name="action">The <see cref="Action"/> to create. </param>
 /// <returns>The new action asynchronous. </returns>
 /// <seealso cref="M:Stackstorm.Api.Client.Apis.IActionsApi.CreateActionAsync(Action)"/>
 public async Task <Action> CreateActionAsync(CreateAction action)
 {
     return(await _host.PostApiRequestAsync <Action, CreateAction>("/v1/actions/", action));
 }