This is an automated email from the ASF dual-hosted git repository.
bamaer pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/hop.git
The following commit(s) were added to refs/heads/main by this push:
new 4bbc851096 Document the result of the Pipeline, Workflow, Copy files,
Mail, Simple evaluation and SFTP actions. #8970 (#9000)
4bbc851096 is described below
commit 4bbc851096d783cf7627316fcd6cf292596f2a25
Author: Adalennis <[email protected]>
AuthorDate: Sun Oct 18 11:33:56 2026 +0200
Document the result of the Pipeline, Workflow, Copy files, Mail, Simple
evaluation and SFTP actions. #8970 (#9000)
---
.../ROOT/pages/workflow/actions/copyfiles.adoc | 13 +++++++++++++
.../modules/ROOT/pages/workflow/actions/mail.adoc | 17 ++++++++++++++++-
.../ROOT/pages/workflow/actions/pipeline.adoc | 21 ++++++++++++++++++---
.../modules/ROOT/pages/workflow/actions/sftp.adoc | 14 ++++++++++++++
.../ROOT/pages/workflow/actions/simpleeval.adoc | 15 +++++++++++++++
.../ROOT/pages/workflow/actions/workflow.adoc | 19 +++++++++++++++++--
6 files changed, 93 insertions(+), 6 deletions(-)
diff --git
a/docs/hop-user-manual/modules/ROOT/pages/workflow/actions/copyfiles.adoc
b/docs/hop-user-manual/modules/ROOT/pages/workflow/actions/copyfiles.adoc
index 414dd38b6d..4d6e486c7d 100644
--- a/docs/hop-user-manual/modules/ROOT/pages/workflow/actions/copyfiles.adoc
+++ b/docs/hop-user-manual/modules/ROOT/pages/workflow/actions/copyfiles.adoc
@@ -65,6 +65,19 @@ If you choose an option other than <Static> in the
Destination Environment field
|Add files to result files name|Any files that are copied will appear as a
result from this action; shows a list of files that were copied in this
action|unchecked
|===
+== Result
+
+What this action passes on to the next action. See
xref:workflow/action-results.adoc[Action results] for how results travel
through a workflow.
+
+[options="header", width="90%", cols="1,3"]
+|===
+|Result|Value
+|True|Every source and destination pair was processed. A file that can't be
copied inside a folder is only logged: the action is still true, with 0 errors.
+|False|At least one pair failed, for example because the source doesn't exist
or the destination folder can't be found. The number of errors is the number of
pairs that failed.
+|Result files|With *Add files to result files name*, the files copied to a
file (*Destination is a file*) and the files copied from a folder are added. A
single file copied into a folder is not added, and neither are folders. The
files the action received are passed on.
+|Result rows|Passed on unchanged. With *Copy previous results to arguments*,
the action takes its pairs from the result rows instead of the Files tab: the
source in the first field, the destination in the second and the wildcard in
the third.
+|===
+
// == Open File
//
// |===
diff --git a/docs/hop-user-manual/modules/ROOT/pages/workflow/actions/mail.adoc
b/docs/hop-user-manual/modules/ROOT/pages/workflow/actions/mail.adoc
index eb8d846a6d..8d159eb1c7 100644
--- a/docs/hop-user-manual/modules/ROOT/pages/workflow/actions/mail.adoc
+++ b/docs/hop-user-manual/modules/ROOT/pages/workflow/actions/mail.adoc
@@ -107,7 +107,7 @@ Note: The support of this flag is depending on the mail
server.
[options="header", width="90%", cols="1,3"]
|===
|Option|Description
-|Attach files to message?|Enable to attach a file to your email message
+|Attach file(s) to message|Enable to attach a file to your email message
|Select file type a|The files to send are defined within the internal files
result set.
Every file in this list is marked with a file type and you can select what
type of file you want to send (see also the tips at the end of this document):
@@ -126,6 +126,21 @@ Note: This works only when Use HTML format is defined in
the EMail Message tab.
|Content ID|The image content ID (used when embedding multiple images) Click
Edit to edit the content ID; click Delete to delete the Content ID
|===
+== Result
+
+What this action passes on to the next action. See
xref:workflow/action-results.adoc[Action results] for how results travel
through a workflow.
+
+[options="header", width="90%", cols="1,3"]
+|===
+|Result|Value
+|True|The message was sent and no error was counted.
+|False|The message could not be sent, for example because no server is set,
the connection or the login failed, or an address is invalid. It is also false
when an error was counted while preparing the attachments, even though the
message is sent: with *Zip files to single archive*, a zip that can't be
created is left out and the message goes out without it. The number of errors
is 1.
+|Result files|Passed on unchanged. With *Attach file(s) to message*, the
result files of the selected types are attached to the message. A result file
that no longer exists is skipped without an error, unless *Zip files to single
archive* is enabled.
+|Result rows|Passed on unchanged.
+|===
+
+NOTE: When the selected xref:metadata-types/mail-server-connection.adoc[Mail
server connection] doesn't exist, the action doesn't return false: the workflow
stops with an error, and no hop is followed.
+
== Tips
**How to attach a particular file to the e-mail**
diff --git
a/docs/hop-user-manual/modules/ROOT/pages/workflow/actions/pipeline.adoc
b/docs/hop-user-manual/modules/ROOT/pages/workflow/actions/pipeline.adoc
index 5bcd7b1940..8583e42366 100644
--- a/docs/hop-user-manual/modules/ROOT/pages/workflow/actions/pipeline.adoc
+++ b/docs/hop-user-manual/modules/ROOT/pages/workflow/actions/pipeline.adoc
@@ -62,9 +62,8 @@ Select the desired run configuration to control where and how
the pipeline is ex
|Execute for every result row|Runs the pipeline once for every result row from
a previous pipeline (or workflow) in the current workflow.
|Clear results rows before execution|Makes sure the results rows are cleared
before the pipeline starts.
|Clear results files before execution|Makes sure the results files are cleared
before the pipeline starts.
-|Wait for remote pipeline to finish|If you selected Server as your environment
type, choose this option to block the workflow until the pipeline runs on the
server.
+|Wait for the pipeline to complete|Blocks the workflow until the pipeline has
finished, so this action returns the result of the pipeline. Enabled by default.
|Stop after (milliseconds)|Maximum time to wait for the pipeline to complete.
Empty or 0 means wait indefinitely. When the time is reached the pipeline is
stopped and this action fails. Only used when wait-to-finish is enabled. The
value may contain a variable.
-|Follow local abort to remote pipeline|If you selected Server as your
environment type, choose this option to send the local abort signal remotely.
|===
=== Logging tab
@@ -105,7 +104,7 @@ A value you fill in here overrides the sub-pipeline's own
default for this execu
Use Set variables if you want to pass a single value upstream from a pipeline
to the workflow and act upon that variable. In this case, you can choose a
scope of “valid in the parent workflow”.
-[options="header", width="90%", cols-"1,3]
+[options="header", width="90%", cols="1,3"]
|===
|Option|Description
|Copy results to parameters|Copies the results from a previous pipeline as
parameters of the pipeline using the Copy rows to result transform.
@@ -119,3 +118,19 @@ Use Set variables if you want to pass a single value
upstream from a pipeline to
|Get Parameters|Get the existing parameters already associated by the pipeline.
|===
+
+== Result
+
+What this action passes on to the next action. See
xref:workflow/action-results.adoc[Action results] for how results travel
through a workflow.
+
+[options="header", width="90%", cols="1,3"]
+|===
+|Result|Value
+|True|The pipeline ran without errors. With *Execute for every result row*,
every run did.
+|False|The pipeline could not be loaded or started, the log file of *Specify
logfile* could not be created, one of its transforms had an error, or *Stop
after (milliseconds)* was reached. The number of errors comes from the
pipeline. With *Execute for every result row*, the first run that fails ends
the loop: the remaining rows are not processed.
+|Result files|The files the pipeline added to the result are added to the
files the action received, plus the log file with *Specify logfile*. *Clear
results files before execution* empties the list before every run, so with
*Execute for every result row* only the files of the last run are kept.
+|Result rows|When the pipeline contains a
xref:pipeline/transforms/copyrowstoresult.adoc[Copy rows to result] transform,
its rows replace the rows the action received, even when it copies none.
Otherwise the rows are passed on unchanged. *Clear results rows before
execution* empties the list first. With *Execute for every result row*, every
run receives only its own row, and the action passes on what the last run left:
the rows it copied, or else the last row the action received.
+|Metrics|The line counts and the number of errors of the pipeline. With
*Execute for every result row*, those of the last run.
+|===
+
+Without *Wait for the pipeline to complete*, the result is true as soon as the
pipeline starts, and the files, rows and metrics of the pipeline are not passed
on.
diff --git a/docs/hop-user-manual/modules/ROOT/pages/workflow/actions/sftp.adoc
b/docs/hop-user-manual/modules/ROOT/pages/workflow/actions/sftp.adoc
index 4b4914b72a..5820655a0e 100644
--- a/docs/hop-user-manual/modules/ROOT/pages/workflow/actions/sftp.adoc
+++ b/docs/hop-user-manual/modules/ROOT/pages/workflow/actions/sftp.adoc
@@ -96,6 +96,20 @@ A.*[ENG:0-9].txt : files tarting with A, ending with a
number and .txt
|Add filenames to result|If checked the information about downloaded files is
added to the result files stream.
|===
+== Result
+
+What this action passes on to the next action. See
xref:workflow/action-results.adoc[Action results] for how results travel
through a workflow.
+
+[options="header", width="90%", cols="1,3"]
+|===
+|Result|Value
+|True|The files were retrieved without errors. This includes when no file
matched, and when *Copy previous results to args* is enabled and there are no
result rows.
+|False|The connection, the login or the change of remote directory failed, the
target directory doesn't exist and *Create target folder* is not enabled, a
file could not be retrieved, or *Remove files after retrieval* failed. In that
last case the file was already downloaded and added to the result files. The
number of errors is 1.
+|Result files|With *Add filenames to result*, every file the action downloaded
is added, in the target directory, also when the action fails afterwards.
+|Result rows|Passed on unchanged. With *Copy previous results to args*, the
action retrieves the files whose name is exactly the first field of a result
row, and the wildcard is not used.
+|Metrics|Files retrieved: the number of files the action downloaded. It is
only set when the action succeeds: files downloaded before a failure are not
counted.
+|===
+
== Algorithm Negotiation Fail Error [[negotiation_error]]
If your `Get a file with SFTP` action returns an error message like the one
below, you (or the server you are connecting to) are probably using key types
that are considered unsafe in the dependencies used by this action in recent
Apache Hop versions.
diff --git
a/docs/hop-user-manual/modules/ROOT/pages/workflow/actions/simpleeval.adoc
b/docs/hop-user-manual/modules/ROOT/pages/workflow/actions/simpleeval.adoc
index ed6dc5ee5a..fd06118d8c 100644
--- a/docs/hop-user-manual/modules/ROOT/pages/workflow/actions/simpleeval.adoc
+++ b/docs/hop-user-manual/modules/ROOT/pages/workflow/actions/simpleeval.adoc
@@ -68,6 +68,21 @@ Evaluation type:
|Value|The value to compare.
|===
+== Result
+
+What this action passes on to the next action. See
xref:workflow/action-results.adoc[Action results] for how results travel
through a workflow.
+
+[options="header", width="90%", cols="1,3"]
+|===
+|Result|Value
+|True|The condition under *Success On* is met. With *Success when source
variable set*, the variable is set.
+|False|The condition is not met, and the number of errors is 0. When the value
can't be evaluated, the number of errors is 1: there are no result rows, the
field doesn't exist, the *Variable name* field is empty, or the value or the
value to compare is not a valid number or date.
+|Result files|Passed on unchanged. With *Number of result files*, the action
evaluates how many files it received.
+|Result rows|Passed on unchanged. With *Field from previous result*, the
action evaluates the field in the first result row.
+|===
+
+NOTE: An invalid regular expression with *If value valid regex* doesn't return
false: the workflow stops with an error, and no hop is followed.
+
== Tips
**Evaluating a variable**
diff --git
a/docs/hop-user-manual/modules/ROOT/pages/workflow/actions/workflow.adoc
b/docs/hop-user-manual/modules/ROOT/pages/workflow/actions/workflow.adoc
index 527292ddf7..0cfb5d8564 100644
--- a/docs/hop-user-manual/modules/ROOT/pages/workflow/actions/workflow.adoc
+++ b/docs/hop-user-manual/modules/ROOT/pages/workflow/actions/workflow.adoc
@@ -66,7 +66,7 @@ For example, if your `+${PROJECT_HOME}+` is
`/home/admin/hop/project/` and you s
|Execute for every result row|Implements looping; if the previous workflow
action returns a set of result rows, the workflow executes once for every row
found.
One row is passed to the workflow at every execution.
For example, you can execute a workflow for each file found in a
directory.|false
-|Wait for the remote workflow to finish?|Enable to block until the workflow on
the Hop Server has finished|true
+|Wait for remote workflow to complete|Blocks the workflow until the child
workflow has finished, so this action returns the result of the child
workflow.|true
|Stop after (milliseconds)|Maximum time to wait for the workflow to complete.
Empty or 0 means wait indefinitely. When the time is reached the workflow is
stopped and this action fails. Only used when wait-to-finish is enabled. The
value may contain a variable.|empty (no limit)
|===
@@ -87,7 +87,7 @@ If, however, you want all your log information kept in one
place, you must set u
[options="header",cols="1,3", width="90%"]
|===
|Option|Description
-|Specify logfile?|Enable to specify a separate logging file for the execution
of this workflow
+|Specify logfile|Enable to specify a separate logging file for the execution
of this workflow
|Name of logfile|The directory and base name of the log file; for example
`C:\logs`
|Extension of logfile|The file name extension; for example, log or txt
|Loglevel|Specifies the logging level for the execution of the workflow. See
xref:logging/logging-basics.adoc[Logging] for more details.
@@ -123,3 +123,18 @@ You can do this by:
|===
+== Result
+
+What this action passes on to the next action. See
xref:workflow/action-results.adoc[Action results] for how results travel
through a workflow.
+
+[options="header", width="90%", cols="1,3"]
+|===
+|Result|Value
+|True|The child workflow ended with a true result.
+|False|The workflow could not be loaded or started, the log file of *Specify
logfile* could not be created, the child workflow ended with a false result, or
*Stop after (milliseconds)* was reached. With *Execute for every result row*,
the first run that fails ends the loop: the remaining rows are not processed.
+|Result files|The result files of the child workflow are added to the files
the action received, plus the log file with *Specify logfile*.
+|Result rows|The child workflow starts with the rows the action received. When
it returns at least one row, those rows replace the rows the action received;
when it returns none, the received rows are passed on. A child that doesn't
change the rows returns them as it received them. With *Execute for every
result row*, every run receives only its own row, and the action passes on what
the last run left: the rows the last child returned, or else the last row the
action received.
+|Metrics|The line counts and the number of errors of the child workflow. With
*Execute for every result row*, those of the last run.
+|===
+
+Without *Wait for remote workflow to complete*, the result is true as soon as
the child workflow starts, and its files, rows and metrics are not passed on.