Router Database Record
Syntinel uses the Router Database record to look up alternative channels (routing) for the message. It uses 2 fields from the Signal message (routerId and routerType). If a record is found matching that Id and Type, the channels specified in the record will replace the defaultChannels in the reporter.
For a more detailed description of how Syntinel routing works, please see the Router page.
Class Diagram
JSON Schmea
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"required": [ "_id", "_type" ],
"properties": {
"_id": { "type": "string" },
"_type": { "type": "string" },
"channels": { "type": "array",
"items": {"type": "string"}
}
}
}
Field Descriptions
Status
Field | Type | Required | Description |
---|---|---|---|
_id | String | Yes | The Id to route the signal by (the signalId field in the Signal message) |
_type | String | Yes | A User defined "type" to route the signal by (the signalType field in the Signal message) |
channels | List of String | No | A list of Channel Id's to send the Signal message to when it matches the Id and Type provided. |
Examples
Sample Router Database Records
In the records below when the signal message provides the following fields ( {"signalId": "dev", "signalType", "environment}) the defaultChannels in the reporter record will be overwritten with the "Dev" channels below.
{
"_id": "dev",
"_type": "environment",
"channels": [
"DevSlackChannel",
"DevTeamsChannel"
]
}
{
"_id": "test",
"_type": "environment",
"channels": [
"TestSlackChannel",
"TestTeamsChannel"
]
}