Files
git.stella-ops.org/docs/modules/notify/resources/samples/api-deprecation-slack.sample.json
master ce5ec9c158
Some checks failed
devportal-offline / build-offline (push) Has been cancelled
Mirror Thin Bundle Sign & Verify / mirror-sign (push) Has been cancelled
Docs CI / lint-and-preview (push) Has been cancelled
api-governance / spectral-lint (push) Has been cancelled
oas-ci / oas-validate (push) Has been cancelled
feat: Add in-memory implementations for issuer audit, key, repository, and trust management
- Introduced InMemoryIssuerAuditSink to retain audit entries for testing.
- Implemented InMemoryIssuerKeyRepository for deterministic key storage.
- Created InMemoryIssuerRepository to manage issuer records in memory.
- Added InMemoryIssuerTrustRepository for managing issuer trust overrides.
- Each repository utilizes concurrent collections for thread-safe operations.
- Enhanced deprecation tracking with a comprehensive YAML schema for API governance.
2025-12-11 19:47:43 +02:00

36 lines
2.6 KiB
JSON

{
"schemaVersion": "notify.template.api-deprecation@1",
"templateId": "api-deprecation-slack",
"tenantId": "_system",
"channelType": "slack",
"key": "api.deprecation.announced",
"locale": "en-US",
"subject": null,
"description": "Slack notification template for API deprecation announcements",
"body": ":warning: *API Deprecation Notice*\n\n*Service:* `{{service}}`\n*Endpoint:* `{{method}} {{path}}`\n{{#operationId}}*Operation:* `{{operationId}}`\n{{/operationId}}\n*Deprecated:* {{deprecatedAt}}\n*Sunset Date:* {{sunsetAt}} ({{daysUntilSunset}} days remaining)\n\n{{#reason}}*Reason:* {{reason}}\n{{/reason}}\n{{#successorPath}}*Replacement:* `{{successorPath}}`\n{{/successorPath}}\n{{#migrationGuide}}:book: <{{migrationGuide}}|Migration Guide>\n{{/migrationGuide}}{{#changelogUrl}}:page_facing_up: <{{changelogUrl}}|Changelog>\n{{/changelogUrl}}\n\n_Please update your integrations before the sunset date._",
"renderMode": "markdown",
"format": "slack",
"metadata": {
"priority": "high",
"category": "api-governance",
"tags": ["deprecation", "api", "migration"]
},
"placeholders": [
{ "name": "service", "description": "Service name owning the deprecated endpoint", "example": "authority", "required": true },
{ "name": "path", "description": "API path of the deprecated endpoint", "example": "/v1/tokens", "required": true },
{ "name": "method", "description": "HTTP method", "example": "POST", "required": true },
{ "name": "operationId", "description": "OpenAPI operation ID", "example": "createToken", "required": false },
{ "name": "deprecatedAt", "description": "When the endpoint was deprecated", "example": "2025-01-15", "required": true },
{ "name": "sunsetAt", "description": "When the endpoint will be removed", "example": "2025-07-15", "required": true },
{ "name": "daysUntilSunset", "description": "Days remaining until sunset", "example": "180", "required": true },
{ "name": "reason", "description": "Deprecation reason", "example": "Replaced by v2 endpoint", "required": false },
{ "name": "successorPath", "description": "Replacement endpoint path", "example": "/v2/tokens", "required": false },
{ "name": "migrationGuide", "description": "URL to migration documentation", "example": "https://docs.stella-ops.org/migration/tokens-v2", "required": false },
{ "name": "changelogUrl", "description": "URL to the changelog entry", "example": "https://docs.stella-ops.org/changelog#2025-01-15", "required": false }
],
"createdBy": "api-governance-guild",
"createdAt": "2025-12-11T00:00:00Z",
"updatedBy": "api-governance-guild",
"updatedAt": "2025-12-11T00:00:00Z"
}