Go SDK — Support
SupportServiceClient manages org-scoped tickets. Every org
member sees all tickets for the organization.
Create a ticket
support := supportv1connect.NewSupportServiceClient(httpClient, base)
resp, err := support.CreateTicket(ctx, connect.NewRequest(
&supportv1.CreateTicketRequest{
OrganizationName: "organizations/my-org",
Subject: "Quota increase request",
Body: "Need 50 VMs in projects/prod for load test.",
Category: supportv1.TicketCategory_TICKET_CATEGORY_BILLING,
Priority: supportv1.TicketPriority_TICKET_PRIORITY_NORMAL,
ResourceRefs: []*supportv1.ResourceRef{{
Type: "vm", Id: "web-1", Display: "web-1",
}},
},
))
ticket := resp.Msg.GetTicket() List and get
support.ListTickets(ctx, connect.NewRequest(&supportv1.ListTicketsRequest{
OrganizationName: org,
PageSize: 50,
}))
support.GetTicket(ctx, connect.NewRequest(&supportv1.GetTicketRequest{
Name: "organizations/my-org/tickets/tkt_abc",
})) ListTickets excludes closed tickets by default. Pass
StatusFilter to include closed.
Reply and close
support.ReplyTicket(ctx, connect.NewRequest(&supportv1.ReplyTicketRequest{
Name: ticketName, Body: "Still seeing the issue after reboot.",
}))
support.CloseTicket(ctx, connect.NewRequest(&supportv1.CloseTicketRequest{
Name: ticketName,
})) Categories
| Enum | Use for |
|---|---|
TICKET_CATEGORY_TECHNICAL | VM, network, connectivity issues |
TICKET_CATEGORY_BILLING | Wallet, invoices, quota requests |
TICKET_CATEGORY_ABUSE | Report abuse |
TICKET_CATEGORY_FEATURE | Product feedback |