Saltar al contenido

Plantilla de pasos

Una plantilla basada en pasos diseñada para pipelines de CI/CD y flujos de trabajo de varias etapas. Visualiza trabajos en paralelo con un indicador de matriz.

Demostración de Live Activity

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
Llega en la versión 1.3.3 de la app
Llega en la versión 1.3.5 de la app

Example Payload

Pasos: paso 3 de 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. This creates a matrix visualization on the Live Activity:

// [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)
💡 Consejo

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

Segmented layout

Llega en la versión 1.3.3 de la app

Esta sección describe una función de una actualización de la app que está pendiente de revisión en App Store. Se desbloquea aquí automáticamente en cuanto la actualización esté disponible.

Live progress

Llega en la versión 1.3.5 de la app

Esta sección describe una función de una actualización de la app que está pendiente de revisión en App Store. Se desbloquea aquí automáticamente en cuanto la actualización esté disponible.

Typical Flow

  1. Start: Set current_step: 0, progress: 0.0 (nothing running yet)
  2. Each step: Increment current_step (1 = first step), update progress and state with the current job name
  3. End: Set state: "ended" with progress: 1.0

Buttons & tap targets

Renders url_action and secondary_url_action as buttons under the segment bar; background taps invoke tap_action. The legacy url / secondary_url strings still work, but the structured action lets you attach silent-webhook acknowledgements (e.g. "Cancel job" → POST to your CI's cancel endpoint). See Tap actions for the action object shape.

Integrations Using This Template