MCPcopy Create free account
hub / github.com/github/gh-aw / parseReleaseTrigger

Function parseReleaseTrigger

pkg/workflow/trigger_parser.go:501–530  ·  view source on GitHub ↗

parseReleaseTrigger parses release triggers

(tokens []string)

Source from the content-addressed store, hash-verified

499
500// parseReleaseTrigger parses release triggers
501func parseReleaseTrigger(tokens []string) (*TriggerIR, error) {
502 if len(tokens) < 2 {
503 return nil, errors.New("release trigger requires an activity type. Expected format: 'release <type>'. Valid types: published, unpublished, created, edited, deleted, prereleased, released. Example: 'release published'")
504 }
505
506 activityType := tokens[1]
507
508 validTypes := map[string]struct {
509 }{
510 "published": {},
511 "unpublished": {},
512 "created": {},
513 "edited": {},
514 "deleted": {},
515 "prereleased": {},
516 "released": {},
517 }
518
519 if !setutil.Contains(validTypes, activityType) {
520 return nil, fmt.Errorf("invalid release activity type: '%s'. Valid types: published, unpublished, created, edited, deleted, prereleased, released. Example: 'release published'", activityType)
521 }
522
523 return &TriggerIR{
524 Event: "release",
525 Types: []string{activityType},
526 AdditionalEvents: map[string]any{
527 "workflow_dispatch": nil,
528 },
529 }, nil
530}
531
532// parseRepositoryTrigger parses repository lifecycle triggers
533func parseRepositoryTrigger(tokens []string) (*TriggerIR, error) {

Callers 1

Calls 2

ContainsFunction · 0.92
ErrorfMethod · 0.45

Tested by

no test coverage detected