gluecron_set_repo_secret
Create or replace one workflow secret on a repository, used in workflows as ${{ secrets.NAME }}. The name is saved upper-cased (cron_secret → CRON_SECRET); trailing spaces/newlines are removed from the value. The value is WRITE-ONLY: it is encrypted at rest and never returned, logged or audited — the result names the secret only. Pass expected_updated_at (the updated_at you last read) to update only if nobody changed it since: a newer value is never overwritten (error 'conflict'), a deleted secret is not re-created (error 'missing'). Setting the value it already has writes nothing (result 'unchanged'), so a retry is safe. Needs admin access to the repository and 'repo' scope. Audit-logged (name only). Returns {repository, name, created, result: 'created'|'updated'|'unchanged', updated_at}.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Secret name: letters, digits, underscores; not starting with a digit | |
| repo | Yes | Repo name | |
| owner | Yes | Repo owner — username or organisation slug | |
| value | Yes | The secret value (never echoed back) | |
| expected_updated_at | No | Optional ISO time: only update if the secret's updated_at is still this (from gluecron_list_repo_secrets) |