MCPcopy Index your code
hub / github.com/github/github-mcp-server / unmarkDiscussionCommentAsAnswer

Function unmarkDiscussionCommentAsAnswer

pkg/github/discussions.go:969–1002  ·  view source on GitHub ↗
(ctx context.Context, client *githubv4.Client, args map[string]any)

Source from the content-addressed store, hash-verified

967}
968
969func unmarkDiscussionCommentAsAnswer(ctx context.Context, client *githubv4.Client, args map[string]any) (*mcp.CallToolResult, any, error) {
970 commentNodeID, err := requiredCommentNodeID(args)
971 if err != nil {
972 return utils.NewToolResultError(err.Error()), nil, nil
973 }
974
975 input := githubv4.UnmarkDiscussionCommentAsAnswerInput{
976 ID: githubv4.ID(commentNodeID),
977 }
978 var mutation struct {
979 UnmarkDiscussionCommentAsAnswer struct {
980 Discussion struct {
981 ID githubv4.ID
982 URL githubv4.String `graphql:"url"`
983 }
984 } `graphql:"unmarkDiscussionCommentAsAnswer(input: $input)"`
985 }
986 if err := client.Mutate(ctx, &mutation, input, nil); err != nil {
987 return utils.NewToolResultError(err.Error()), nil, nil
988 }
989
990 out, err := json.Marshal(struct {
991 DiscussionID string `json:"discussionID"`
992 DiscussionURL string `json:"discussionURL"`
993 }{
994 DiscussionID: fmt.Sprintf("%v", mutation.UnmarkDiscussionCommentAsAnswer.Discussion.ID),
995 DiscussionURL: string(mutation.UnmarkDiscussionCommentAsAnswer.Discussion.URL),
996 })
997 if err != nil {
998 return nil, nil, fmt.Errorf("failed to marshal discussion: %w", err)
999 }
1000
1001 return utils.NewToolResultText(string(out)), nil, nil
1002}
1003
1004func ListDiscussionCategories(t translations.TranslationHelperFunc) inventory.ServerTool {
1005 return NewTool(

Callers 1

DiscussionCommentWriteFunction · 0.85

Calls 4

NewToolResultErrorFunction · 0.92
NewToolResultTextFunction · 0.92
requiredCommentNodeIDFunction · 0.85
ErrorMethod · 0.45

Tested by

no test coverage detected