Vai al contenuto

Template Steps

Un template basato sulle fasi, progettato per le pipeline CI/CD e i workflow multi-stage. Visualizza i job paralleli con un indicatore a matrice.

Dimostrazione dell'attività in tempo reale

Fields

FieldTypeDescription
templatestringRequired. Must be "steps"
progressfloatRequired. Value between 0.0 and 1.0
current_stepintegerRequired. The step currently running, counting from 1 (so 1 is the first entry of step_labels); 0 means nothing has started yet. Shown in the header as current_step/total_steps.
total_stepsintegerRequired. Total number of jobs in the workflow
step_rowsinteger[]Parallel jobs per step (e.g. [1,1,3,1] for a 3-job matrix at step 3). Length must equal total_steps. Each value must be between 1 and 10.
step_labelsstring[]Optional labels for each step (e.g. ["Build","Test","Deploy"]). When provided and total_steps is 6 or fewer, labels appear below each segment bar. Length must equal total_steps. Each label max 32 characters.
statestringCurrent job name (e.g. "Build Container Image")
iconstringSF Symbol name or MDI icon with mdi: prefix (e.g. "mdi:source-branch")
subtitlestringContext subtitle (e.g. "repo / CI/CD")
accent_colorstringNamed color or hex
urlstringPrimary URL -- tappable button on the Live Activity (e.g. link to workflow run)
secondary_urlstringSecondary URL -- second tappable button (e.g. link to commit)
background_colorstringBackground color override
text_colorstringText color override
In arrivo nella versione 1.3.3 dell'app
In arrivo nella versione 1.3.5 dell'app
In arrivo nella versione 1.7.0 dell'app
In arrivo nella versione 1.14.0 dell'app
In arrivo nella versione 1.9.2 dell'app

Questa sezione descrive una funzionalità di un aggiornamento dell'app in attesa di revisione su App Store. Si sblocca qui automaticamente non appena l'aggiornamento è disponibile.

Renders url_action and secondary_url_action as buttons under the segment bar and background taps as tap_action; the legacy url / secondary_url strings still work. See Tap actions.

Changing total_steps on an existing activity

Updates are merge-patches -- an array you leave out of a PATCH keeps its stored value (update semantics). When you reuse one slug across runs and the new run changes total_steps, any carried-over array that no longer matches it is dropped for you rather than failing the update; re-send the ones you want, and the rest come back as the plain equal-width matrix. An array you do send still has to match: a length that disagrees with total_steps in the same payload is rejected with 422.

Example Payload

Steps — fase 3 di 8
{
  "state": "ongoing",
  "content": {
    "template": "steps",
    "progress": 0.375,
    "state": "Build Container Image",
    "icon": "arrow.triangle.branch",
    "subtitle": "pushward-server / CI/CD",
    "current_step": 2,
    "total_steps": 8,
    "step_rows": [1, 1, 3, 1, 1, 2, 1, 1],
    "step_labels": ["Lint", "Build", "Test", "Scan", "Publish", "Deploy", "Verify", "Notify"],
    "accent_color": "green"
  }
}

Step Rows

The step_rows array defines how many parallel jobs exist at each step, creating a matrix visualization -- the GitHub Actions bridge maps workflow jobs to steps this way:

// [1, 1, 3, 1, 1, 2, 1, 1]
//  Step 1: ●          (1 job)
//  Step 2: ●          (1 job)
//  Step 3: ● ● ●     (3 parallel jobs)
//  Step 4: ●          (1 job)
//  Step 5: ●          (1 job)
//  Step 6: ● ●       (2 parallel jobs)
//  Step 7: ●          (1 job)
//  Step 8: ●          (1 job)
💡 Suggerimento

If step_rows is omitted, every step is treated as a single job. The counter still shows current_step/total_steps.

Segmented layout

In arrivo nella versione 1.3.3 dell'app

Questa sezione descrive una funzionalità di un aggiornamento dell'app in attesa di revisione su App Store. Si sblocca qui automaticamente non appena l'aggiornamento è disponibile.

Live progress

In arrivo nella versione 1.3.5 dell'app

Questa sezione descrive una funzionalità di un aggiornamento dell'app in attesa di revisione su App Store. Si sblocca qui automaticamente non appena l'aggiornamento è disponibile.

In arrivo nella versione 1.7.0 dell'app

Questa sezione descrive una funzionalità di un aggiornamento dell'app in attesa di revisione su App Store. Si sblocca qui automaticamente non appena l'aggiornamento è disponibile.