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

Function ParseTriggerShorthand

pkg/workflow/trigger_parser.go:41–103  ·  view source on GitHub ↗

ParseTriggerShorthand parses a human-readable trigger shorthand string and returns a structured intermediate representation that can be converted to YAML. Returns nil if the input is not a recognized trigger shorthand.

(input string)

Source from the content-addressed store, hash-verified

39// and returns a structured intermediate representation that can be converted to YAML.
40// Returns nil if the input is not a recognized trigger shorthand.
41func ParseTriggerShorthand(input string) (*TriggerIR, error) {
42 input = strings.TrimSpace(input)
43 if input == "" {
44 return nil, errors.New("trigger shorthand cannot be empty")
45 }
46
47 triggerParserLog.Printf("Parsing trigger shorthand: %s", input)
48
49 // Try parsers in order of specificity:
50
51 // 1. Slash command shorthand (starts with /)
52 if ir, err := parseSlashCommandTrigger(input); ir != nil || err != nil {
53 return ir, err
54 }
55
56 // 2. Label trigger shorthand (entity labeled label1 label2...)
57 if ir, err := parseLabelTrigger(input); ir != nil || err != nil {
58 return ir, err
59 }
60
61 // 3. Source control patterns (push, pull request, etc.)
62 if ir, err := parseSourceControlTrigger(input); ir != nil || err != nil {
63 return ir, err
64 }
65
66 // 4. Issue and discussion patterns
67 if ir, err := parseIssueDiscussionTrigger(input); ir != nil || err != nil {
68 return ir, err
69 }
70
71 // 5. Manual invocation patterns
72 if ir, err := parseManualTrigger(input); ir != nil || err != nil {
73 return ir, err
74 }
75
76 // 6. Comment patterns
77 if ir, err := parseCommentTrigger(input); ir != nil || err != nil {
78 return ir, err
79 }
80
81 // 7. Release and repository patterns
82 if ir, err := parseReleaseRepositoryTrigger(input); ir != nil || err != nil {
83 return ir, err
84 }
85
86 // 8. Security patterns
87 if ir, err := parseSecurityTrigger(input); ir != nil || err != nil {
88 return ir, err
89 }
90
91 // 9. External integration patterns
92 if ir, err := parseExternalTrigger(input); ir != nil || err != nil {
93 return ir, err
94 }
95
96 // 10. Deployment patterns
97 if ir, err := parseDeploymentTrigger(input); ir != nil || err != nil {
98 return ir, err

Calls 11

parseSlashCommandTriggerFunction · 0.85
parseLabelTriggerFunction · 0.85
parseManualTriggerFunction · 0.85
parseCommentTriggerFunction · 0.85
parseSecurityTriggerFunction · 0.85
parseExternalTriggerFunction · 0.85
parseDeploymentTriggerFunction · 0.85
PrintfMethod · 0.45