Conversation
…, windows and status pages [RED-997] The interactive deploy write-back rewrote checks and check groups only; every other resource type was skipped although the plan reports its deployed row and per-key changes. Add a rule table for every alert channel class (the flat props mapped from the wire's config, number and template renamed onto phoneNumber and payload, the fixed webhook type and method and Telegram's packed template refused by name), private locations, dashboards (customCSS refused as a stylesheet), maintenance windows (name, tags, and the repeat interval and unit as a group; the dates follow), status pages v2 and v3 (each theme colour under an existing light or dark object), services, v3 components and automation rules. A credential arrives blanked and flagged, so it is refused before or at the rule, never written. Every new props type is held at build time to its written list plus a reasoned left-out union, and the spec now requires every concrete construct class to have rules or be excluded on purpose. A member of a written-together group that is refused, or that the code changed, now drops the rest of its group at the candidate level too, so a schedule is never half-written. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…RED-997]
The account reports startsAt, endsAt and repeatEndsAt as ISO strings; the
construct takes Date objects, which checkly import spells as
`new Date('<iso>')`. Add a `date` helper kind that builds that expression
with the codegen's own valueForDate (now shared with the import), needs
no import since Date is a global, replaces an existing `new Date(…)` or a
string, and refuses a variable or a file that binds Date to something of
its own. repeatEndsAt joins the repeat group, so the interval, unit and
end date are written together or not at all.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on #1497 (RED-992). Docs: checkly/docs#521.
Summary
The interactive
checkly deploywrite-back ("Update my code with the changes made in Checkly") rewrote checks and check groups only. Every other resource type was skipped with "updating the code is supported for checks and check groups only", although the plan already reports the deployed row and per-key changes for them. This adds a rule table for each:configon the wire, so each rule mapsconfig/<key>onto the top-level prop; SMS and phone call renamenumbertophoneNumber, MS Teams and incident.io renametemplatetopayload. A credential (url,apiKey,serviceKey,webhookSecret, header and query-parameter values) arrives blanked and flagged, so it is refused before or at the rule, never written. The channel type, the fixed webhook type and method of the webhook-based classes, and Telegram's packed template are refused with their own reason throughrefusing()rules (a companion with arefuseand no primary, now checked before the primary lookup).customCSSrefused as a stylesheet), status pages v2 (cardsrefused) and v3 (each theme colour under an existingthemeColors.light/.dark), services, v3 components (configuration.*ontoshowHistoricalData/expandedByDefault; page and parent are references) and automation rules (coolDownWindowMinutesontocoolDownMinutes; page and components are references).name,tags, the dates asnew Date('<iso>')through a newdatehelper kind (the globalDateneeds no import; an existingnew Date(…)or string is replaced, a variable is not), andrepeatInterval,repeatUnitandrepeatEndsAtas a group.Every new props type is held at build time to its written list plus a reasoned left-out union, and the class-coverage spec now requires every concrete construct class to have rules or be excluded on purpose (abstract bases,
fromIdreferences, relations,Project).Other changes
Limitations
themeColors.light/.darkcolour is added only when that object exists in the code; nested parents are not created.🤖 Generated with Claude Code