Documentation
¶
Index ¶
- Variables
- func MakePushEventEndpoint(svc Service) endpoint.Endpoint
- func MakeRoutes(r *mux.Router, s Service, logger log.Logger, middleware endpoint.Middleware, ...)
- type Authorizor
- type Changeset
- type Commit
- type Config
- type InfluxCfg
- type PushEvent
- type PushResponse
- type RallyCreateResult
- type RallyQueryResults
- type RallyResult
- type Reference
- type Service
- type UpdateResult
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // ErrBadRouting - returns 400 http error ErrBadRouting = errors.New("inconsistent mapping between route and handler (programmer error)") // ErrInvalidArgument - returns 400 http error ErrInvalidArgument = errors.New("invalid argument") ErrUnauthorized = errors.New("authorization is invalid") // ErrInvalidToken - returns 401 http error ErrInvalidToken = errors.New("token contains an invalid number of segments") // ErrForbidden - returns 403 http error ErrForbidden = errors.New("User not authorized for operation") )
Functions ¶
func MakePushEventEndpoint ¶
MakePushEventEndpoint - endpoint create
func MakeRoutes ¶
func MakeRoutes(r *mux.Router, s Service, logger log.Logger, middleware endpoint.Middleware, auth ...kithttp.RequestFunc)
MakeRoutes - make routes
Types ¶
type Authorizor ¶
func (*Authorizor) CheckHMAC ¶
func (a *Authorizor) CheckHMAC(ctx context.Context, request interface{}) (err error)
func (*Authorizor) ValidatePayload ¶
func (a *Authorizor) ValidatePayload() endpoint.Middleware
type Changeset ¶
type Changeset struct {
Ref string `json:"_ref,omitempty"`
CreationDate string `json:",omitempty"`
ObjectID int `json:",omitempty"`
ObjectUUID string `json:",omitempty"`
Subscription string `json:",omitempty"`
Workspace string `json:",omitempty"`
Artifacts []Reference `json:",omitempty"`
Author string `json:",omitempty"`
Branch string `json:",omitempty"`
Builds string `json:",omitempty"`
Changes string `json:",omitempty"`
CommitTimestamp string `json:",omitempty"`
Message string `json:",omitempty"`
Name string `json:",omitempty"`
Revision string `json:",omitempty"`
SCMRepository string `json:",omitempty"`
Uri string `json:",omitempty"`
}
type Commit ¶
type Commit struct {
ID string `json:"id"`
TreeID string `json:"tree_id"`
Distinct bool `json:"distinct"`
Message string `json:"message"`
Timestamp string `json:"timestamp"`
URL string `json:"url"`
Author struct {
Name string `json:"name"`
Email string `json:"email"`
} `json:"author"`
Committer struct {
Name string `json:"name"`
Email string `json:"email"`
} `json:"committer"`
Added []string `json:"added"`
Removed []string `json:"removed"`
Modified []string `json:"modified"`
}
type InfluxCfg ¶
type InfluxCfg struct {
URL string `json:"url"`
Username string `json:"username"`
Password string `json:"password"`
Database string `json:"database"`
Tag string `json:"tag"`
}
InfluxCfg - struct
type PushEvent ¶
type PushEvent struct {
Ref string `json:"ref"`
Before string `json:"before"`
After string `json:"after"`
Created bool `json:"created"`
Deleted bool `json:"deleted"`
Forced bool `json:"forced"`
BaseRef interface{} `json:"base_ref"`
Compare string `json:"compare"`
Commits []Commit `json:"commits"`
HeadCommit interface{} `json:"head_commit"`
Repository struct {
ID int `json:"id"`
NodeID string `json:"node_id"`
Name string `json:"name"`
FullName string `json:"full_name"`
Owner struct {
Name string `json:"name"`
Email string `json:"email"`
Login string `json:"login"`
ID int `json:"id"`
NodeID string `json:"node_id"`
AvatarURL string `json:"avatar_url"`
GravatarID string `json:"gravatar_id"`
URL string `json:"url"`
HTMLURL string `json:"html_url"`
FollowersURL string `json:"followers_url"`
FollowingURL string `json:"following_url"`
GistsURL string `json:"gists_url"`
StarredURL string `json:"starred_url"`
SubscriptionsURL string `json:"subscriptions_url"`
OrganizationsURL string `json:"organizations_url"`
ReposURL string `json:"repos_url"`
EventsURL string `json:"events_url"`
ReceivedEventsURL string `json:"received_events_url"`
Type string `json:"type"`
SiteAdmin bool `json:"site_admin"`
} `json:"owner"`
Private bool `json:"private"`
HTMLURL string `json:"html_url"`
Description interface{} `json:"description"`
Fork bool `json:"fork"`
URL string `json:"url"`
ForksURL string `json:"forks_url"`
KeysURL string `json:"keys_url"`
CollaboratorsURL string `json:"collaborators_url"`
TeamsURL string `json:"teams_url"`
HooksURL string `json:"hooks_url"`
IssueEventsURL string `json:"issue_events_url"`
EventsURL string `json:"events_url"`
AssigneesURL string `json:"assignees_url"`
BranchesURL string `json:"branches_url"`
TagsURL string `json:"tags_url"`
BlobsURL string `json:"blobs_url"`
GitTagsURL string `json:"git_tags_url"`
GitRefsURL string `json:"git_refs_url"`
TreesURL string `json:"trees_url"`
StatusesURL string `json:"statuses_url"`
LanguagesURL string `json:"languages_url"`
StargazersURL string `json:"stargazers_url"`
ContributorsURL string `json:"contributors_url"`
SubscribersURL string `json:"subscribers_url"`
SubscriptionURL string `json:"subscription_url"`
CommitsURL string `json:"commits_url"`
GitCommitsURL string `json:"git_commits_url"`
CommentsURL string `json:"comments_url"`
IssueCommentURL string `json:"issue_comment_url"`
ContentsURL string `json:"contents_url"`
CompareURL string `json:"compare_url"`
MergesURL string `json:"merges_url"`
ArchiveURL string `json:"archive_url"`
DownloadsURL string `json:"downloads_url"`
IssuesURL string `json:"issues_url"`
PullsURL string `json:"pulls_url"`
MilestonesURL string `json:"milestones_url"`
NotificationsURL string `json:"notifications_url"`
LabelsURL string `json:"labels_url"`
ReleasesURL string `json:"releases_url"`
DeploymentsURL string `json:"deployments_url"`
CreatedAt int `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
PushedAt int `json:"pushed_at"`
GitURL string `json:"git_url"`
SSHURL string `json:"ssh_url"`
CloneURL string `json:"clone_url"`
SvnURL string `json:"svn_url"`
Homepage interface{} `json:"homepage"`
Size int `json:"size"`
StargazersCount int `json:"stargazers_count"`
WatchersCount int `json:"watchers_count"`
Language interface{} `json:"language"`
HasIssues bool `json:"has_issues"`
HasProjects bool `json:"has_projects"`
HasDownloads bool `json:"has_downloads"`
HasWiki bool `json:"has_wiki"`
HasPages bool `json:"has_pages"`
ForksCount int `json:"forks_count"`
MirrorURL interface{} `json:"mirror_url"`
Archived bool `json:"archived"`
OpenIssuesCount int `json:"open_issues_count"`
License interface{} `json:"license"`
Forks int `json:"forks"`
OpenIssues int `json:"open_issues"`
Watchers int `json:"watchers"`
DefaultBranch string `json:"default_branch"`
Stargazers int `json:"stargazers"`
MasterBranch string `json:"master_branch"`
} `json:"repository"`
Pusher struct {
Name string `json:"name"`
Email string `json:"email"`
} `json:"pusher"`
Sender struct {
Login string `json:"login"`
ID int `json:"id"`
NodeID string `json:"node_id"`
AvatarURL string `json:"avatar_url"`
GravatarID string `json:"gravatar_id"`
URL string `json:"url"`
HTMLURL string `json:"html_url"`
FollowersURL string `json:"followers_url"`
FollowingURL string `json:"following_url"`
GistsURL string `json:"gists_url"`
StarredURL string `json:"starred_url"`
SubscriptionsURL string `json:"subscriptions_url"`
OrganizationsURL string `json:"organizations_url"`
ReposURL string `json:"repos_url"`
EventsURL string `json:"events_url"`
ReceivedEventsURL string `json:"received_events_url"`
Type string `json:"type"`
SiteAdmin bool `json:"site_admin"`
} `json:"sender"`
}
type PushResponse ¶
type RallyCreateResult ¶
type RallyCreateResult struct {
CreateResult struct {
RallyAPIMajor string `json:"_rallyAPIMajor"`
RallyAPIMinor string `json:"_rallyAPIMinor"`
Errors []interface{} `json:"Errors"`
Warnings []interface{} `json:"Warnings"`
Object struct {
RallyAPIMajor string `json:"_rallyAPIMajor"`
RallyAPIMinor string `json:"_rallyAPIMinor"`
Ref string `json:"_ref"`
RefObjectUUID string `json:"_refObjectUUID"`
ObjectVersion string `json:"_objectVersion"`
RefObjectName string `json:"_refObjectName"`
CreationDate time.Time `json:"CreationDate"`
CreatedAt string `json:"_CreatedAt"`
ObjectID int64 `json:"ObjectID"`
ObjectUUID string `json:"ObjectUUID"`
VersionID string `json:"VersionId"`
Subscription struct {
RallyAPIMajor string `json:"_rallyAPIMajor"`
RallyAPIMinor string `json:"_rallyAPIMinor"`
Ref string `json:"_ref"`
RefObjectUUID string `json:"_refObjectUUID"`
RefObjectName string `json:"_refObjectName"`
Type string `json:"_type"`
} `json:"Subscription"`
Workspace struct {
RallyAPIMajor string `json:"_rallyAPIMajor"`
RallyAPIMinor string `json:"_rallyAPIMinor"`
Ref string `json:"_ref"`
RefObjectUUID string `json:"_refObjectUUID"`
RefObjectName string `json:"_refObjectName"`
Type string `json:"_type"`
} `json:"Workspace"`
Description string `json:"Description"`
Name string `json:"Name"`
Projects struct {
RallyAPIMajor string `json:"_rallyAPIMajor"`
RallyAPIMinor string `json:"_rallyAPIMinor"`
Ref string `json:"_ref"`
Type string `json:"_type"`
Count int `json:"Count"`
} `json:"Projects"`
SCMType string `json:"SCMType"`
URI string `json:"Uri"`
Type string `json:"_type"`
} `json:"Object"`
} `json:"CreateResult"`
}
type RallyQueryResults ¶
type RallyQueryResults struct {
QueryResult struct {
RallyAPIMajor string `json:"_rallyAPIMajor"`
RallyAPIMinor string `json:"_rallyAPIMinor"`
Errors []interface{} `json:"Errors"`
Warnings []interface{} `json:"Warnings"`
TotalResultCount float64 `json:"TotalResultCount"`
StartIndex int `json:"StartIndex"`
PageSize int `json:"PageSize"`
Results []RallyResult `json:"Results"`
} `json:"QueryResult"`
}
type RallyResult ¶
type Service ¶
type Service interface {
ReceivePush(ctx context.Context, event PushEvent) (PushResponse, error)
FindRallyArtifact(commit Commit) (artifacts map[string]string)
}
func NewInstrumentedService ¶
func NewInstrumentedService(s Service, count metrics.Counter, callDur metrics.Histogram, c client.Client, in *kitinflux.Influx) Service
NewInstrumentedService - contructor function to wrap Service for metrics
func NewLoggingService ¶
NewLoggingService logs each method call to s.
type UpdateResult ¶
type UpdateResult struct {
OperationResult struct {
RallyAPIMajor string `json:"_rallyAPIMajor"`
RallyAPIMinor string `json:"_rallyAPIMinor"`
Errors []interface{} `json:"Errors"`
Warnings []interface{} `json:"Warnings"`
Object struct {
RallyAPIMajor string `json:"_rallyAPIMajor"`
RallyAPIMinor string `json:"_rallyAPIMinor"`
Ref string `json:"_ref"`
RefObjectUUID string `json:"_refObjectUUID"`
ObjectVersion string `json:"_objectVersion"`
RefObjectName string `json:"_refObjectName"`
CreationDate time.Time `json:"CreationDate"`
CreatedAt string `json:"_CreatedAt"`
ObjectID int64 `json:"ObjectID"`
ObjectUUID string `json:"ObjectUUID"`
VersionID string `json:"VersionId"`
Subscription struct {
RallyAPIMajor string `json:"_rallyAPIMajor"`
RallyAPIMinor string `json:"_rallyAPIMinor"`
Ref string `json:"_ref"`
RefObjectUUID string `json:"_refObjectUUID"`
RefObjectName string `json:"_refObjectName"`
Type string `json:"_type"`
} `json:"Subscription"`
Workspace struct {
RallyAPIMajor string `json:"_rallyAPIMajor"`
RallyAPIMinor string `json:"_rallyAPIMinor"`
Ref string `json:"_ref"`
RefObjectUUID string `json:"_refObjectUUID"`
RefObjectName string `json:"_refObjectName"`
Type string `json:"_type"`
} `json:"Workspace"`
Changesets struct {
RallyAPIMajor string `json:"_rallyAPIMajor"`
RallyAPIMinor string `json:"_rallyAPIMinor"`
Ref string `json:"_ref"`
Type string `json:"_type"`
Count int `json:"Count"`
} `json:"Changesets"`
Connections struct {
RallyAPIMajor string `json:"_rallyAPIMajor"`
RallyAPIMinor string `json:"_rallyAPIMinor"`
Ref string `json:"_ref"`
Type string `json:"_type"`
Count int `json:"Count"`
} `json:"Connections"`
CreatedBy struct {
RallyAPIMajor string `json:"_rallyAPIMajor"`
RallyAPIMinor string `json:"_rallyAPIMinor"`
Ref string `json:"_ref"`
RefObjectUUID string `json:"_refObjectUUID"`
RefObjectName string `json:"_refObjectName"`
Type string `json:"_type"`
} `json:"CreatedBy"`
Description string `json:"Description"`
Discussion struct {
RallyAPIMajor string `json:"_rallyAPIMajor"`
RallyAPIMinor string `json:"_rallyAPIMinor"`
Ref string `json:"_ref"`
Type string `json:"_type"`
Count int `json:"Count"`
} `json:"Discussion"`
DisplayColor string `json:"DisplayColor"`
Expedite bool `json:"Expedite"`
FormattedID string `json:"FormattedID"`
LastUpdateDate time.Time `json:"LastUpdateDate"`
LatestDiscussionAgeInMinutes interface{} `json:"LatestDiscussionAgeInMinutes"`
Milestones struct {
RallyAPIMajor string `json:"_rallyAPIMajor"`
RallyAPIMinor string `json:"_rallyAPIMinor"`
Ref string `json:"_ref"`
Type string `json:"_type"`
TagsNameArray []interface{} `json:"_tagsNameArray"`
Count int `json:"Count"`
} `json:"Milestones"`
Name string `json:"Name"`
Notes string `json:"Notes"`
Owner struct {
RallyAPIMajor string `json:"_rallyAPIMajor"`
RallyAPIMinor string `json:"_rallyAPIMinor"`
Ref string `json:"_ref"`
RefObjectUUID string `json:"_refObjectUUID"`
RefObjectName string `json:"_refObjectName"`
Type string `json:"_type"`
} `json:"Owner"`
Project struct {
RallyAPIMajor string `json:"_rallyAPIMajor"`
RallyAPIMinor string `json:"_rallyAPIMinor"`
Ref string `json:"_ref"`
RefObjectUUID string `json:"_refObjectUUID"`
RefObjectName string `json:"_refObjectName"`
Type string `json:"_type"`
} `json:"Project"`
Ready bool `json:"Ready"`
RevisionHistory struct {
RallyAPIMajor string `json:"_rallyAPIMajor"`
RallyAPIMinor string `json:"_rallyAPIMinor"`
Ref string `json:"_ref"`
RefObjectUUID string `json:"_refObjectUUID"`
Type string `json:"_type"`
} `json:"RevisionHistory"`
Tags struct {
RallyAPIMajor string `json:"_rallyAPIMajor"`
RallyAPIMinor string `json:"_rallyAPIMinor"`
Ref string `json:"_ref"`
Type string `json:"_type"`
TagsNameArray []interface{} `json:"_tagsNameArray"`
Count int `json:"Count"`
} `json:"Tags"`
FlowState struct {
RallyAPIMajor string `json:"_rallyAPIMajor"`
RallyAPIMinor string `json:"_rallyAPIMinor"`
Ref string `json:"_ref"`
RefObjectUUID string `json:"_refObjectUUID"`
RefObjectName string `json:"_refObjectName"`
Type string `json:"_type"`
} `json:"FlowState"`
FlowStateChangedDate time.Time `json:"FlowStateChangedDate"`
LastBuild interface{} `json:"LastBuild"`
LastRun interface{} `json:"LastRun"`
PassingTestCaseCount int `json:"PassingTestCaseCount"`
ScheduleState string `json:"ScheduleState"`
ScheduleStatePrefix string `json:"ScheduleStatePrefix"`
TestCaseCount int `json:"TestCaseCount"`
Attachments struct {
RallyAPIMajor string `json:"_rallyAPIMajor"`
RallyAPIMinor string `json:"_rallyAPIMinor"`
Ref string `json:"_ref"`
Type string `json:"_type"`
Count int `json:"Count"`
} `json:"Attachments"`
Package interface{} `json:"Package"`
AcceptedDate interface{} `json:"AcceptedDate"`
Blocked bool `json:"Blocked"`
BlockedReason interface{} `json:"BlockedReason"`
Blocker interface{} `json:"Blocker"`
Children struct {
RallyAPIMajor string `json:"_rallyAPIMajor"`
RallyAPIMinor string `json:"_rallyAPIMinor"`
Ref string `json:"_ref"`
Type string `json:"_type"`
Count int `json:"Count"`
} `json:"Children"`
DefectStatus string `json:"DefectStatus"`
Defects struct {
RallyAPIMajor string `json:"_rallyAPIMajor"`
RallyAPIMinor string `json:"_rallyAPIMinor"`
Ref string `json:"_ref"`
Type string `json:"_type"`
Count int `json:"Count"`
} `json:"Defects"`
DirectChildrenCount int `json:"DirectChildrenCount"`
DragAndDropRank string `json:"DragAndDropRank"`
HasParent bool `json:"HasParent"`
InProgressDate time.Time `json:"InProgressDate"`
Iteration interface{} `json:"Iteration"`
Parent interface{} `json:"Parent"`
PlanEstimate interface{} `json:"PlanEstimate"`
Predecessors struct {
RallyAPIMajor string `json:"_rallyAPIMajor"`
RallyAPIMinor string `json:"_rallyAPIMinor"`
Ref string `json:"_ref"`
Type string `json:"_type"`
Count int `json:"Count"`
} `json:"Predecessors"`
Recycled bool `json:"Recycled"`
Release interface{} `json:"Release"`
Risks struct {
RallyAPIMajor string `json:"_rallyAPIMajor"`
RallyAPIMinor string `json:"_rallyAPIMinor"`
Ref string `json:"_ref"`
Type string `json:"_type"`
Count int `json:"Count"`
} `json:"Risks"`
Successors struct {
RallyAPIMajor string `json:"_rallyAPIMajor"`
RallyAPIMinor string `json:"_rallyAPIMinor"`
Ref string `json:"_ref"`
Type string `json:"_type"`
Count int `json:"Count"`
} `json:"Successors"`
TaskActualTotal int `json:"TaskActualTotal"`
TaskEstimateTotal int `json:"TaskEstimateTotal"`
TaskRemainingTotal int `json:"TaskRemainingTotal"`
TaskStatus string `json:"TaskStatus"`
Tasks struct {
RallyAPIMajor string `json:"_rallyAPIMajor"`
RallyAPIMinor string `json:"_rallyAPIMinor"`
Ref string `json:"_ref"`
Type string `json:"_type"`
Count int `json:"Count"`
} `json:"Tasks"`
TestCaseStatus string `json:"TestCaseStatus"`
TestCases struct {
RallyAPIMajor string `json:"_rallyAPIMajor"`
RallyAPIMinor string `json:"_rallyAPIMinor"`
Ref string `json:"_ref"`
Type string `json:"_type"`
Count int `json:"Count"`
} `json:"TestCases"`
Type string `json:"_type"`
} `json:"Object"`
} `json:"OperationResult"`
}
Click to show internal directories.
Click to hide internal directories.