Documentation
¶
Index ¶
Constants ¶
const ( // ReleaseAction representa la acción de publicación de un lanzamiento en GitHub. ReleaseAction = "published" // WorkflowJobAction representa la acción de finalización de un trabajo de flujo de trabajo en GitHub. WorkflowJobAction = "completed" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DefaultGitHubEventDecoder ¶
DefaultGitHubEventDecoder implementa GitHubEventDecoder utilizando una decodificación predeterminada.
func NewGitHubEventDecoder ¶
func NewGitHubEventDecoder(logger logging.Logger) *DefaultGitHubEventDecoder
NewGitHubEventDecoder crea una nueva instancia de DefaultGitHubEventDecoder con el logger dado.
func (*DefaultGitHubEventDecoder) DecodeGitHubEvent ¶
func (h *DefaultGitHubEventDecoder) DecodeGitHubEvent(body string) (interface{}, error)
DecodeGitHubEvent decodifica un evento recibido de GitHub y lo devuelve como una interfaz genérica.
type DefaultJSONMarshaller ¶
type DefaultJSONMarshaller struct { }
DefaultJSONMarshaller implementa JSONMarshaller utilizando la codificación predeterminada de JSON.
func NewDefaultJSONMarshaller ¶
func NewDefaultJSONMarshaller() *DefaultJSONMarshaller
NewDefaultJSONMarshaller crea una nueva instancia de DefaultJSONMarshaller.
func (*DefaultJSONMarshaller) Marshal ¶
func (m *DefaultJSONMarshaller) Marshal(v interface{}) ([]byte, error)
Marshal serializa los datos a JSON utilizando la codificación predeterminada de JSON.
type EventHandler ¶
type EventHandler struct { Processor EventProcessor // Processor es el procesador de eventos utilizado para procesar los eventos recibidos. Logger logging.Logger // Logger registra información y errores durante el manejo de eventos. Decoder GitHubEventDecoder Marshaller JSONMarshaller }
EventHandler maneja eventos recibidos desde GitHub.
func NewEventHandler ¶
func NewEventHandler(processor EventProcessor, logger logging.Logger, decoder GitHubEventDecoder, marshaller JSONMarshaller) *EventHandler
NewEventHandler crea una nueva instancia de EventHandler con el procesador de eventos y el logger dados.
func (*EventHandler) HandleGitHubEvent ¶
func (h *EventHandler) HandleGitHubEvent(ctx context.Context, requests events.APIGatewayProxyRequest) (events.APIGatewayProxyResponse, error)
HandleGitHubEvent maneja un evento recibido desde GitHub. Decodifica el evento recibido, lo procesa y devuelve una respuesta adecuada.
type EventProcessor ¶
type EventProcessor interface {
ProcessEvent(ctx context.Context, event interface{}, eventType string) error
}
EventProcessor define un método para procesar un evento común.
type GitHubEventDecoder ¶
GitHubEventDecoder define un método para decodificar eventos recibidos de GitHub.
type JSONMarshaller ¶
JSONMarshaller define un método para serializar datos a JSON.
type ReleaseEventProcessor ¶
type ReleaseEventProcessor struct{}
func (*ReleaseEventProcessor) ProcessEvent ¶
func (r *ReleaseEventProcessor) ProcessEvent(ctx context.Context, event interface{}, eventType string) error
ProcessEvent procesa un evento de lanzamiento.
type WorkflowEventProcessor ¶
type WorkflowEventProcessor struct{}
func (*WorkflowEventProcessor) ProcessEvent ¶
func (w *WorkflowEventProcessor) ProcessEvent(ctx context.Context, event interface{}, eventType string) error
ProcessEvent procesa un evento de los estados de los deploys.