Snaplogic Triggered Task using an OnPremises URL through Load Balanced Groundplex Nodes
This article describes how a triggered task is invoked in the SnapLogic Elastic Integration Platform using an OnPremise URL through load balanced Groundplex nodes. Assume that your organization has a SnapLogic Groundplex provisioned with 3 nodes. When an OnPremise URL is exposed for a triggered task, it will automatically suggest the hostname of one of the nodes that belongs to the Groundplex. e.g., https://GP-Node1:<port>/api/1/rest/feed/<RELATIVE_PATH_TO_TASK>/ To provide redundancy across all nodes in the Groundplex when a triggered task is invoked, a load balancer can be placed in front of the Groundplex nodes. When a load balancer is setup and configured, Snaplogic will use the load balancer in the auto-generated OnPremise URL. e.g., https://GP-LB:<PORT>/api/1/rest/feed/<RELATIVE_PATH_TO_TASK>/ The following diagram describes the flow of network requests made when remotely executing a triggered task using a load balancer OnPremise URL. A remote client invokes the triggered task using the OnPremise URL that points to the load balancer (e.g., GP-LB). The load balancer forwards the request to an active groundplex node. GP-Node1 is selected for the purpose of this example. The groundplex node that receives the triggered task request asks the Control Plane on which node the task should be executed. The Control Plane forwards the request to an active groundplex node. GP-Node2 is selected for the purpose of this example. The triggered task now prepares to be executed on GP-Node2. An HTTPS connection is created between GPNode-1 and GP-Node2 to enable data to be streamed between the nodes. The data is read/write from/to the end points. The response message is sent though GP-Node1 then GP-LB (load balancer) back to the caller.11KViews4likes23CommentsExecuting a Snaplogic Triggered Task via REST, From a SnapLogic Pipeline
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.Solved3.3KViews0likes1CommentTriggered task response
We have a snaplogic pipeline which is designed to load data into the table and have created a triggered task to invoke the pipeline. This task is being called by another application. In the recent execution , this task was invoked successfully and I do not see any issue in loading data but I see some error in the dashboard: Encountered an error while sending response to triggered task client Reason: Close SendCallback@6b8420[PROCESSING][i=null,cb=org.eclipse.jetty.server.HttpChannel$SendCallback@627a7819] in state PROCESSING Resolution: Check network connection and make sure the client is fully reading the response Can someone help with in decoding this error please? Thanks2.1KViews0likes2CommentsHow to capture the Trigger task API headers
Hi, I want to capture all the headers passed to a Triggered task. Generally they are hidden in the Pipeline Parameters in a triggered execution. Based on a header ‘User-Agent’ we have to take an action. Could someone please help with info on this?4.3KViews0likes4CommentsSettings a HTTP response code for triggered tasks
Hi everyone, we’re offering a triggered task as a sort of simplified API for a more complex REST API (specifically Jira). What we want to achieve is to influence the HTTP return code, status and message we deliver back to the caller of the triggered task based on the return result of the REST API. Here’s a brief description for context: Assuming there’s an error in the Jira Search snap, the error will bubble up to the pipeline execute snap, which in turn triggers the attached error pipe of the template pipe. This will ensure that the error is correctly logged, however, the response to the caller of the triggered task will be 200 in any case. I’m unsure of 2 points: Where is the response formed and delivered back to the caller? At the Error pipe or already somewhere before that? Is there any way to influence what is delivered back to the caller? Ideally we’d like to implement a solution in the template pipeline for e.g. common response codes, but want to refrain from having to implement ‘repsonse code conditionals’ in every integration pipeline. Any suggestions are highly appreciated! Thanks and best regards Thomas8.2KViews0likes7CommentsJIRA event capture in real time via WebHooks and triggering Snaplogic pipelines
Jira event capture in real time via WebHook and trigger Snaplogic pipeline How to Trigger Snaplogic Pipeline after an event in Jira This document shows how to setup a Jira instance to trigger a Snaplogic Pipeline (REST API) after an event in Jira and send the event information to Snaplogic pipeline. The events can be one of the following: • Issue related events • Project related events • User related events • JIRA configuration related events • JIRA Software related events Integration Scenario: Update ServiceNow ticket when an Issue is updated in Jira Steps involved in this integration are: • Create a SnapLogic pipeline and publish it as a triggered task • Create a WebHook in Jira to trigger a SnapLogic pipeline after an issue is updated in Jira Step1: Create a Snaplogic pipeline and publish it as a triggered task The diagram below is a screen shot of SnapLogic pipeline that consumes the json document sent by Jira after an event (Example: Issue update, like add comments) happens in Jira and updates corresponding ServiceNow ticket. The Binary Router Snap receives the incoming json from Jira and sends the output to two flows. In the first flow, the incoming json document in binary format is parsed and converted to document format, mapper is used to map Jira issue information to appropriate fields in Service Now and “ServiceNow Update Snap” is used to update ServiceNow ticket. In the second flow, the json received from Jira is written to an audit file. A section of the json document received is below. { “timestamp”: 1483558289780, “webhookEvent”: “comment_created”, “comment”: { “self”: “https://snaplogic.atlassian.net/rest/api/2/issue/25701/comment/21801”, “id”: “21801”, “author”: { “self”: “https://snaplogic.atlassian.net/rest/api/2/user?username=admin”, “name”: “admin”, “key”: “admin”, “created”: “2017-01-04T11:31:29.780-0800”, “updated”: “2017-01-04T11:31:29.780-0800” } } The following is a triggered task REST API created by Snaplogic for the integration scenario and we will use this to configure WebHook in Jira. https://elastic.snaplogic.com:443/api/1/rest/slsched/feed/ConnectFasterInc/Shankar%20Sanikop/ServiceNow%20Jira/Jira%20Outbound%20Trigger%20Task? Step2: Create a WebHook in Jira to trigger a Snaplogic pipeline after an issue is updated in Jira In Jira go to Applications. You will see WebHooks in Advanced Configuration Create a new WebHook to call the Snaplogic Triggered task In the URL configuration: Put the Snaplogic Triggered task, including the authorization information (bearer_token) https://elastic.snaplogic.com:443/api/1/rest/slsched/feed/ConnectFasterInc/Shankar%20Sanikop/ServiceNow%20Jira/Jira%20Outbound%20Trigger%20Task?bearer_token=FrcE0Whf6r2NjHx Configure the event related information, in this integration we are capturing the issue related events. The diagram below shows the available events of an issue that can be captured and also you can write a JQL query send events only that match certain conditions. strong text4.5KViews0likes1CommentSemantic URL Example
Hi, I would like to know how to correctly pass data via Semantic URL (as a Triggered Task via URL)? Here is what I did: Edit Pipeline Properties: I created an exampleId variable, if I wanted to pass a value of 1 to the exampleId variable: https://elastic.snaplogic.com:443/api/1/rest/path/to/my/project/pipelineName/exampleId/1 What I have working is: https://elastic.snaplogic.com:443/api/1/rest/path/to/my/project/pipelineName/?exampleId=19.2KViews1like18Comments