utils

package
v1.3.8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 15, 2025 License: GPL-3.0 Imports: 17 Imported by: 0

Documentation

Overview

Package utils provides utility functions for the application

Package utils provides utility functions for the application

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ContainsMarkdownSyntax

func ContainsMarkdownSyntax(text string) bool

ContainsMarkdownSyntax checks if the message contains any Markdown formatting

func ConvertMarkdownToPlainText

func ConvertMarkdownToPlainText(markdown string) string

ConvertMarkdownToPlainText converts markdown to plain text for fallback

func ConvertToTeamsPayload

func ConvertToTeamsPayload(powerAutomateURL, messageText string, incident *m.Incident) ([]byte, error)

ConvertToTeamsPayload takes the rendered template message and converts it to the appropriate payload format for Power Automate.

func CreateHTTPClient added in v1.3.7

func CreateHTTPClient(proxyConfig config.ProxyConfig, useProxy bool) *http.Client

CreateHTTPClient creates an HTTP client with optional proxy support

func GetIncludeFunc added in v1.3.2

func GetIncludeFunc(tmplName string) func(string, interface{}) (string, error)

GetIncludeFunc returns an include function that uses the specified template

func GetTemplateFuncMaps

func GetTemplateFuncMaps() template.FuncMap

GetTemplateFuncMaps returns a map of template functions that can be used in templates

func RegisterTemplate added in v1.3.2

func RegisterTemplate(name string, tmpl *template.Template)

RegisterTemplate registers a template for use with the include function

func StripMarkdown

func StripMarkdown(text string) string

StripMarkdown removes common markdown syntax from text

Types

type AdaptiveCard

type AdaptiveCard struct {
	Type    string        `json:"type"`
	Body    []interface{} `json:"body"`
	Schema  string        `json:"$schema"`
	Version string        `json:"version"`
	// Required MS Teams fields
	Text    string `json:"text,omitempty"`    // Fallback text for clients that don't support cards
	Summary string `json:"summary,omitempty"` // Required by MS Teams for notification
}

AdaptiveCard represents a basic Adaptive Card structure for MS Teams

func ConvertMarkdownToAdaptiveCard

func ConvertMarkdownToAdaptiveCard(markdown string) AdaptiveCard

ConvertMarkdownToAdaptiveCard converts Markdown-like text to an Adaptive Card

type LarkCard added in v1.3.1

type LarkCard struct {
	Header   LarkCardHeader    `json:"header"`
	Elements []LarkCardElement `json:"elements"`
}

LarkCard represents an interactive card in Lark

type LarkCardElement added in v1.3.1

type LarkCardElement struct {
	Tag     string `json:"tag"`
	Content string `json:"content"`
}

LarkCardElement represents an element in a Lark card

type LarkCardHeader added in v1.3.1

type LarkCardHeader struct {
	Title LarkCardTitle `json:"title"`
}

LarkCardHeader represents the header of a Lark card

type LarkCardTitle added in v1.3.1

type LarkCardTitle struct {
	Tag     string `json:"tag"`
	Content string `json:"content"`
}

LarkCardTitle represents the title component of a Lark card header

type LarkMessage added in v1.3.1

type LarkMessage struct {
	MsgType string    `json:"msg_type"`
	Card    *LarkCard `json:"card"`
}

LarkMessage represents the structure of a Lark message

func CreateLarkMessage added in v1.3.1

func CreateLarkMessage(content string, isResolved bool) *LarkMessage

CreateLarkMessage creates a Lark message with interactive card format This format uses "msg_type": "interactive" with a card structure

type MSTeamsMessage

type MSTeamsMessage struct {
	Text string `json:"text"`
}

MSTeamsMessage represents a basic message for MS Teams

type TemplateDict added in v1.3.2

type TemplateDict map[string]interface{}

TemplateDict is a custom dictionary type that supports the Set method

func (TemplateDict) Set added in v1.3.2

func (d TemplateDict) Set(key string, value interface{}) TemplateDict

Set adds or updates a key-value pair in the dictionary

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL