04-28-2023 08:20 AM
Hi, I am designing a pipeline that needs to execute another pipeline upon it’s completion.
My original intention was to use the “Pipeline Execute” snap, but this snap has a limitation wherein, it cannot execute pipelines that are stored inside another folder within the same project. It is only able to execute from “shared” and from within the same folder. Moving the desired pipelines to the same folder / shared is not an option for me because it would break some design principles of my project.
I found the below text in the “Pipeline Execute” Snap Documentation:
To execute a SnapLogic Pipeline that is exposed as a REST service, use the [REST Get] Snap instead.
Therefore, I am seeking to satisfy my requirement by using REST Get to execute the pipeline, which I have exposed as a triggered task.
How can I configure the “REST Get” Snap to pass-in parameters and execute the triggered task, using the Secured Snaplogic URL? Does this go against best-practices?
NB: The pipeline that is being executed does not need to return any data to the parent pipeline.
Solved! Go to Solution.
04-28-2023 10:42 AM
You could specify the complete or relative path of the other pipeline in the Pipeline property of the Pipeline Execute snap. For example, if I was in “KoryK/examples/test1” pipeline and wanted to execute “KoryK/support/example4” pipeline, I would simply put “…/support/example4” in the Pipeline property.
Note that the calling pipeline would not complete until the child pipeline completes, even if it doesn’t use the child execution response.
It is preferred to execute a child pipeline using the Pipeline Execute snap, but there are use cases where calling via REST Get will work, especially “fire-and-forget” scenarios, as you are describing. Passing pipeline parameters via the REST Get can be done through the Query Parameters setting in the snap.
04-28-2023 10:42 AM
You could specify the complete or relative path of the other pipeline in the Pipeline property of the Pipeline Execute snap. For example, if I was in “KoryK/examples/test1” pipeline and wanted to execute “KoryK/support/example4” pipeline, I would simply put “…/support/example4” in the Pipeline property.
Note that the calling pipeline would not complete until the child pipeline completes, even if it doesn’t use the child execution response.
It is preferred to execute a child pipeline using the Pipeline Execute snap, but there are use cases where calling via REST Get will work, especially “fire-and-forget” scenarios, as you are describing. Passing pipeline parameters via the REST Get can be done through the Query Parameters setting in the snap.