Introduction / Known issues
Verified against Flow 5.0.0-beta.39
These are the defects in Boomerang Flow 5.0.0 that a workflow author or operator is likely to hit. Each has its workaround, where there is one, and a link to its GitHub issue where one exists. To report a defect that isn't listed, open an issue in the Flow issue tracker.
Execute Basic HTTP Call and Execute Advanced HTTP Call, every revision, send no request and end Succeeded. They run on boomerangio/task-flow:3.3.0, the default task image, in which the HTTP command is switched off. A task after them that reads their response or statusCode result gets nothing.
Workaround: make the call with curl in an Execute Shell task. With --fail, an HTTP error status fails the task:
curl --fail --silent --show-error https://api.example.com/statusFixed in task-flow 3.4.0. In Admin › Settings › Tasks, set Default Image Path to boomerangio/task-flow:3.4.0, and every revision of these tasks uses the fix.
These revisions end Succeeded without doing anything, because the command they call no longer exists in the task image:
| Task | Revisions that do nothing | Working revisions |
|---|---|---|
| Send Email with Sendgrid | 1 and 2 | 3 |
| Find Repositories in Org | 1 | 2 to 4 |
| Run Python Script | 1 | 2 |
The editor's Add a task panel adds the latest revision, so a new node is never affected. A workflow upgraded from v3 can still be pinned to an old revision.
Workaround: upgrade the node. On the canvas, select the node's yellow warning icon, review the fields in New version available, and select Update task. Then select Create new version. A workflow card shows "New version of a task available! To update, edit your workflow." when one of its tasks has a newer version.
Upload Slack File with Message, every revision, calls a Slack method that Slack has retired, so the task fails.
Workaround: use Send Custom Slack Message to post the content as a message. Send Slack Message with File Contents isn't a workaround: it fails too (see below).
Send Simple Slack Message and Send Slack Message with File Contents fail inside the task image (ReferenceError: datetime is not defined in the task log) yet end Succeeded, so nothing reaches Slack. Send Custom Slack Message works, but it also ends Succeeded when Slack rejects the request, so check its log when a message doesn't arrive.
Workaround: use Send Custom Slack Message, and check the task log for a Slack error after a run.
Fixed in task-flow 3.4.0. In Admin › Settings › Tasks, set Default Image Path to boomerangio/task-flow:3.4.0, and every revision of these tasks uses the fix. On 3.4.0, these two tasks and Send Custom Slack Message fail with Slack's answer when Slack rejects a message, instead of ending Succeeded.
Tracked in: tasks#46
Under Start a workflow on Home, Looking through planets with HTTP Call and Summarise a web page with AI both start with an HTTP Call task, which does nothing. Neither does what its description says.
Workaround: in Summarise a web page with AI, replace the Fetch the page task with an Execute Shell task that downloads the page to the path the AI task reads, then link it in the same place:
curl --fail --silent --show-error --location "$(workflow.params.url)" --output /workspace/page.htmlThe planets starter has no workaround short of replacing each of its three HTTP Call tasks.
in operation never matchesUnder Configure › Triggers, in the Events section, a condition saved with the Operation in never matches, so the event never starts a run. The form stores the condition's Value where the in check doesn't read it.
Workaround: use equals, or matches with a regular expression that lists the values, such as push|release.
The Retries field under Configure › Run Options says "The number of times to retry a failed workflow. Defaults to 0." Flow starts a new run only when a run times out. A run that fails isn't retried.
Workaround: to retry failures, set Retries on the Configure tab of each task that can fail, or select Retry run on the run page.
On a Manual Approval task, the hint for Number of Approvals (optional) says "Only respected if Approver Group is specified". Flow applies the number whether or not you choose an approver group.
Workaround: leave Number of Approvals (optional) blank when one approval is enough.
The Slack /workflow command never starts a run, whoever sends it.
Workaround: start the run from the webapp, or from outside Flow with a webhook trigger.
Tracked in: flow#751
Listing workspaces takes about 67 ms per workspace: about 6 seconds for 91. Home, and every page that reads the list, waits for it, so a few hundred workspaces means ten seconds or more.
Workaround: none.
Tracked in: flow#534
These links in the webapp go to documentation pages that no longer exist:
Workaround: see Triggers and Tasks on this site.
Tracked in: flow#756
***** for an ordinary parameter uses *****On a run request, a parameter sent as ***** keeps its declared default only when the parameter is a secret. Any other parameter runs with the literal value *****.
Workaround: to keep a parameter's default, leave it out of the request or send null.
When a token request has an invalid permission, TOKEN_INVALID_PERMISSION says permissions take the form scope, principal and action. The API refuses that form.
Workaround: write each permission as <resource>/<action>, in lowercase, such as workflow/read. See Machine tokens.
With dispatcher.logging.type=loki, the dispatcher reads Loki with its own HTTP client, which ignores the shared proxy, trust store and timeout settings. Behind a proxy, or with Loki behind an internal certificate authority, task logs can't be read while tasks still run.
Workaround: none in configuration. Make Loki reachable from the dispatcher without the proxy, or keep dispatcher.logging.type=default.
Tracked in: flow#322