boomerang-io / worker.flow Goto Github PK
View Code? Open in Web Editor NEWThe default out of the box worker for Boomerang Flow tasks
Home Page: https://useboomerang.io
The default out of the box worker for Boomerang Flow tasks
Home Page: https://useboomerang.io
On other types of error, that are in the catch for the http.request the offered error is sent and at task response body is empty. Casting is to be performed, or optional chaining.
Is your request related to a problem? Please describe.
During the execution of the HTTP Call task, if something wrong happens during the processing part of the response, it is difficult debug the problem since there is no information on the response content.
Describe the solution you'd like
In debug mode, output the content so the developers can check for the response of the integration.
Describe the benefits or justification for this request
Ease up the investigation and speeds up the solution identification. Started in non-debug mode there is no security, performance impact.
Additional context
Add any other context or screenshots about the feature request here.
For internal routes that have HTTP protocol an error is triggered with HTTP Promise error: TypeError [ERR_INVALID_PROTOCOL]: Protocol "http:" not supported. Expected "https:"
.
Similar behaviour to HTTPS protocol calling HTTP url.
Is your request related to a problem? Please describe.
There are cases when the flow needs a retry capability of the Execute HTTP Task when a specific HTTP call response is received.
For example if the task receives a HTTP 504, the flow might want to retry for a number of times before giving-up on the call.
Describe the solution you'd like
Allow the end-user to select an HTTP list of error codes for which the the task if receives the http response code it will retry for a number of x times - again configurable in the UI.
Describe the benefits or justification for this request
Sometime calls might fail due to network reasons, a retry mechanism helps in getting the workflow with success to its end.
Additional context
Refactor the HTTP task to incorporate different Success , Retry and Error codes.
Describe the bug
Using a task from the Slack category, a task with an output bigger than 4K, will break due to Tekton limitation on the output result parameters.
To Reproduce
Run Get Slack Channels task in a workflow and it will fail with
Unable to execute job with reason: TaskRunResultTooLarge - Task has exceeded the maximum allowed 4096 byte size for Result Parameters..
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Environment (please complete the following information):
Additional context
Add any other context about the problem here.
The HTTP Task return the statusCode with quotes.
JSON.stringify applied on String variable results on quotes to be "shown".
The validation prior to the latest worker was an && not an ||. Its meant to be checkinf if both fields are empty.
Change can be seen in this PR https://github.com/boomerang-io/worker.flow/pull/47/files in the mail.js file.
Fix for older version of docker image.
After Snyk scan a few docker dependencies have been found.
https://app.snyk.io/org/boomerang-io/project/a4bba0bd-85ce-4071-ab12-0e54453b0d89
The HTTP task will force parsing of response to JSON. It would be recommended to remove the parsing to JSON and return the response as it is.
Describe the bug
Github tasks that return results (parameters or in file path) are encoding twice the json payload, making the result into a non valid JSON content.
In the workflow, following such a github task, if you add the JSON file to property
it will fail due to the non-valid json content.
Github Tasks being affected:
Invite User to Organization
Get Github Repository
Invite Member to Team
Create Team in Organisation
Get Team in Organization
Get All Teams in Organization
Get Organization Info
Get All Organizations
Find Repositories in Organization
To Reproduce
Create a workflow with Get Github Repository
configured to save the result in a file and a JSON file to property
task to pick-up a value from the file. It will fail due to the invalid json content.
Expected behavior
The JSON file to property
task should be able to read from the github result task.
Environment (please complete the following information):
Additional context
Add any other context about the problem here.
Things to improve:
It integrates with Sendgrid and it uses sendgrid/client lib to send the email. Needs to check the response received from Sendgrid, to mark the task if it is a success or not,
An error message must always be present in the logs before closing a task with failure (including when the response from Sendgrid states that the email was not sent, any other non 2xx status).
Validate all the input parameters including the non mandatory ones if they are provided.
Remove the log.sys that outputs the client's apikey.
When the headers are split (by ":") the string contains multiple split characters.
One of the client's use-case is to provide a way in retrieving down the workflow, the 4 informations from the Manual Approval :
The task is to broadcast the information from the Manual Approval as results parameters so that they can be accessed by the tasks down the stream.
Describe the bug
The Execute Advanced HTTP Call
is not exposing the response and statusCode for the "failed" calls. If you have a server endpoint responding with 400 and a content, the task doesn't output these values as result.
In addition the task should print in the logs the return code and content of all the calls, during the retrial attempts.
To Reproduce
Execute Advanced HTTP Call
task. Configure the task to call the https://httpstat.us/400
endpoint.Expected behavior
The task should continue to be considered as failed but since the server returns a response and a HTTP status value, these values needs to come part of the task output parameters.
Environment (please complete the following information):
Additional context
Add any other context about the problem here.
Describe the bug
Trying to run this query via MongoDB task:
db.getCollection('collection').find({'timestamp':{$gt: ISODate('2022-01-01 00:00:00.000Z')}})
Seems task is stripping out the $gt part and is not capable to run the query.
To Reproduce
Expected behavior
Expected for the query to be executed.
Environment (please complete the following information):
Parse and remove new lines / empty headers in BODY and HEADERS fields.
Describe the bug
If there is any non-standard characters in the body of the HTTP call task, like š or â the HTTP call fails with 400 because the Content-Length is not correctly calculated.
To Reproduce
Make a call to any valid end-point where the payload contains
{name: John Smišth}
The HTTP call will fail with HTTP 400.
Expected behavior
Well, the call should go through
Environment (please complete the following information):
Describe the bug
Running an "Execute HTTP Call" task fails when the body of the call is not json.
To Reproduce
Expected behavior
The http call should be executed successfully.
Screenshots
N/A
Environment (please complete the following information):
Additional context
N/A
Retry the HTTP request in case some special exceptions are triggered by the system such as CONNREFUSED, DNS-TIMEOUT, EAI_AGAIN ( similar to DDoS ) and ETIMEDOUT.
In case the content type is JSON check the BODY input by performing a JSON.parse and see if any error is returned .
To Reproduce
Perform an HTTP task with an input of JSON type that includes a malformed string or anything similar.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.