Project

General

Profile

Actions

Bug #22554

open

Support launching workflows with optional inputs

Added by Brett Smith about 2 months ago. Updated 1 day ago.

Status:
In Progress
Priority:
Normal
Assigned To:
Category:
Workbench2
Target version:
Story points:
-

Description

source:tools/cluster-activity/cluster-activity.cwl has the following inputs:

inputs:
  reporting_days: int?
  reporting_start: string?
  reporting_end: string?

These are optional because you can provide some subset of them, but it's an error to specify all of them.

You cannot launch this workflow from Workbench with a specified date range:

  • If you leave reporting_days empty, the workflow will fail to start with the error:
    ../../lib/cwl/cwl.input.json:1:227: the 'reporting_days' field is not valid because
    tried int but
    "''" is not int
  • If you specify reporting_days=0, our own cluster activity script will complain that this is mutually exclusive with reporting_start or reporting_end.

It should be possible to completely omit inputs just like it is in YAML.

Solution

If a field is marked as optional (this looks like "type": ["null", "string"]) then an empty text input field in the interface should be emitted as "null" and not empty string.


Subtasks 1 (1 open0 closed)

Task #22638: ReviewNewStephen SmithActions
Actions #1

Updated by Peter Amstutz about 2 months ago

  • Target version set to Development 2025-03-19
Actions #2

Updated by Peter Amstutz about 2 months ago

  • Target version changed from Development 2025-03-19 to Development 2025-02-26
Actions #3

Updated by Peter Amstutz about 2 months ago

  • Tracker changed from Feature to Bug
Actions #4

Updated by Peter Amstutz about 2 months ago

If a field is marked as optional (this looks like "type": ["null", "string"]) then an empty text input field in the interface should be emitted as "null" and not empty string.

Actions #5

Updated by Peter Amstutz about 2 months ago

  • Description updated (diff)
Actions #6

Updated by Peter Amstutz about 2 months ago

  • Target version changed from Development 2025-02-26 to Development 2025-03-19
Actions #7

Updated by Brett Smith 28 days ago

  • Target version changed from Development 2025-03-19 to Development 2025-02-26
Actions #8

Updated by Brett Smith 27 days ago

  • Target version changed from Development 2025-02-26 to Development 2025-03-19
Actions #9

Updated by Brett Smith 27 days ago

  • Subtask #22638 added
Actions #10

Updated by Peter Amstutz 20 days ago

  • Target version changed from Development 2025-03-19 to Development 2025-04-02
Actions #11

Updated by Peter Amstutz 13 days ago

  • Assigned To set to Lisa Knox
Actions #12

Updated by Lisa Knox 4 days ago

  • Status changed from New to In Progress
Actions #13

Updated by Lisa Knox 4 days ago

  • Status changed from In Progress to New
Actions #14

Updated by Brett Smith 1 day ago

From standup discussion: for any optional input, if the user did not provide an input, Workbench should set that input to null in the container request.

Based on the error message, right now it looks like it always uses the empty string. This is valid for string? but it may not generate the results the user wants. It is definitely not valid for other optional types like int? here.

Actions #15

Updated by Brett Smith 1 day ago

I have registered the workflow in question at tordo-j7d0g-ppkb6bq7gc0n6dn. Feel free to play with it. All of the inputs are optional, so you should be able to generate a useful report with the barest minimum of inputs, like reporting_start and reporting_end.

Actions #16

Updated by Lisa Knox 1 day ago

  • Status changed from New to In Progress
Actions

Also available in: Atom PDF