closes #1289 Signed-off-by: François de Metz <francois@stormz.me> Signed-off-by: Cyril Duez <cyril@stormz.me> Rename internals struct. Signed-off-by: François de Metz <francois@stormz.me> Signed-off-by: Cyril Duez <cyril@stormz.me> Update changelog. Signed-off-by: François de Metz <francois@stormz.me> Signed-off-by: Cyril Duez <cyril@stormz.me> Update READMEs and CHANGELOG. Signed-off-by: François de Metz <francois@stormz.me> Signed-off-by: Cyril Duez <cyril@stormz.me> Update SampleConfig. Update the config format. Update telegraf config. Update the webhooks README. Update changelog. Update the changelog with an upgrade path. Update default ports. Fix indent. Check for nil value on AvailableWebhooks. Check for CanInterface.
79 lines
1.8 KiB
Go
79 lines
1.8 KiB
Go
package rollbar
|
|
|
|
import "strconv"
|
|
|
|
type Event interface {
|
|
Tags() map[string]string
|
|
Fields() map[string]interface{}
|
|
}
|
|
|
|
type DummyEvent struct {
|
|
EventName string `json:"event_name"`
|
|
}
|
|
|
|
type NewItemDataItemLastOccurence struct {
|
|
Language string `json:"language"`
|
|
Level string `json:"level"`
|
|
}
|
|
|
|
type NewItemDataItem struct {
|
|
Id int `json:"id"`
|
|
Environment string `json:"environment"`
|
|
ProjectId int `json:"project_id"`
|
|
LastOccurence NewItemDataItemLastOccurence `json:"last_occurrence"`
|
|
}
|
|
|
|
type NewItemData struct {
|
|
Item NewItemDataItem `json:"item"`
|
|
}
|
|
|
|
type NewItem struct {
|
|
EventName string `json:"event_name"`
|
|
Data NewItemData `json:"data"`
|
|
}
|
|
|
|
func (ni *NewItem) Tags() map[string]string {
|
|
return map[string]string{
|
|
"event": ni.EventName,
|
|
"environment": ni.Data.Item.Environment,
|
|
"project_id": strconv.Itoa(ni.Data.Item.ProjectId),
|
|
"language": ni.Data.Item.LastOccurence.Language,
|
|
"level": ni.Data.Item.LastOccurence.Level,
|
|
}
|
|
}
|
|
|
|
func (ni *NewItem) Fields() map[string]interface{} {
|
|
return map[string]interface{}{
|
|
"id": ni.Data.Item.Id,
|
|
}
|
|
}
|
|
|
|
type DeployDataDeploy struct {
|
|
Id int `json:"id"`
|
|
Environment string `json:"environment"`
|
|
ProjectId int `json:"project_id"`
|
|
}
|
|
|
|
type DeployData struct {
|
|
Deploy DeployDataDeploy `json:"deploy"`
|
|
}
|
|
|
|
type Deploy struct {
|
|
EventName string `json:"event_name"`
|
|
Data DeployData `json:"data"`
|
|
}
|
|
|
|
func (ni *Deploy) Tags() map[string]string {
|
|
return map[string]string{
|
|
"event": ni.EventName,
|
|
"environment": ni.Data.Deploy.Environment,
|
|
"project_id": strconv.Itoa(ni.Data.Deploy.ProjectId),
|
|
}
|
|
}
|
|
|
|
func (ni *Deploy) Fields() map[string]interface{} {
|
|
return map[string]interface{}{
|
|
"id": ni.Data.Deploy.Id,
|
|
}
|
|
}
|