IssueToFixWorkflowPrompt provides a guided workflow for creating an issue and then generating a PR to fix it
(t translations.TranslationHelperFunc)
| 11 | |
| 12 | // IssueToFixWorkflowPrompt provides a guided workflow for creating an issue and then generating a PR to fix it |
| 13 | func IssueToFixWorkflowPrompt(t translations.TranslationHelperFunc) inventory.ServerPrompt { |
| 14 | return inventory.NewServerPrompt( |
| 15 | ToolsetMetadataIssues, |
| 16 | mcp.Prompt{ |
| 17 | Name: "issue_to_fix_workflow", |
| 18 | Description: t("PROMPT_ISSUE_TO_FIX_WORKFLOW_DESCRIPTION", "Create an issue for a problem and then generate a pull request to fix it"), |
| 19 | Arguments: []*mcp.PromptArgument{ |
| 20 | { |
| 21 | Name: "owner", |
| 22 | Description: "Repository owner", |
| 23 | Required: true, |
| 24 | }, |
| 25 | { |
| 26 | Name: "repo", |
| 27 | Description: "Repository name", |
| 28 | Required: true, |
| 29 | }, |
| 30 | { |
| 31 | Name: "title", |
| 32 | Description: "Issue title", |
| 33 | Required: true, |
| 34 | }, |
| 35 | { |
| 36 | Name: "description", |
| 37 | Description: "Issue description", |
| 38 | Required: true, |
| 39 | }, |
| 40 | { |
| 41 | Name: "labels", |
| 42 | Description: "Comma-separated list of labels to apply (optional)", |
| 43 | Required: false, |
| 44 | }, |
| 45 | { |
| 46 | Name: "assignees", |
| 47 | Description: "Comma-separated list of assignees (optional)", |
| 48 | Required: false, |
| 49 | }, |
| 50 | }, |
| 51 | }, |
| 52 | func(_ context.Context, request *mcp.GetPromptRequest) (*mcp.GetPromptResult, error) { |
| 53 | owner := request.Params.Arguments["owner"] |
| 54 | repo := request.Params.Arguments["repo"] |
| 55 | title := request.Params.Arguments["title"] |
| 56 | description := request.Params.Arguments["description"] |
| 57 | |
| 58 | labels := "" |
| 59 | if l, exists := request.Params.Arguments["labels"]; exists { |
| 60 | labels = fmt.Sprintf("%v", l) |
| 61 | } |
| 62 | |
| 63 | assignees := "" |
| 64 | if a, exists := request.Params.Arguments["assignees"]; exists { |
| 65 | assignees = fmt.Sprintf("%v", a) |
| 66 | } |
| 67 | |
| 68 | messages := []*mcp.PromptMessage{ |
| 69 | { |
| 70 | Role: "user", |
no test coverage detected