Documentation
¶
Index ¶
Constants ¶
View Source
const (
APP_NAME = "webhooks"
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type QueryWebHookRequest ¶
type QueryWebHookRequest struct { // 关联Task RefTaskId string `json:"ref_task_id"` }
func NewQueryWebHookRequest ¶
func NewQueryWebHookRequest() *QueryWebHookRequest
func (*QueryWebHookRequest) SetRefTaskId ¶
func (r *QueryWebHookRequest) SetRefTaskId(taskId string) *QueryWebHookRequest
type Service ¶
type Service interface { // 执行WebHook Run(context.Context, *WebHookSpec) *WebHook // 查询WebHook执行记录 QueryWebHook(context.Context, *QueryWebHookRequest) (*types.Set[*WebHook], error) }
func GetService ¶
func GetService() Service
type WebHook ¶
type WebHook struct { // WebHook 的唯一标识 ID string `json:"id"` // 创建时间 CreatedAt time.Time `` /* 126-byte string literal not displayed */ // WebHook定义 WebHookSpec // 状态与统计 WebHookStatus }
任务回调
func NewWebHook ¶
func NewWebHook(spec WebHookSpec) *WebHook
func (*WebHook) SetDefault ¶
func (h *WebHook) SetDefault()
type WebHookSpec ¶
type WebHookSpec struct { // WebHook 名称 Name string `json:"name"` // 描述 Description string `json:"description"` // 关联Task RefTaskId string `json:"ref_task_id"` // 目标配置 // 接收 HTTP 请求的 URL TargetURL string `json:"target_url"` // HTTP 方法,如 POST、GET 等 Method string `json:"method"` // 自定义请求头 Headers map[string]string `json:"headers" gorm:"column:headers;type:json;serializer:json;"` // 安全验证 // 用于签名验证的密钥(HMAC) Secret string `json:"secret"` // 签名头的名称,如 "X-Hub-Signature" SignatureHeader string `json:"signature_header"` // 哪些条件下触发 Conditions []string `json:"conditions" gorm:"column:conditions;type:json;serializer:json;"` // 请求内容配置 // 请求体类型,如 "application/json" ContentType string `json:"content_type"` // 自定义请求体模板(可选) Payload string `json:"payload"` // 重试与超时 // 失败重试次数 RetryCount int `json:"retry_count"` // 请求超时时间(毫秒) Timeout int `json:"timeout"` }
func (*WebHookSpec) AddCondtion ¶
func (s *WebHookSpec) AddCondtion(conditions ...string)
func (*WebHookSpec) IsCondtionOk ¶
func (s *WebHookSpec) IsCondtionOk(condition string) bool
type WebHookStatus ¶
type WebHookStatus struct { // 状态与统计 Status STATUS `json:"status"` // 失败信息 Message string `json:"message"` }
func NewWebHookStatus ¶
func NewWebHookStatus() *WebHookStatus
Click to show internal directories.
Click to hide internal directories.