Skip to main content
Version: v5.6.1

Notification mandate

Included from Basic tierpacks:security-governance

A notification mandate is an organisation-mandated subscription: an administrator attaches a subscription shape (scope, object kinds, event kinds, state predicates, severity floor) to a group, and every member receives it as a subscription they cannot delete, mute, snooze or disable — their surfaces cite it as "mandated by" its name. Writing mandates is an admin verb gated by the packs:security-governance entitlement; deleting one keeps the delivery evidence it already produced. Served by the v2 NotificationAdminService (ListNotificationMandates, CreateNotificationMandate, UpdateNotificationMandate, DeleteNotificationMandate).

NotificationMandate​

NotificationMandate is one mandated subscription as the admin surface reads and writes it.

FieldTypeMeaning
created_attimestampWhen the record was created.
enabledbooleanWhether the record is enabled.
event_kindsarray of stringEvent-type conditions: exact event types (e.g. "api:steps:error"), or a trailing ':' matching as a prefix (e.g. "warn:licence:"); empty covers every event kind.
group_namestringThe group whose members the mandate covers. Membership resolves through the LDAP directory mirror (the approver-group posture).
idstringThe record's identity.
namestringThe mandate's name, unique instance-wide — what member surfaces cite as "mandated by".
object_kindsarray of stringThe object kinds the subscription covers; empty covers every kind in its domain (estate: change, workflow_run, step, approval, …; platform: runner, agent, licence, …).
scope_domainstringThe scope domain: estate or platform.
scope_pathstringThe estate scope selector in the authz-rule path grammar; "" is root. Ignored for the platform domain.
severity_floorstringThe severity floor: info, warn or error (defaults to info when never set).
state_predicatesarray of stringState-predicate conditions: started, succeeded, failed, cancelled, waiting_on_gate; empty covers every state.
updated_attimestampWhen the record was last updated.

MandatedNotificationSubscription​

MandatedNotificationSubscription is one org-mandated subscription: a subscription shape policy attaches to a group whose members cannot delete, mute, snooze or disable it.

FieldTypeMeaning
created_attimestampWhen the record was created.
enabledbooleanWhether the record is enabled.
event_kindsarray of stringEvent-type conditions: exact event types (e.g. "api:steps:error"), or a trailing ':' matching as a prefix (e.g. "warn:licence:"); empty covers every event kind.
group_namestringThe group whose members the mandate covers.
idstringThe record's identity.
namestringThe mandate's name, unique instance-wide — what the feed and settings surfaces cite as "mandated by".
object_kindsarray of stringThe object kinds the subscription covers; empty covers every kind in its domain (estate: change, workflow_run, step, approval, …; platform: runner, agent, licence, …).
scope_domainstringThe scope domain: estate or platform.
scope_pathstringThe estate scope selector in the authz-rule path grammar; "" is root. Ignored for the platform domain.
severity_floorstringThe severity floor: info, warn or error (defaults to info when never set).
state_predicatesarray of stringState-predicate conditions: started, succeeded, failed, cancelled, waiting_on_gate; empty covers every state.
updated_attimestampWhen the record was last updated.

NotificationAttributePredicate​

NotificationAttributePredicate narrows a subscription to events whose named attribute matches a glob pattern. field names the event attribute — action_path is the only accepted field this wave; an unknown field is refused. pattern uses the scope-segment glob grammar ('', '?', '[...]' classes) matched against the attribute's FULL string value, so '' crosses the ':' separators of an action path — 'start' covers 'web:start:run'. An event that carries no value for the attribute never matches a subscription holding a predicate on it: predicates only ever narrow.

FieldTypeMeaning
fieldstringThe event attribute the predicate reads; action_path is the only accepted field today — an unknown field refuses.
patternstringThe glob matched against the attribute's full string value ('', '?', '[...]' classes; '' crosses ':' separators).

NotificationAttributePredicateList​

NotificationAttributePredicateList wraps the predicate list so an update can tell "replace with this list" (supplied, possibly empty) from "preserve" (absent).

FieldTypeMeaning
valuesarray of NotificationAttributePredicateThe replacing predicate list; an empty supplied list clears the stored predicates.
  • opschain docs notifications — the component page: the engine, subscriptions and mandates.
  • opschain docs resources/notification — the feed rows a mandate produces.
  • opschain docs resources/notification_delivery — the delivery evidence mandates leave behind.
  • opschain docs resources/group — the covered group.