files.com 1.1.682 → 1.1.683
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/_VERSION +1 -1
- data/docs/automation.md +12 -4
- data/docs/automation_authoring_schema.md +3 -1
- data/docs/automation_execution_node.md +39 -0
- data/docs/automation_log.md +19 -7
- data/docs/automation_run.md +75 -0
- data/lib/files.com/models/automation.rb +19 -2
- data/lib/files.com/models/automation_authoring_schema.rb +5 -0
- data/lib/files.com/models/automation_execution_node.rb +82 -0
- data/lib/files.com/models/automation_log.rb +37 -7
- data/lib/files.com/models/automation_run.rb +62 -0
- data/lib/files.com/version.rb +1 -1
- data/lib/files.com.rb +1 -0
- metadata +3 -1
data/docs/automation_run.md
CHANGED
|
@@ -15,12 +15,34 @@
|
|
|
15
15
|
"retried_at": "2000-01-01T01:00:00Z",
|
|
16
16
|
"retried_in_run_id": 1,
|
|
17
17
|
"retry_of_run_id": 1,
|
|
18
|
+
"rerun_of_run_id": 1,
|
|
19
|
+
"rerun_from_node_id": "example",
|
|
18
20
|
"runtime": 1.0,
|
|
19
21
|
"status": "success",
|
|
20
22
|
"successful_operations": 1,
|
|
21
23
|
"failed_operations": 1,
|
|
22
24
|
"definition": "example",
|
|
23
25
|
"node_states": "example",
|
|
26
|
+
"execution_nodes": [
|
|
27
|
+
{
|
|
28
|
+
"node_id": "example",
|
|
29
|
+
"node_type": "example",
|
|
30
|
+
"status": "example",
|
|
31
|
+
"run_stage": "example",
|
|
32
|
+
"reused": true,
|
|
33
|
+
"successful_operations": 1,
|
|
34
|
+
"failed_operations": 1,
|
|
35
|
+
"started_at": "2000-01-01T01:00:00Z",
|
|
36
|
+
"completed_at": "2000-01-01T01:00:00Z",
|
|
37
|
+
"duration_ms": 1,
|
|
38
|
+
"inputs": [
|
|
39
|
+
"example"
|
|
40
|
+
],
|
|
41
|
+
"outputs": "example",
|
|
42
|
+
"input_items": "example",
|
|
43
|
+
"output_items": "example"
|
|
44
|
+
}
|
|
45
|
+
],
|
|
24
46
|
"journal_url": "example",
|
|
25
47
|
"status_messages_url": "https://www.example.com/log_file.txt"
|
|
26
48
|
}
|
|
@@ -37,12 +59,15 @@
|
|
|
37
59
|
* `retried_at` (date-time): If set, this Automation run was retried due to `failure` or `partial_failure`.
|
|
38
60
|
* `retried_in_run_id` (int64): ID of the run that is or will be retrying this run.
|
|
39
61
|
* `retry_of_run_id` (int64): ID of the original run that this run is retrying.
|
|
62
|
+
* `rerun_of_run_id` (int64): ID of the run whose persisted node outputs this run reused.
|
|
63
|
+
* `rerun_from_node_id` (string): Node at which this run resumed execution.
|
|
40
64
|
* `runtime` (double): Automation run runtime.
|
|
41
65
|
* `status` (string): The status of the AutomationRun. One of `queued`, `running`, `success`, `partial_failure`, `failure`, `skipped`, or `canceled`.
|
|
42
66
|
* `successful_operations` (int64): Count of successful operations.
|
|
43
67
|
* `failed_operations` (int64): Count of failed operations.
|
|
44
68
|
* `definition` (object): Automation definition snapshot pinned by this run. For performance reasons, this is not provided when listing Automation runs.
|
|
45
69
|
* `node_states` (object): Status and execution stage for each node in this run. For performance reasons, this is not provided when listing Automation runs.
|
|
70
|
+
* `execution_nodes` (array(object)): Execution status, timing, and bounded output summaries for each node. For performance reasons, this is not provided when listing Automation runs.
|
|
46
71
|
* `journal_url` (string): Link to the run journal artifact.
|
|
47
72
|
* `status_messages_url` (string): Link to status messages log file.
|
|
48
73
|
|
|
@@ -81,6 +106,22 @@ Files::AutomationRun.find(id)
|
|
|
81
106
|
* `id` (int64): Required - Automation Run ID.
|
|
82
107
|
|
|
83
108
|
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## Show Automation Run Node
|
|
112
|
+
|
|
113
|
+
```
|
|
114
|
+
Files::AutomationRun.find_node(id,
|
|
115
|
+
node_id: "node_id"
|
|
116
|
+
)
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
### Parameters
|
|
120
|
+
|
|
121
|
+
* `id` (int64): Required - Automation Run ID.
|
|
122
|
+
* `node_id` (string): Required - Node ID from the pinned Automation definition.
|
|
123
|
+
|
|
124
|
+
|
|
84
125
|
---
|
|
85
126
|
|
|
86
127
|
## Cancel Automation Run
|
|
@@ -94,6 +135,22 @@ Files::AutomationRun.cancel(id)
|
|
|
94
135
|
* `id` (int64): Required - Automation Run ID.
|
|
95
136
|
|
|
96
137
|
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## Re-run Automation from Node
|
|
141
|
+
|
|
142
|
+
```
|
|
143
|
+
Files::AutomationRun.rerun(id,
|
|
144
|
+
node_id: "node_id"
|
|
145
|
+
)
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
### Parameters
|
|
149
|
+
|
|
150
|
+
* `id` (int64): Required - Automation Run ID.
|
|
151
|
+
* `node_id` (string): Required - Node ID at which execution should resume.
|
|
152
|
+
|
|
153
|
+
|
|
97
154
|
---
|
|
98
155
|
|
|
99
156
|
## Cancel Automation Run
|
|
@@ -107,3 +164,21 @@ automation_run.cancel
|
|
|
107
164
|
### Parameters
|
|
108
165
|
|
|
109
166
|
* `id` (int64): Required - Automation Run ID.
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
---
|
|
170
|
+
|
|
171
|
+
## Re-run Automation from Node
|
|
172
|
+
|
|
173
|
+
```
|
|
174
|
+
automation_run = Files::AutomationRun.find(id)
|
|
175
|
+
|
|
176
|
+
automation_run.rerun(
|
|
177
|
+
node_id: "node_id"
|
|
178
|
+
)
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
### Parameters
|
|
182
|
+
|
|
183
|
+
* `id` (int64): Required - Automation Run ID.
|
|
184
|
+
* `node_id` (string): Required - Node ID at which execution should resume.
|
|
@@ -135,6 +135,15 @@ module Files
|
|
|
135
135
|
@attributes[:import_urls] = value
|
|
136
136
|
end
|
|
137
137
|
|
|
138
|
+
# string - If trigger is `email`, this is the address that triggers the Automation.
|
|
139
|
+
def inbound_email_address
|
|
140
|
+
@attributes[:inbound_email_address]
|
|
141
|
+
end
|
|
142
|
+
|
|
143
|
+
def inbound_email_address=(value)
|
|
144
|
+
@attributes[:inbound_email_address] = value
|
|
145
|
+
end
|
|
146
|
+
|
|
138
147
|
# boolean - Normally copy and move automations that use globs will implicitly preserve the source folder structure in the destination. If this flag is `true`, the source folder structure will be flattened in the destination. This is useful for copying or moving files from multiple folders into a single destination folder.
|
|
139
148
|
def flatten_destination_structure
|
|
140
149
|
@attributes[:flatten_destination_structure]
|
|
@@ -396,12 +405,16 @@ module Files
|
|
|
396
405
|
@attributes[:holiday_region] = value
|
|
397
406
|
end
|
|
398
407
|
|
|
399
|
-
# Manually Run Automation
|
|
408
|
+
# Manually Run Automation. v2 Automations require Site or Workspace Admin permission
|
|
409
|
+
#
|
|
410
|
+
# Parameters:
|
|
411
|
+
# items - array(object) - Initial items for a v2 manual trigger. Each item contains exactly one `file` path or `data` object.
|
|
400
412
|
def manual_run(params = {})
|
|
401
413
|
params ||= {}
|
|
402
414
|
params[:id] = @attributes[:id]
|
|
403
415
|
raise MissingParameterError.new("Current object doesn't have a id") unless @attributes[:id]
|
|
404
416
|
raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params[:id] and !params[:id].is_a?(Integer)
|
|
417
|
+
raise InvalidParameterError.new("Bad parameter: items must be an Array") if params[:items] and !params[:items].is_a?(Array)
|
|
405
418
|
raise MissingParameterError.new("Parameter missing: id") unless params[:id]
|
|
406
419
|
|
|
407
420
|
Api.send_request("/automations/#{@attributes[:id]}/manual_run", :post, params, @options)
|
|
@@ -620,11 +633,15 @@ module Files
|
|
|
620
633
|
Automation.new(response.data, options)
|
|
621
634
|
end
|
|
622
635
|
|
|
623
|
-
# Manually Run Automation
|
|
636
|
+
# Manually Run Automation. v2 Automations require Site or Workspace Admin permission
|
|
637
|
+
#
|
|
638
|
+
# Parameters:
|
|
639
|
+
# items - array(object) - Initial items for a v2 manual trigger. Each item contains exactly one `file` path or `data` object.
|
|
624
640
|
def self.manual_run(id, params = {}, options = {})
|
|
625
641
|
params ||= {}
|
|
626
642
|
params[:id] = id
|
|
627
643
|
raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params[:id] and !params[:id].is_a?(Integer)
|
|
644
|
+
raise InvalidParameterError.new("Bad parameter: items must be an Array") if params[:items] and !params[:items].is_a?(Array)
|
|
628
645
|
raise MissingParameterError.new("Parameter missing: id") unless params[:id]
|
|
629
646
|
|
|
630
647
|
Api.send_request("/automations/#{params[:id]}/manual_run", :post, params, options)
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Files
|
|
4
|
+
class AutomationExecutionNode
|
|
5
|
+
attr_reader :options, :attributes
|
|
6
|
+
|
|
7
|
+
def initialize(attributes = {}, options = {})
|
|
8
|
+
@attributes = attributes || {}
|
|
9
|
+
@options = options || {}
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
# string - Node ID from the pinned Automation definition.
|
|
13
|
+
def node_id
|
|
14
|
+
@attributes[:node_id]
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
# string - Node type.
|
|
18
|
+
def node_type
|
|
19
|
+
@attributes[:node_type]
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
# string - Node status.
|
|
23
|
+
def status
|
|
24
|
+
@attributes[:status]
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
# string - Current node execution stage.
|
|
28
|
+
def run_stage
|
|
29
|
+
@attributes[:run_stage]
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
# boolean - Whether this node reused persisted output from an earlier run.
|
|
33
|
+
def reused
|
|
34
|
+
@attributes[:reused]
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
# int64 - Count of successful operations in this node.
|
|
38
|
+
def successful_operations
|
|
39
|
+
@attributes[:successful_operations]
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
# int64 - Count of failed operations in this node.
|
|
43
|
+
def failed_operations
|
|
44
|
+
@attributes[:failed_operations]
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
# date-time - When this node started.
|
|
48
|
+
def started_at
|
|
49
|
+
@attributes[:started_at]
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
# date-time - When this node completed.
|
|
53
|
+
def completed_at
|
|
54
|
+
@attributes[:completed_at]
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
# int64 - Node runtime in milliseconds.
|
|
58
|
+
def duration_ms
|
|
59
|
+
@attributes[:duration_ms]
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
# array(object) - Ordered inbound edge references.
|
|
63
|
+
def inputs
|
|
64
|
+
@attributes[:inputs]
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
# object - Output counts, item kinds, and typed-error summaries by outlet.
|
|
68
|
+
def outputs
|
|
69
|
+
@attributes[:outputs]
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
# object - Materialized input items currently available, grouped by inlet.
|
|
73
|
+
def input_items
|
|
74
|
+
@attributes[:input_items]
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
# object - Materialized output items grouped by outlet.
|
|
78
|
+
def output_items
|
|
79
|
+
@attributes[:output_items]
|
|
80
|
+
end
|
|
81
|
+
end
|
|
82
|
+
end
|