• Step {i + 1}

    {#if i == 0 && mode == 'pull'}

    Trigger Script When a flow is 'Pull', the first step is a trigger script. Trigger scripts are scripts that must return a list which are the new items to be treated one by one by the rest of the flow, usually the list of new items since last time the flow was run. One can retrieve the item in the next step using `previous_result._value`. To easily compute the diff, windmill provides some helpers under the form of `getInternalState` and `setInternalState`.

    {/if}

    {#if mod.value.path} {mod.value.path} {/if} {#if mod.value.language} Inline {mod.value.language} {/if} {#if !mod.value.path && !mod.value.language} Select a script {/if}

    {#if open == i}
    {#if shouldPick} pickScript(e.detail.path, i)} on:new={(e) => createInlineScriptModule(e.detail.language, i, mode)} /> {/if} {#if mod.value.type === FlowModuleValue.type.RAWSCRIPT}
    {/if} {#if !shouldPick}

    Step inputs

    {/if}
    {#if !shouldPick}
    { addPreviewResult(e.detail.result, i + 1) }} />
    {:else}
    {/if} {/if}
  • {#if i == 0 && mode == 'pull'}
  • Starting from here, the flow for loop over items from step 1's result above  This flow being in 'Pull' mode, the rest of the flow will for loop over the list of items returned by the trigger script right above. Retrieve the item value using `previous_result._value`
  • {/if}