Documentation ¶
Overview ¶
Package sentry provides a client to access https://sentry.io/api and sentry instances apis.
Index ¶
- Constants
- type APIError
- type Activity
- type Asset
- type Avatar
- type Client
- func (c *Client) BulkDeleteIssues(o Organization, p Project, issues []string) error
- func (c *Client) BulkMutateIssues(o Organization, p Project, req IssueBulkRequest, issues *[]string, ...) (IssueBulkResponse, error)
- func (c *Client) CreateClientKey(o Organization, p Project, name string) (Key, error)
- func (c *Client) CreateOrganization(orgname string) (Organization, error)
- func (c *Client) CreateProject(o Organization, t Team, name string, slug *string) (Project, error)
- func (c *Client) CreateRelease(o Organization, p Project, r NewRelease) (Release, error)
- func (c *Client) CreateTeam(o Organization, name string, slug *string) (Team, error)
- func (c *Client) DeleteClientKey(o Organization, p Project, k Key) error
- func (c *Client) DeleteIssue(i Issue) error
- func (c *Client) DeleteOrganization(org Organization) error
- func (c *Client) DeleteProject(o Organization, p Project) error
- func (c *Client) DeleteRelease(o Organization, p Project, r Release) error
- func (c *Client) DeleteReleaseFile(o Organization, p Project, r Release, f File) error
- func (c *Client) DeleteTeam(o Organization, t Team) error
- func (c *Client) GetClientKeys(o Organization, p Project) ([]Key, error)
- func (c *Client) GetIssue(id string) (Issue, error)
- func (c *Client) GetIssueEvents(i Issue) ([]Event, *Link, error)
- func (c *Client) GetIssueEventsFull(i Issue) ([]Event, *Link, error)
- func (c *Client) GetIssueHashes(i Issue) ([]Hash, *Link, error)
- func (c *Client) GetIssueTag(i Issue, tagname string) (IssueTag, error)
- func (c *Client) GetIssueTagValues(i Issue, tag IssueTag) ([]IssueTagValue, *Link, error)
- func (c *Client) GetIssueTags(i Issue) ([]IssueTag, *Link, error)
- func (c *Client) GetIssues(o Organization, p Project, StatsPeriod *string, ShortIDLookup *bool, ...) ([]Issue, *Link, error)
- func (c *Client) GetLatestEvent(i Issue) (Event, error)
- func (c *Client) GetOldestEvent(i Issue) (Event, error)
- func (c *Client) GetOrganization(orgslug string) (Organization, error)
- func (c *Client) GetOrganizationStats(org Organization, stat StatQuery, since, until int64, resolution *string) ([]Stat, error)
- func (c *Client) GetOrganizationTeams(o Organization) ([]Team, error)
- func (c *Client) GetOrganizations() ([]Organization, *Link, error)
- func (c *Client) GetPage(p Page, out interface{}) (*Link, error)
- func (c *Client) GetProject(o Organization, projslug string) (Project, error)
- func (c *Client) GetProjectEvent(o Organization, p Project, eventID string) (Event, error)
- func (c *Client) GetProjectStats(o Organization, p Project, stat StatQuery, since, until int64, ...) ([]Stat, error)
- func (c *Client) GetProjectUserFeedback(o Organization, p Project) ([]UserFeedback, *Link, error)
- func (c *Client) GetProjects() ([]Project, error)
- func (c *Client) GetRelease(o Organization, p Project, version string) (Release, error)
- func (c *Client) GetReleaseFile(o Organization, p Project, r Release, id string) (File, error)
- func (c *Client) GetReleaseFiles(o Organization, p Project, r Release) ([]File, error)
- func (c *Client) GetReleases(o Organization, p Project) ([]Release, *Link, error)
- func (c *Client) GetTeam(o Organization, teamSlug string) (Team, error)
- func (c *Client) GetTeamProjects(o Organization, t Team) ([]Project, error)
- func (c *Client) GetTeamStats(o Organization, t Team, stat StatQuery, since, until int64, resolution *string) ([]Stat, error)
- func (c *Client) SubmitUserFeedback(o Organization, p Project, u *UserFeedback) error
- func (c *Client) UpdateClientKey(o Organization, p Project, k Key, name string) (Key, error)
- func (c *Client) UpdateIssue(i Issue) error
- func (c *Client) UpdateOrganization(org Organization) error
- func (c *Client) UpdateProject(o Organization, p Project) error
- func (c *Client) UpdateRelease(o Organization, p Project, r Release) error
- func (c *Client) UpdateReleaseFile(o Organization, p Project, r Release, f File) error
- func (c *Client) UpdateTeam(o Organization, t Team) error
- func (c *Client) UploadReleaseFile(o Organization, p Project, r Release, name string, buffer io.Reader, ...) (File, error)
- type DSN
- type Entry
- type Event
- type File
- type Hash
- type InternalUser
- type Issue
- type IssueBulkRequest
- type IssueBulkResponse
- type IssueStats
- type IssueTag
- type IssueTagValue
- type Key
- type Link
- type NewRelease
- type Organization
- type Page
- type Plugin
- type Project
- type QueryArgs
- type Quota
- type Release
- type Stat
- type StatQuery
- type Status
- type Tag
- type Team
- type User
- type UserFeedback
Constants ¶
const ( // DefaultHost is the default host that is used DefaultHost = "https://sentry.io" // DefaultEndpoint is the entry point for the api DefaultEndpoint = "/api/0/" // DefaultTimeout is the default timeout and is set to 60 seconds DefaultTimeout = time.Duration(60) * time.Second )
const (
// OrgEndpointName is set to roganizations
OrgEndpointName = "organizations"
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Activity ¶
type Activity struct { Data *map[string]interface{} `json:"data,omitempty" bson:"data,omitempty"` DateCreated *time.Time `json:"dateCreated,omitempty" bson:"dateCreated,omitempty"` ID *string `json:"id,omitempty" bson:"id,omitempty"` Type *string `json:"type,omitempty" bson:"type,omitempty"` User *InternalUser `json:"user,omitempty" bson:"user,omitempty"` }
Activity is what current activity has happend on a issue
type Asset ¶
type Asset struct {
URL string `json:"url,omitempty"`
}
Asset is used from a plugin. Things like js/html
type Avatar ¶
type Avatar struct { AvatarType *string `json:"avatarType,omitempty" bson:"avatarType,omitempty"` AvatarUUID *string `json:"avatarUuid,omitempty" bson:"avatarUuid,omitempty"` }
Avatar is used for a users avatar
type Client ¶
Client is used to talk to a sentry endpoint. Needs a auth token. If no endpoint this defaults to https://sentry.io/api/0/
func NewClient ¶
NewClient takes a auth token a optional endpoint and optional timeout and will return back a client and error
func (*Client) BulkDeleteIssues ¶
func (c *Client) BulkDeleteIssues(o Organization, p Project, issues []string) error
BulkDeleteIssues takes a list of IDs and will delete them
func (*Client) BulkMutateIssues ¶
func (c *Client) BulkMutateIssues(o Organization, p Project, req IssueBulkRequest, issues *[]string, status *Status) (IssueBulkResponse, error)
BulkMutateIssues takes a list of ids and optional status to filter through
func (*Client) CreateClientKey ¶
CreateClientKey creates a new client key for a project and org
func (*Client) CreateOrganization ¶
func (c *Client) CreateOrganization(orgname string) (Organization, error)
CreateOrganization creates a organization with a name
func (*Client) CreateProject ¶
CreateProject will create a new project in your org and team
func (*Client) CreateRelease ¶
func (c *Client) CreateRelease(o Organization, p Project, r NewRelease) (Release, error)
CreateRelease will create a new release for a project in a org
func (*Client) CreateTeam ¶
CreateTeam creates a team with a organization object and requires a name and a optional slug
func (*Client) DeleteClientKey ¶
func (c *Client) DeleteClientKey(o Organization, p Project, k Key) error
DeleteClientKey deletes a client key for a project and org
func (*Client) DeleteIssue ¶
DeleteIssue will delete an issue
func (*Client) DeleteOrganization ¶
func (c *Client) DeleteOrganization(org Organization) error
DeleteOrganization will delete the Org. There is not way to revert this if you do.
func (*Client) DeleteProject ¶
func (c *Client) DeleteProject(o Organization, p Project) error
DeleteProject will take your org, team, and proj and delete it from sentry.
func (*Client) DeleteRelease ¶
func (c *Client) DeleteRelease(o Organization, p Project, r Release) error
DeleteRelease will delete the release from your project
func (*Client) DeleteReleaseFile ¶
DeleteReleaseFile will remove the file from a sentry release
func (*Client) DeleteTeam ¶
func (c *Client) DeleteTeam(o Organization, t Team) error
DeleteTeam deletes a team from a organization
func (*Client) GetClientKeys ¶
func (c *Client) GetClientKeys(o Organization, p Project) ([]Key, error)
GetClientKeys fetches all client keys of the given project
func (*Client) GetIssueEvents ¶
GetIssueEvents will fetch all events for a issue
func (*Client) GetIssueEventsFull ¶
GetIssueEvents will fetch all events for a issue
func (*Client) GetIssueHashes ¶
GetIssueHashes will fetch all hashes for a issue
func (*Client) GetIssueTag ¶
GetIssueTag will fetch a tag used in a issue. Eg; environment, release, server
func (*Client) GetIssueTagValues ¶
GetIssueTagValues will fetch all values for a issues tag
func (*Client) GetIssueTags ¶
GetIssueTags will fetch all tags for a issue
func (*Client) GetIssues ¶
func (c *Client) GetIssues(o Organization, p Project, StatsPeriod *string, ShortIDLookup *bool, query *string) ([]Issue, *Link, error)
GetIssues will fetch all issues for organization and project
func (*Client) GetLatestEvent ¶
GetLatestEvent will fetch the latest event for a issue
func (*Client) GetOldestEvent ¶
GetOldestEvent will fetch the latest event for a issue
func (*Client) GetOrganization ¶
func (c *Client) GetOrganization(orgslug string) (Organization, error)
GetOrganization takes a org slug and returns back the org
func (*Client) GetOrganizationStats ¶
func (c *Client) GetOrganizationStats(org Organization, stat StatQuery, since, until int64, resolution *string) ([]Stat, error)
GetOrganizationStats fetches stats from the org. Needs a Organization, a StatQuery, a timestamp in seconds since epoch and a optional resolution
func (*Client) GetOrganizationTeams ¶
func (c *Client) GetOrganizationTeams(o Organization) ([]Team, error)
GetOrganizationTeams will fetch all teams for this org
func (*Client) GetOrganizations ¶
func (c *Client) GetOrganizations() ([]Organization, *Link, error)
GetOrganizations will return back every organization in the sentry instance
func (*Client) GetPage ¶
GetPage will fetch a page via the Link object and decode it from out. Should be used like `client.GetPage(link.Previous, make([]Organization, 0))`
func (*Client) GetProject ¶
func (c *Client) GetProject(o Organization, projslug string) (Project, error)
GetProject takes a project slug and returns back the project
func (*Client) GetProjectEvent ¶
GetProjectEvent will fetch a event on a project
func (*Client) GetProjectStats ¶
func (c *Client) GetProjectStats(o Organization, p Project, stat StatQuery, since, until int64, resolution *string) ([]Stat, error)
GetProjectStats will fetch all stats for a specific project. Similar to GetOrganizationStats
func (*Client) GetProjectUserFeedback ¶
func (c *Client) GetProjectUserFeedback(o Organization, p Project) ([]UserFeedback, *Link, error)
GetProjectUserFeedback is used to fetch all feedback given for a certain project
func (*Client) GetProjects ¶
GetProjects fetchs all projects in a sentry instance
func (*Client) GetRelease ¶
GetRelease will fetch a release from your org and project this does need a version string
func (*Client) GetReleaseFile ¶
GetReleaseFile will get the release file
func (*Client) GetReleaseFiles ¶
GetReleaseFiles will fetch all files in a release
func (*Client) GetReleases ¶
GetReleases will fetch all releases from your org and project
func (*Client) GetTeam ¶
func (c *Client) GetTeam(o Organization, teamSlug string) (Team, error)
GetTeam takes a team slug and returns back the team
func (*Client) GetTeamProjects ¶
func (c *Client) GetTeamProjects(o Organization, t Team) ([]Project, error)
GetTeamProjects fetchs all projects for a Team
func (*Client) GetTeamStats ¶
func (c *Client) GetTeamStats(o Organization, t Team, stat StatQuery, since, until int64, resolution *string) ([]Stat, error)
GetTeamStats will fetch all stats for a specific team. Similar to GetOrganizationStats
func (*Client) SubmitUserFeedback ¶
func (c *Client) SubmitUserFeedback(o Organization, p Project, u *UserFeedback) error
SubmitUserFeedback is used when you want to submit feedback to a organizations project
func (*Client) UpdateClientKey ¶
UpdateClientKey updates the name only of a key
func (*Client) UpdateIssue ¶
UpdateIssue will update status, assign to, hasseen, isbookmarked and issubscribed
func (*Client) UpdateOrganization ¶
func (c *Client) UpdateOrganization(org Organization) error
UpdateOrganization takes a organization and updates it on the server side
func (*Client) UpdateProject ¶
func (c *Client) UpdateProject(o Organization, p Project) error
UpdateProject takes a organization and project then updates it on the server side
func (*Client) UpdateRelease ¶
func (c *Client) UpdateRelease(o Organization, p Project, r Release) error
UpdateRelease will update ref, url, started, released for a release. Version should not change.
func (*Client) UpdateReleaseFile ¶
UpdateReleaseFile will update just the name of the release file
func (*Client) UpdateTeam ¶
func (c *Client) UpdateTeam(o Organization, t Team) error
UpdateTeam will update a team on the server side
type DSN ¶
type DSN struct { Secret string `json:"secret,omitempty"` CSP string `json:"csp,omitempty"` Public string `json:"public,omitempty"` }
DSN is the actual connection strings used to send errors
type Entry ¶
type Entry struct { Type string `json:"type,omitempty" bson:"type,omitempty"` Data json.RawMessage `json:"data,omitempty" bson:"data,omitempty"` S string `json:"s" bson:"s"` }
Entry is the entry for the message/stacktrace/etc...
func (*Entry) GetInterface ¶
GetInterface will convert the entry into a go interface
type Event ¶
type Event struct { EventID string `json:"eventID,omitempty" bson:"eventID,omitempty"` // UserReport string `json:"userReport,omitempty" bson:"userReport,omitempty"` // UserReport seems to be more accurately a map[string]interface{}, but I am not using it, so going to ignore it for now. NextEventID string `json:"nextEventID,omitempty" bson:"nextEventID,omitempty"` PreviousEventID string `json:"previousEventID,omitempty" bson:"previousEventID,omitempty"` Message string `json:"message,omitempty" bson:"message,omitempty"` ID string `json:"id,omitempty" bson:"_id,omitempty"` Size int `json:"size,omitempty" bson:"size,omitempty"` Platform string `json:"platform,omitempty" bson:"platform,omitempty"` Type string `json:"type,omitempty" bson:"type,omitempty"` Metadata map[string]string `json:"metadata,omitempty" bson:"metadata,omitempty"` Tags []Tag `json:"tags,omitempty" bson:"tags,omitempty"` DateCreated time.Time `json:"dateCreated,omitempty" bson:"dateCreated,omitempty"` DateReceived time.Time `json:"dateReceived,omitempty" bson:"dateReceived,omitempty"` User User `json:"user,omitempty" bson:"user,omitempty"` Entries []Entry `json:"entries,omitempty" bson:"entries,omitempty"` Packages map[string]string `json:"packages,omitempty" bson:"packages,omitempty"` SDK map[string]interface{} `json:"sdk,omitempty" bson:"sdk,omitempty"` Contexts map[string]interface{} `json:"contexts,omitempty" bson:"contexts,omitempty"` Context map[string]interface{} `json:"context,omitempty" bson:"context,omitempty"` Release Release `json:"release,omitempty" bson:"release,omitempty"` GroupID string `json:"groupID,omitempty" bson:"groupID,omitempty"` }
Event is the event that was created on the app and sentry reported on
type File ¶
type File struct { SHA1 string `json:"sha1,omitempty"` Name string `json:"name,omitempty"` DateCreated time.Time `json:"dateCreated,omitempty"` Headers map[string]string `json:"headers,omitempty"` ID string `json:"id,omitempty"` Size int `json:"size,omitempty"` }
File is used to create a new file for a release
type Hash ¶
type Hash struct {
ID string `json:"id,omitempty" bson:"id,omitempty"`
}
Hash is returned via the issue_id/hashes
type InternalUser ¶
type InternalUser struct { AvatarURL *string `json:"avatarUrl,omitempty" bson:"avatarUrl,omitempty"` DateJoined *time.Time `json:"dateJoined,omitempty" bson:"dateJoined,omitempty"` Email *string `json:"email,omitempty" bson:"email,omitempty"` Has2FA *bool `json:"has2fa,omitempty" bson:"has2fa,omitempty"` ID *string `json:"iD,omitempty" bson:"id,omitempty"` IsActive *bool `json:"isActive,omitempty" bson:"isActive,omitempty"` IsManaged *bool `json:"isManaged,omitempty" bson:"isManaged,omitempty"` LastLogin *time.Time `json:"lastLogin,omitempty" bson:"lastLogin,omitempty"` Name *string `json:"name,omitempty" bson:"name,omitempty"` Username *string `json:"username,omitempty" bson:"username,omitempty"` }
InternalUser is a user on sentry and not a external customer
type Issue ¶
type Issue struct { Annotations []string `json:"annotations,omitempty" bson:"annotations,omitempty"` AssignedTo InternalUser `json:"assignedTo,omitempty" bson:"assignedTo,omitempty"` Activity []Activity `json:"activity,omitempty" bson:"activity,omitempty"` Count string `json:"count,omitempty" bson:"count,omitempty"` Culprit string `json:"culprit,omitempty" bson:"culprit,omitempty"` FirstSeen time.Time `json:"firstSeen,omitempty" bson:"firstSeen,omitempty"` HasSeen bool `json:"hasSeen,omitempty" bson:"hasSeen,omitempty"` ID string `json:"id,omitempty" bson:"_id,omitempty"` IsBookmarked bool `json:"isBookmarked,omitempty" bson:"isBookmarked,omitempty"` IsPublic bool `json:"isPublic,omitempty" bson:"isPublic,omitempty"` IsSubscribed bool `json:"isSubscribed,omitempty" bson:"isSubscribed,omitempty"` LastSeen time.Time `json:"lastSeen,omitempty" bson:"lastSeen,omitempty"` Level string `json:"level,omitempty" bson:"level,omitempty"` Logger string `json:"logger,omitempty" bson:"logger,omitempty"` Metadata map[string]string `json:"metadata,omitempty" bson:"metadata,omitempty"` NumComments int `json:"numComments,omitempty" bson:"numComments,omitempty"` Permalink string `json:"permalink,omitempty" bson:"permalink,omitempty"` Project Project `json:"project,omitempty" bson:"project,omitempty"` ShortID string `json:"shortId,omitempty" bson:"shortId,omitempty"` Stats IssueStats `json:"stats,omitempty" bson:"stats,omitempty"` Status Status `json:"status,omitempty" bson:"status,omitempty"` StatusDetails map[string]interface{} `json:"statusDetails,omitempty" bson:"statusDetails,omitempty"` SubscriptionDetails map[string]string `json:"subscriptionDetails,omitempty" bson:"subscriptionDetails,omitempty"` Tags []IssueTag `json:"tags,omitempty" bson:"tags,omitempty"` Title string `json:"title,omitempty" bson:"title,omitempty"` Type string `json:"type,omitempty" bson:"type,omitempty"` UserCount int `json:"userCount,omitempty" bson:"userCount,omitempty"` UserReportCount int `json:"userReportCount,omitempty" bson:"userReportCount,omitempty"` Events []Event `json:"_events,omitempty" bson:"events,omitempty"` }
Issue returns a issue found in sentry
type IssueBulkRequest ¶
type IssueBulkRequest struct { Status *Status `json:"status,omitempty"` IgnoreDuration *int `json:"ignoreDuration,omitempty"` IsPublic *bool `json:"isPublic,omitempty"` Merge *bool `json:"merge,omitempty"` HasSeen *bool `json:"hasSeen,omitempty"` IsBookmarked *bool `json:"isBookmarked,omitempty"` }
IssueBulkRequest is what should be used when bulk mutate issue
type IssueBulkResponse ¶
type IssueBulkResponse struct { Status *Status `json:"status,omitempty"` IsPublic *bool `json:"isPublic,omitempty"` StatusDetails *map[string]string `json:"statusDetails,omitempty"` }
IssueBulkResponse is what is returned when your mutation is done
type IssueStats ¶
type IssueStats struct { TwentyFourHour *[]Stat `json:"24h,omitempty" bson:"24h,omitempty"` ThirtyDays *[]Stat `json:"30d,omitempty" bson:"30d,omitempty"` }
IssueStats is the stats of a issue
type IssueTag ¶
type IssueTag struct { UniqueValues int `json:"uniqueValues,omitempty" bson:"uniqueValues,omitempty"` ID string `json:"id,omitempty" bson:"id,omitempty"` Key string `json:"key,omitempty" bson:"key,omitempty"` Name string `json:"name,omitempty" bson:"name,omitempty"` TopValues []IssueTagValue `json:"topValues,omitempty" bson:"topValues,omitempty"` }
IssueTag is a tag used in a sentry issue
type IssueTagValue ¶
type IssueTagValue struct { Count *int64 `json:"count,omitempty" bson:"count,omitempty"` FirstSeen *time.Time `json:"firstSeen,omitempty" bson:"firstSeen,omitempty"` ID *string `json:"iD,omitempty" bson:"iD,omitempty"` Key *string `json:"key,omitempty" bson:"key,omitempty"` LastSeen *time.Time `json:"lastSeen,omitempty" bson:"lastSeen,omitempty"` Name *string `json:"name,omitempty" bson:"name,omitempty"` Value *string `json:"value,omitempty" bson:"value,omitempty"` }
IssueTagValue represents a tags value
type Key ¶
type Key struct { Label string `json:"label,omitempty"` DSN DSN `json:"dsn,omitempty"` Secret string `json:"secret,omitempty"` ID string `json:"id,omitempty"` DateCreated time.Time `json:"dateCreated,omitempty"` Public string `json:"public,omitempty"` }
Key is a DSN that sentry has made
type Link ¶
Link represents a link object as per: https://docs.sentry.io/api/pagination/
type NewRelease ¶
type NewRelease struct { // Optional commit ref. Ref *string `json:"ref,omitempty"` // Optional URL to point to the online source code URL *string `json:"url,omitempty"` // Required for creating the release Version string `json:"version"` // Optional to set when it started DateStarted *time.Time `json:"dateStarted,omitempty"` // Optional to set when it was released to the public DateReleased *time.Time `json:"dateReleased,omitempty"` }
NewRelease is used to create a new release
type Organization ¶
type Organization struct { PendingAccessRequest *int `json:"pendingAccessRequests,omitempty"` Slug *string `json:"slug,omitempty"` Name string `json:"name"` Quota *Quota `json:"quota,omitempty"` DateCreated *time.Time `json:"dateCreated,omitempty"` Teams *[]Team `json:"teams,omitempty"` ID *string `json:"id,omitempty"` IsEarlyAdopter *bool `json:"isEarlyAdopter,omitempty"` Features *[]string `json:"features,omitempty"` }
Organization is your sentry organization.
type Plugin ¶
type Plugin struct { Assets []Asset `json:"assets,omitempty"` IsTestable bool `json:"isTestable,omitempty"` Enabled bool `json:"enabled,omitempty"` Name string `json:"name,omitempty"` CanDisable bool `json:"canDisable,omitempty"` Type string `json:"type,omitempty"` ID string `json:"id,omitempty"` Metadata map[string]interface{} `json:"metadata,omitempty"` }
Plugin is a type of project plugin
type Project ¶
type Project struct { Status string `json:"status,omitempty"` Slug *string `json:"slug,omitempty"` DefaultEnvironment *string `json:"defaultEnvironment,omitempty"` Color *string `json:"color,omitempty"` IsPublic bool `json:"isPublic,omitempty"` DateCreated *time.Time `json:"dateCreated,omitempty"` CallSign string `json:"callSign,omitempty"` FirstEvent *time.Time `json:"firstEvent,omitempty"` IsBookmarked bool `json:"isBookmarked,omitempty"` CallSignReviewed bool `json:"callSignReviewed,omitempty"` ID string `json:"id,omitempty"` Name string `json:"name"` Platforms *[]string `json:"platforms,omitempty"` Options *map[string]interface{} `json:"options,omitempty"` Plugins *[]Plugin `json:"plugins,omitempty"` Team *Team `json:"team,omitempty"` Organization *Organization `json:"organization,omitempty"` DigestMinDelay *int `json:"digestMinDelay,omitempty"` DigestMaxDelay *int `json:"digestMaxDelay,omitempty"` }
Project is your project in sentry
type QueryArgs ¶
type QueryArgs interface {
ToQueryString() string
}
QueryArgs is a simple internal interface
type Release ¶
type Release struct { DateCreated *time.Time `json:"dateCreated,omitempty"` DateReleased *time.Time `json:"dateReleased,omitempty"` DateStarted *time.Time `json:"dateStarted,omitempty"` FirstEvent *time.Time `json:"firstEvent,omitempty"` LastEvent *time.Time `json:"lastEvent,omitempty"` NewGroups *int `json:"newGroups,omitempty"` Owner *string `json:"owner,omitempty"` Ref *string `json:"ref,omitempty"` ShortVersion string `json:"shortVersion"` URL *string `json:"url,omitempty"` Version string `json:"version"` }
Release is your release for a orgs teams project
type Stat ¶
type Stat [2]float64
Stat is used for tetting a time in seconds and the metric in a float
type StatQuery ¶
type StatQuery string
StatQuery is sample type for sending to /stats/ endpoints
const ( // StatReceived is set to received for sending to /stats/ endpoints StatReceived StatQuery = "received" // StatRejected is set to rejected for sending to /stats/ endpoints StatRejected StatQuery = "rejected" // StatBlacklisted is set to blacklisted for sending to /stats/ endpoints StatBlacklisted StatQuery = "blacklisted" )
type Tag ¶
type Tag struct { Value *string `json:"value,omitempty" bson:"value,omitempty"` Key *string `json:"key,omitempty" bson:"key,omitempty"` }
Tag is used for a event
type Team ¶
type Team struct { Slug *string `json:"slug,omitempty"` Name string `json:"name"` HasAccess *bool `json:"hasAccess,omitempty"` IsPending *bool `json:"isPending,omitempty"` DateCreated *time.Time `json:"dateCreated,omitempty"` IsMember *bool `json:"isMember,omitempty"` ID *string `json:"id,omitempty"` Projects *[]Project `json:"projects,omitempty"` }
Team is a sentry team
type User ¶
type User struct { Username *string `json:"username,omitempty" bson:"username,omitempty"` Email *string `json:"email,omitempty" bson:"email,omitempty"` ID *string `json:"id,omitempty" bson:"id,omitempty"` }
User is the user that was affected
type UserFeedback ¶
type UserFeedback struct { EventID *string `json:"event_id,omitempty"` Name *string `json:"name,omitempty"` Comments *string `json:"comments,omitempty"` Email *string `json:"email,omitempty"` DateCreated *time.Time `json:"dateCreated,omitempty"` Issue *Issue `json:"issue,omitempty"` ID *string `json:"id,omitempty"` }
UserFeedback is the feedback on a given project and issue
func NewUserFeedback ¶
func NewUserFeedback(name, comments, email, eventID string) UserFeedback
NewUserFeedback will generate a new UserFeedback and type correctly