naftiko: "1.0.0-alpha2" info: title: Hookdeck Issue Trigger Author description: >- CRUD on Hookdeck Issue Triggers — rules that auto-create Issues (escalated failure clusters) when delivery patterns cross thresholds (5xx > 50%, 10 failures/hour, etc.). Lets Naftiko governance specs generate matching Hookdeck issue rules whenever a capability with a webhook-handler expose is deployed — so the SLO / alerting story is spec-driven rather than hand-configured per destination. tags: - Naftiko - Hookdeck - Partnership - Webhooks - Issue Triggers - Governance - Alerting created: '2026-05-21' modified: '2026-05-21' binds: - namespace: hookdeck-env keys: HOOKDECK_API_TOKEN: HOOKDECK_API_TOKEN capability: consumes: - namespace: hookdeck type: http baseUri: https://api.hookdeck.com/2025-07-01 authentication: type: bearer token: '{{HOOKDECK_API_TOKEN}}' resources: - name: issue-triggers path: /issue-triggers operations: - name: list-issue-triggers method: GET - name: create-issue-trigger method: POST - name: issue-trigger path: /issue-triggers/{{id}} operations: - name: get-issue-trigger method: GET inputParameters: - name: id in: path required: true - name: update-issue-trigger method: PUT inputParameters: - name: id in: path required: true - name: delete-issue-trigger method: DELETE inputParameters: - name: id in: path required: true exposes: - type: rest address: 0.0.0.0 port: 8080 namespace: hookdeck-issue-trigger-author-rest resources: - name: issue-triggers path: /issue-triggers operations: - name: list-issue-triggers method: GET call: hookdeck.list-issue-triggers - name: create-issue-trigger method: POST call: hookdeck.create-issue-trigger - name: issue-trigger path: /issue-triggers/{id} operations: - name: get-issue-trigger method: GET inputParameters: - { name: id, in: path, type: string, required: true } call: hookdeck.get-issue-trigger - name: update-issue-trigger method: PUT inputParameters: - { name: id, in: path, type: string, required: true } call: hookdeck.update-issue-trigger - name: delete-issue-trigger method: DELETE inputParameters: - { name: id, in: path, type: string, required: true } call: hookdeck.delete-issue-trigger - type: mcp address: 0.0.0.0 port: 3010 namespace: hookdeck-issue-trigger-author-mcp description: MCP server for governance agents authoring Hookdeck issue rules from Naftiko capability SLOs. tools: - name: list-issue-triggers description: List every Hookdeck Issue Trigger (rule + threshold + notification channel). hints: { readOnly: true } call: hookdeck.list-issue-triggers - name: get-issue-trigger description: Fetch a single Hookdeck Issue Trigger by id. hints: { readOnly: true } inputParameters: - { name: id, type: string, required: true } call: hookdeck.get-issue-trigger - name: create-issue-trigger description: Create a Hookdeck Issue Trigger — typically derived from a Naftiko capability's reliability tags (e.g., reliability.sla=99.5 → 5xx threshold rule). hints: { destructiveHint: false } call: hookdeck.create-issue-trigger - name: update-issue-trigger description: Update an existing Hookdeck Issue Trigger (re-tune threshold, swap notification channel). hints: { destructiveHint: true } inputParameters: - { name: id, type: string, required: true } call: hookdeck.update-issue-trigger - name: delete-issue-trigger description: Delete a Hookdeck Issue Trigger (decommission a rule). hints: { destructiveHint: true } inputParameters: - { name: id, type: string, required: true } call: hookdeck.delete-issue-trigger