Free Screenly Player with every Business or Enterprise yearly plan. How it works →

October 8, 2026

The update action needs an edge_app_id on every deploy

update requires edge_app_id now. If it’s empty, or holds a leftover like false, null, or 0 from an expression that didn’t resolve to an id, the run stops in its first step and names the variable to set: STAGE_EDGE_APP_ID or PRODUCTION_EDGE_APP_ID.

Both initialize and update also stop before doing anything else when:

  • screenly_api_token is empty. The error asks you to add the SCREENLY_API_TOKEN secret for that environment, since stage and production each need one.
  • environment is anything other than stage or production.
  • Screenly rejects the token for that environment. initialize checks this now too, before it creates an app.

initialize treats the same leftovers (false, null, 0, and so on) as no id at all, so a first run creates the app as expected.

If this affects you: if any update step runs without edge_app_id, add the repository variables STAGE_EDGE_APP_ID and PRODUCTION_EDGE_APP_ID with each environment’s Edge App id, and pass edge_app_id: ${{ vars.STAGE_EDGE_APP_ID }} or ${{ vars.PRODUCTION_EDGE_APP_ID }} to each update step. Check that both environments have a SCREENLY_API_TOKEN secret before you bump your pin to v26.10.0.