Skip to main content

Forecast view

Forecast answers one question before anything is committed: if this workflow built for a given date, which jobs would be in the build, and when would each one start?

Turning it on sends the workflow to be built for the date you choose and redraws the canvas as that build — the same jobs, with the frequency each one built under, its build status, and an estimated start window on every card.

Not the same as a frequency forecast

This is a view of one workflow on one date. The forecast on a frequency — the list of dates a pattern produces — is a separate feature, on Frequencies. The two do not share a screen, and closing one has no effect on the other.

Turning it on​

The Forecast switch is on the right of the workflow editor's toolbar, with a Date field beside it. Date starts on today.

Start a forecastSet Date, then turn Forecast on. The build runs and the canvas is replaced by its result.
Change the dateChange Date while Forecast is on and the forecast re-runs on its own. There is nothing to select again.
LeaveTurn Forecast off. The canvas returns to the workflow as you were editing it.

The switch cannot be turned on until Date has a value, and neither control accepts input while a forecast is running — a spinner beside the label shows that it is. The label itself changes colour and weight while the view is active, so a forecast canvas cannot be mistaken for the real one.

In a narrow window the toolbar collapses and the Date field is hidden, except while Forecast is on — so the date you are looking at is always on screen when it matters.

It forecasts what you have not saved​

The build is made from the workflow as it currently stands in the editor, not from the last committed version. Unsaved edits are included, which is the point: you can add a frequency, change a start offset, and see what the build would do with it before committing anything.

Two consequences:

  • The editor is read-only while Forecast is on. Nothing on the canvas or in the job editor can be changed until you leave the view.
  • Auto-saving of drafts is paused. The version label shows the bare version number rather than (auto saved draft) — see Versions and deployments. Edits made before you turned Forecast on are not lost; nothing new is written while you are in it.

Switching to a different workflow while a forecast is still running abandons it: the result is discarded rather than being drawn onto the workflow you have just opened, and Forecast is left off.

What the canvas shows​

Only the jobs that would build​

Jobs that do not qualify for the date are not drawn at all — no greyed-out card, no placeholder. The canvas shows the build, so what is on screen is what would run. A job whose own Disable Build switch is on is left out too, exactly as a real build leaves it out.

If nothing qualifies, the canvas is replaced by:

Workflow does not qualify for this date No jobs are scheduled to run. Try a different date.

That is a complete answer, not an error. It is what you want to see for a workflow that is not meant to run on a Sunday.

One frequency per card, not the whole list​

Outside Forecast a card lists every frequency the job is attached to. In Forecast each card shows only the frequency it actually built under — the winning one. The Frequencies switches in the tool panel do not change this; the built frequency is a fact about the build, not a display choice.

A build status on every card​

The card footer carries the job's build status from the build:

Build statusShown as
releasedsuccess
onHoldwarning
doNotScheduleerror
toBeSkipped, disabledneutral

The value is shown exactly as the build reports it. What each one means, and the difference between a disabled build status and a job-level Disabled switch, is in Per-frequency runtime settings.

A job that both names a sub-workflow and has a build status shows both — the status is the whole reason the footer is there, so it keeps its place beside the sub-workflow name.

An estimated start window​

Each card gains a time row, in the form:

dd/mm/yyyy hh:mm-hh:mm (Estimated)

The (Estimated) label is always present in this view. It is there because the window is derived from the estimates on the frequency, not measured from a run that has happened.

How the window is worked out:

Start — user estimateWhen the frequency's estimate is user-defined: its predicted start days, plus its predicted start time.
Start — otherwiseThe schedule's start time plus the frequency's start-time offset. A schedule with no start time is treated as 00:00.
EndThe start plus the frequency's estimated run time.
The dateThe forecast date rolled forward by any whole days in the start. A start that reaches into the following day therefore reports the day it actually starts on, not the date you asked for.
Times past midnightShown as clock times, so a window that crosses midnight reads as the clock would show it.

The row is left out entirely rather than shown with placeholders when the start cannot be determined or the estimated run time is missing. An absent time row means "not estimable", never "starts at zero".

The same on every machine

The date is always dd/mm/yyyy and the times are always 24-hour. This view does no time-zone or locale conversion, so two people looking at the same forecast see the same numbers.

When a forecast cannot run​

If the build request fails, the message from the service is shown as an error, or Forecast request failed if it sent none. The view does not open, and the canvas is left as it was — a failed forecast never produces a partly-drawn build.

Troubleshooting​

SymptomLikely causeResolution
The Forecast switch will not turn onDate is empty, or a forecast is already runningSet a date; if a spinner is showing, wait for it to finish.
Workflow does not qualify for this dateNo job's frequency produces that dateExpected, not a failure. Try another date, or check the frequencies attached to the jobs.
A job I expected is missingIt did not qualify for the date, or its Disable Build switch is onBoth are correct behaviour — the canvas only draws what would build.
A card shows one frequency when the job has severalForecast shows the winning frequency onlyExpected. Leave the view to see the full list.
No time row on a cardThe start could not be determined, or the frequency has no estimated run timeAdd the estimate on the frequency. The row is omitted deliberately rather than guessed.
The date on a card is not the date I asked forThe start offset reaches into a later dayExpected — the card reports the day the job actually starts on.
Nothing can be editedForecast view is read-onlyTurn Forecast off to go back to editing.
The forecast ignored an edit I just madeThe edit landed after the build was requestedChange the date and back, or leave and re-enter, to rebuild from the current state.

Related topics