Documentation
¶
Index ¶
- type ADF
- type ADFContent
- type ADFMark
- type ADFMarkAttributes
- type AffectsVersion
- type Attachment
- type AvatarUrls
- type Changelog
- type ChangelogHistory
- type ChangelogItems
- type Client
- func (c *Client) CreateIssue(ctx context.Context, issue *Issue) (*CreateIssueResponse, string, error)
- func (c *Client) CreateIssueComment(ctx context.Context, issueID string, projectID string, comment ADF) error
- func (c *Client) EditIssue(ctx context.Context, issue *Issue) error
- func (c *Client) FetchAllRepos() ([]*Project, error)
- func (c *Client) GetAccountIDByEmail(ctx context.Context, email string) (string, error)
- func (c *Client) GetIssue(ctx context.Context, issueID string) (*Issue, error)
- func (c *Client) GetIssueTransitions(ctx context.Context, issueID string) ([]Transition, error)
- func (c *Client) SetJiraIntegrationID(id uuid.UUID)
- func (c *Client) TransitionIssue(ctx context.Context, issueID string, transitionID string) error
- type Comment
- type CommentVisibility
- type Comments
- type Component
- type CreateIssueResponse
- type Date
- type EntityProperty
- type Epic
- type Event
- type FixVersion
- type Issue
- type IssueComment
- type IssueFields
- type IssueLink
- type IssueLinkType
- type IssueRenderedFields
- type IssueType
- type IssueWebhook
- type Parent
- type Priority
- type Progress
- type Project
- type ProjectCategory
- type ProjectComponent
- type Resolution
- type Sprint
- type Status
- type StatusCategory
- type StatusCategoryID
- type Subtasks
- type Time
- type TimeTracking
- type Transition
- type TransitionField
- type TransitionsResponse
- type User
- type Version
- type Watcher
- type Watches
- type WebhookEvent
- type Worklog
- type WorklogRecord
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ADF ¶
type ADF struct {
Version int `json:"version"`
Type string `json:"type"`
Content []ADFContent `json:"content"`
}
These structs are new und do not exist in the go-jira library.
type ADFContent ¶
type ADFContent struct {
Type string `json:"type"`
Text string `json:"text,omitempty"`
Marks []ADFMark `json:"marks,omitempty"`
Content []ADFContent `json:"content,omitempty"`
Attrs *ADFMarkAttributes `json:"attrs,omitempty"`
}
type ADFMark ¶
type ADFMark struct {
Type string `json:"type"`
Attrs *ADFMarkAttributes `json:"attrs,omitempty"`
}
type ADFMarkAttributes ¶
type AffectsVersion ¶
type AffectsVersion Version
AffectsVersion represents a software release which is affected by an issue.
type Attachment ¶
type Attachment struct {
Self string `json:"self,omitempty" structs:"self,omitempty"`
ID string `json:"id,omitempty" structs:"id,omitempty"`
Filename string `json:"filename,omitempty" structs:"filename,omitempty"`
Author *User `json:"author,omitempty" structs:"author,omitempty"`
Created string `json:"created,omitempty" structs:"created,omitempty"`
Size int `json:"size,omitempty" structs:"size,omitempty"`
MimeType string `json:"mimeType,omitempty" structs:"mimeType,omitempty"`
Content string `json:"content,omitempty" structs:"content,omitempty"`
Thumbnail string `json:"thumbnail,omitempty" structs:"thumbnail,omitempty"`
}
Attachment represents a Jira attachment
type AvatarUrls ¶
type Changelog ¶
type Changelog struct {
Histories []ChangelogHistory `json:"histories,omitempty"`
}
type ChangelogHistory ¶
type ChangelogHistory struct {
ID string `json:"id" structs:"id"`
Author User `json:"author" structs:"author"`
Created string `json:"created" structs:"created"`
Items []ChangelogItems `json:"items" structs:"items"`
}
type ChangelogItems ¶
type ChangelogItems struct {
Field string `json:"field" structs:"field"`
FieldType string `json:"fieldtype" structs:"fieldtype"`
From interface{} `json:"from" structs:"from"`
FromString string `json:"fromString" structs:"fromString"`
To interface{} `json:"to" structs:"to"`
ToString string `json:"toString" structs:"toString"`
}
type Client ¶
type Client struct {
JiraIntegrationID uuid.UUID
AccessToken string
BaseURL string
UserEmail string
}
func NewJiraClient ¶
func (*Client) CreateIssue ¶
func (*Client) CreateIssueComment ¶
func (*Client) FetchAllRepos ¶
func (*Client) GetAccountIDByEmail ¶
func (*Client) GetIssueTransitions ¶
func (*Client) SetJiraIntegrationID ¶
type Comment ¶
type Comment struct {
ID string `json:"id,omitempty" structs:"id,omitempty"`
Self string `json:"self,omitempty" structs:"self,omitempty"`
Name string `json:"name,omitempty" structs:"name,omitempty"`
Author *User `json:"author,omitempty" structs:"author,omitempty"`
//Body ADF `json:"body,omitempty" structs:"body,omitempty"`
UpdateAuthor *User `json:"updateAuthor,omitempty" structs:"updateAuthor,omitempty"`
Updated string `json:"updated,omitempty" structs:"updated,omitempty"`
Created string `json:"created,omitempty" structs:"created,omitempty"`
Visibility *CommentVisibility `json:"visibility,omitempty" structs:"visibility,omitempty"`
// A list of comment properties. Optional on create and update.
Properties []EntityProperty `json:"properties,omitempty" structs:"properties,omitempty"`
}
Comment represents a comment by a person to an issue in Jira.
type CommentVisibility ¶
type CommentVisibility struct {
Type string `json:"type,omitempty" structs:"type,omitempty"`
Value string `json:"value,omitempty" structs:"value,omitempty"`
}
CommentVisibility represents he visibility of a comment. E.g. Type could be "role" and Value "Administrators"
type Comments ¶
type Comments struct {
Comments []*Comment `json:"comments,omitempty" structs:"comments,omitempty"`
}
Comments represents a list of Comment.
type Component ¶
type Component struct {
Self string `json:"self,omitempty" structs:"self,omitempty"`
ID string `json:"id,omitempty" structs:"id,omitempty"`
Name string `json:"name,omitempty" structs:"name,omitempty"`
Description string `json:"description,omitempty" structs:"description,omitempty"`
}
Component represents a "component" of a Jira issue. Components can be user defined in every Jira instance.
type CreateIssueResponse ¶
type CreateIssueResponse struct {
ID string `json:"id"`
Key string `json:"key"`
Transition struct {
Status string `json:"status"`
Errors struct {
} `json:"errorCollection"`
} `json:"transition"`
ErrorMessages []string `json:"errorMessages,omitempty"`
Errors map[string]string `json:"errors,omitempty"`
}
func (*CreateIssueResponse) GetID ¶
func (i *CreateIssueResponse) GetID() string
type EntityProperty ¶
type EntityProperty struct {
Key string `json:"key"`
Value interface{} `json:"value"`
}
type Epic ¶
type Epic struct {
ID int `json:"id" structs:"id"`
Key string `json:"key" structs:"key"`
Self string `json:"self" structs:"self"`
Name string `json:"name" structs:"name"`
Summary string `json:"summary" structs:"summary"`
Done bool `json:"done" structs:"done"`
}
Epic represents the epic to which an issue is associated Not that this struct does not process the returned "color" value
type FixVersion ¶
type FixVersion struct {
Self string `json:"self,omitempty" structs:"self,omitempty"`
ID string `json:"id,omitempty" structs:"id,omitempty"`
Name string `json:"name,omitempty" structs:"name,omitempty"`
Description string `json:"description,omitempty" structs:"description,omitempty"`
Archived *bool `json:"archived,omitempty" structs:"archived,omitempty"`
Released *bool `json:"released,omitempty" structs:"released,omitempty"`
ReleaseDate string `json:"releaseDate,omitempty" structs:"releaseDate,omitempty"`
UserReleaseDate string `json:"userReleaseDate,omitempty" structs:"userReleaseDate,omitempty"`
ProjectID int `json:"projectId,omitempty" structs:"projectId,omitempty"` // Unlike other IDs, this is returned as a number
StartDate string `json:"startDate,omitempty" structs:"startDate,omitempty"`
}
FixVersion represents a software release in which an issue is fixed.
type Issue ¶
type Issue struct {
Expand string `json:"expand,omitempty" structs:"expand,omitempty"`
ID string `json:"id,omitempty" structs:"id,omitempty"`
Self string `json:"self,omitempty" structs:"self,omitempty"`
Key string `json:"key,omitempty" structs:"key,omitempty"`
Fields *IssueFields `json:"fields,omitempty" structs:"fields,omitempty"`
RenderedFields *IssueRenderedFields `json:"renderedFields,omitempty" structs:"renderedFields,omitempty"`
Changelog *Changelog `json:"changelog,omitempty" structs:"changelog,omitempty"`
Transitions []Transition `json:"transitions,omitempty" structs:"transitions,omitempty"`
Names map[string]string `json:"names,omitempty" structs:"names,omitempty"`
}
type IssueComment ¶
type IssueComment struct {
ID string `json:"id,omitempty" structs:"id,omitempty"`
Self string `json:"self,omitempty" structs:"self,omitempty"`
Name string `json:"name,omitempty" structs:"name,omitempty"`
Author *User `json:"author,omitempty" structs:"author,omitempty"`
Body string `json:"body,omitempty" structs:"body,omitempty"`
UpdateAuthor *User `json:"updateAuthor,omitempty" structs:"updateAuthor,omitempty"`
Updated string `json:"updated,omitempty" structs:"updated,omitempty"`
Created string `json:"created,omitempty" structs:"created,omitempty"`
Visibility *CommentVisibility `json:"visibility,omitempty" structs:"visibility,omitempty"`
// A list of comment properties. Optional on create and update.
Properties []EntityProperty `json:"properties,omitempty" structs:"properties,omitempty"`
}
type IssueFields ¶
type IssueFields struct {
// TODO Missing fields
// * "workratio": -1,
// * "lastViewed": null,
// * "environment": null,
Expand string `json:"expand,omitempty" structs:"expand,omitempty"`
Type IssueType `json:"issuetype,omitempty" structs:"issuetype,omitempty"`
Project Project `json:"project,omitempty" structs:"project,omitempty"`
Environment string `json:"environment,omitempty" structs:"environment,omitempty"`
Resolution *Resolution `json:"resolution,omitempty" structs:"resolution,omitempty"`
Priority *Priority `json:"priority,omitempty" structs:"priority,omitempty"`
//Resolutiondate Time `json:"resolutiondate,omitempty" structs:"resolutiondate,omitempty"`
//Created Time `json:"created,omitempty" structs:"created,omitempty"`
//Duedate Date `json:"duedate,omitempty" structs:"duedate,omitempty"`
Watches *Watches `json:"watches,omitempty" structs:"watches,omitempty"`
Assignee *User `json:"assignee,omitempty" structs:"assignee,omitempty"`
//Updated Time `json:"updated,omitempty" structs:"updated,omitempty"`
Description ADF `json:"description,omitempty" structs:"description,omitempty"`
Summary string `json:"summary,omitempty" structs:"summary,omitempty"`
Creator *User `json:"creator,omitempty" structs:"creator,omitempty"`
Reporter *User `json:"reporter,omitempty" structs:"reporter,omitempty"`
Components []*Component `json:"components,omitempty" structs:"components,omitempty"`
Status *Status `json:"status,omitempty" structs:"status,omitempty"`
//StatusCategoryChangeDate Time `json:"statuscategorychangedate,omitempty" structs:"statuscategorychangedate,omitempty"`
Progress *Progress `json:"progress,omitempty" structs:"progress,omitempty"`
AggregateProgress *Progress `json:"aggregateprogress,omitempty" structs:"aggregateprogress,omitempty"`
TimeTracking *TimeTracking `json:"timetracking,omitempty" structs:"timetracking,omitempty"`
TimeSpent int `json:"timespent,omitempty" structs:"timespent,omitempty"`
TimeEstimate int `json:"timeestimate,omitempty" structs:"timeestimate,omitempty"`
TimeOriginalEstimate int `json:"timeoriginalestimate,omitempty" structs:"timeoriginalestimate,omitempty"`
Worklog *Worklog `json:"worklog,omitempty" structs:"worklog,omitempty"`
IssueLinks []*IssueLink `json:"issuelinks,omitempty" structs:"issuelinks,omitempty"`
Comments *Comments `json:"comment,omitempty" structs:"comment,omitempty"`
FixVersions []*FixVersion `json:"fixVersions,omitempty" structs:"fixVersions,omitempty"`
AffectsVersions []*AffectsVersion `json:"versions,omitempty" structs:"versions,omitempty"`
Labels []string `json:"labels,omitempty" structs:"labels,omitempty"`
Subtasks []*Subtasks `json:"subtasks,omitempty" structs:"subtasks,omitempty"`
Attachments []*Attachment `json:"attachment,omitempty" structs:"attachment,omitempty"`
Epic *Epic `json:"epic,omitempty" structs:"epic,omitempty"`
Sprint *Sprint `json:"sprint,omitempty" structs:"sprint,omitempty"`
Parent *Parent `json:"parent,omitempty" structs:"parent,omitempty"`
AggregateTimeOriginalEstimate int `json:"aggregatetimeoriginalestimate,omitempty" structs:"aggregatetimeoriginalestimate,omitempty"`
AggregateTimeSpent int `json:"aggregatetimespent,omitempty" structs:"aggregatetimespent,omitempty"`
AggregateTimeEstimate int `json:"aggregatetimeestimate,omitempty" structs:"aggregatetimeestimate,omitempty"`
}
type IssueLink ¶
type IssueLink struct {
ID string `json:"id,omitempty" structs:"id,omitempty"`
Self string `json:"self,omitempty" structs:"self,omitempty"`
Type IssueLinkType `json:"type" structs:"type"`
OutwardIssue *Issue `json:"outwardIssue" structs:"outwardIssue"`
InwardIssue *Issue `json:"inwardIssue" structs:"inwardIssue"`
Comment *Comment `json:"comment,omitempty" structs:"comment,omitempty"`
}
IssueLink represents a link between two issues in Jira.
type IssueLinkType ¶
type IssueLinkType struct {
ID string `json:"id,omitempty" structs:"id,omitempty"`
Self string `json:"self,omitempty" structs:"self,omitempty"`
Name string `json:"name" structs:"name"`
Inward string `json:"inward" structs:"inward"`
Outward string `json:"outward" structs:"outward"`
}
IssueLinkType represents a type of a link between to issues in Jira. Typical issue link types are "Related to", "Duplicate", "Is blocked by", etc.
type IssueRenderedFields ¶
type IssueRenderedFields struct {
// TODO Missing fields
// * "aggregatetimespent": null,
// * "workratio": -1,
// * "lastViewed": null,
// * "aggregatetimeoriginalestimate": null,
// * "aggregatetimeestimate": null,
// * "environment": null,
Resolutiondate string `json:"resolutiondate,omitempty" structs:"resolutiondate,omitempty"`
Created string `json:"created,omitempty" structs:"created,omitempty"`
Duedate string `json:"duedate,omitempty" structs:"duedate,omitempty"`
Updated string `json:"updated,omitempty" structs:"updated,omitempty"`
Comments *Comments `json:"comment,omitempty" structs:"comment,omitempty"`
Description string `json:"description,omitempty" structs:"description,omitempty"`
}
type IssueType ¶
type IssueType struct {
Self string `json:"self,omitempty" structs:"self,omitempty"`
ID string `json:"id,omitempty" structs:"id,omitempty"`
Description string `json:"description,omitempty" structs:"description,omitempty"`
IconURL string `json:"iconUrl,omitempty" structs:"iconUrl,omitempty"`
Name string `json:"name,omitempty" structs:"name,omitempty"`
Subtask bool `json:"subtask,omitempty" structs:"subtask,omitempty"`
AvatarID int `json:"avatarId,omitempty" structs:"avatarId,omitempty"`
}
type IssueWebhook ¶
type Priority ¶
type Priority struct {
Self string `json:"self,omitempty" structs:"self,omitempty"`
IconURL string `json:"iconUrl,omitempty" structs:"iconUrl,omitempty"`
Name string `json:"name,omitempty" structs:"name,omitempty"`
ID string `json:"id,omitempty" structs:"id,omitempty"`
StatusColor string `json:"statusColor,omitempty" structs:"statusColor,omitempty"`
Description string `json:"description,omitempty" structs:"description,omitempty"`
}
Priority represents a priority of a Jira issue. Typical types are "Normal", "Moderate", "Urgent", ...
type Progress ¶
type Progress struct {
Progress int `json:"progress" structs:"progress"`
Total int `json:"total" structs:"total"`
Percent int `json:"percent" structs:"percent"`
}
Progress represents the progress of a Jira issue.
type Project ¶
type Project struct {
Expand string `json:"expand,omitempty" structs:"expand,omitempty"`
Self string `json:"self,omitempty" structs:"self,omitempty"`
ID string `json:"id,omitempty" structs:"id,omitempty"`
Key string `json:"key,omitempty" structs:"key,omitempty"`
Description string `json:"description,omitempty" structs:"description,omitempty"`
Lead User `json:"lead,omitempty" structs:"lead,omitempty"`
Components []ProjectComponent `json:"components,omitempty" structs:"components,omitempty"`
IssueTypes []IssueType `json:"issueTypes,omitempty" structs:"issueTypes,omitempty"`
URL string `json:"url,omitempty" structs:"url,omitempty"`
Email string `json:"email,omitempty" structs:"email,omitempty"`
AssigneeType string `json:"assigneeType,omitempty" structs:"assigneeType,omitempty"`
Versions []Version `json:"versions,omitempty" structs:"versions,omitempty"`
Name string `json:"name,omitempty" structs:"name,omitempty"`
Roles map[string]string `json:"roles,omitempty" structs:"roles,omitempty"`
AvatarUrls AvatarUrls `json:"avatarUrls,omitempty" structs:"avatarUrls,omitempty"`
ProjectCategory ProjectCategory `json:"projectCategory,omitempty" structs:"projectCategory,omitempty"`
}
type ProjectCategory ¶
type ProjectComponent ¶
type ProjectComponent struct {
Self string `json:"self" structs:"self,omitempty"`
ID string `json:"id" structs:"id,omitempty"`
Name string `json:"name" structs:"name,omitempty"`
Description string `json:"description" structs:"description,omitempty"`
Lead User `json:"lead,omitempty" structs:"lead,omitempty"`
AssigneeType string `json:"assigneeType" structs:"assigneeType,omitempty"`
Assignee User `json:"assignee" structs:"assignee,omitempty"`
RealAssigneeType string `json:"realAssigneeType" structs:"realAssigneeType,omitempty"`
RealAssignee User `json:"realAssignee" structs:"realAssignee,omitempty"`
IsAssigneeTypeValid bool `json:"isAssigneeTypeValid" structs:"isAssigneeTypeValid,omitempty"`
Project string `json:"project" structs:"project,omitempty"`
ProjectID int `json:"projectId" structs:"projectId,omitempty"`
}
type Resolution ¶
type Resolution struct {
Self string `json:"self" structs:"self"`
ID string `json:"id" structs:"id"`
Description string `json:"description" structs:"description"`
Name string `json:"name" structs:"name"`
}
Resolution represents a resolution of a Jira issue. Typical types are "Fixed", "Suspended", "Won't Fix", ...
type Sprint ¶
type Sprint struct {
ID int `json:"id" structs:"id"`
Name string `json:"name" structs:"name"`
CompleteDate *time.Time `json:"completeDate" structs:"completeDate"`
EndDate *time.Time `json:"endDate" structs:"endDate"`
StartDate *time.Time `json:"startDate" structs:"startDate"`
OriginBoardID int `json:"originBoardId" structs:"originBoardId"`
Self string `json:"self" structs:"self"`
State string `json:"state" structs:"state"`
}
type Status ¶
type Status struct {
Self string `json:"self" structs:"self"`
Description string `json:"description" structs:"description"`
IconURL string `json:"iconUrl" structs:"iconUrl"`
Name string `json:"name" structs:"name"`
ID string `json:"id" structs:"id"`
StatusCategory StatusCategory `json:"statusCategory" structs:"statusCategory"`
}
type StatusCategory ¶
type StatusCategory struct {
Self string `json:"self" structs:"self"`
ID StatusCategoryID `json:"id" structs:"id"`
Name string `json:"name" structs:"name"`
Key string `json:"key" structs:"key"`
ColorName string `json:"colorName" structs:"colorName"`
}
type StatusCategoryID ¶
type StatusCategoryID int
const ( StatusCategoryToDo StatusCategoryID = 2 // "New" or "To Do" StatusCategoryDone StatusCategoryID = 3 // "Complete" or "done" StatusCategoryInProgress StatusCategoryID = 4 // "In Progress" )
type Subtasks ¶
type Subtasks struct {
ID string `json:"id" structs:"id"`
Key string `json:"key" structs:"key"`
Self string `json:"self" structs:"self"`
Fields IssueFields `json:"fields" structs:"fields"`
}
Subtasks represents all issues of a parent issue.
type TimeTracking ¶
type TimeTracking struct {
OriginalEstimate string `json:"originalEstimate,omitempty" structs:"originalEstimate,omitempty"`
RemainingEstimate string `json:"remainingEstimate,omitempty" structs:"remainingEstimate,omitempty"`
TimeSpent string `json:"timeSpent,omitempty" structs:"timeSpent,omitempty"`
OriginalEstimateSeconds int `json:"originalEstimateSeconds,omitempty" structs:"originalEstimateSeconds,omitempty"`
RemainingEstimateSeconds int `json:"remainingEstimateSeconds,omitempty" structs:"remainingEstimateSeconds,omitempty"`
TimeSpentSeconds int `json:"timeSpentSeconds,omitempty" structs:"timeSpentSeconds,omitempty"`
}
TimeTracking represents the timetracking fields of a Jira issue.
type Transition ¶
type Transition struct {
ID string `json:"id" structs:"id"`
Name string `json:"name" structs:"name"`
To Status `json:"to" structs:"status"`
Fields map[string]TransitionField `json:"fields" structs:"fields"`
}
type TransitionField ¶
type TransitionField struct {
Required bool `json:"required" structs:"required"`
}
TransitionField represents the value of one Transition
type TransitionsResponse ¶
type TransitionsResponse struct {
Expand string `json:"expand,omitempty" structs:"expand,omitempty"`
Transitions []Transition `json:"transitions,omitempty" structs:"transitions,omitempty"`
}
type User ¶
type User struct {
Self string `json:"self,omitempty" structs:"self,omitempty"`
AccountID string `json:"accountId,omitempty" structs:"accountId,omitempty"`
AccountType string `json:"accountType,omitempty" structs:"accountType,omitempty"`
Name string `json:"name,omitempty" structs:"name,omitempty"`
Key string `json:"key,omitempty" structs:"key,omitempty"`
Password string `json:"-"`
EmailAddress string `json:"emailAddress,omitempty" structs:"emailAddress,omitempty"`
AvatarUrls AvatarUrls `json:"avatarUrls,omitempty" structs:"avatarUrls,omitempty"`
DisplayName string `json:"displayName,omitempty" structs:"displayName,omitempty"`
Active bool `json:"active,omitempty" structs:"active,omitempty"`
TimeZone string `json:"timeZone,omitempty" structs:"timeZone,omitempty"`
Locale string `json:"locale,omitempty" structs:"locale,omitempty"`
ApplicationKeys []string `json:"applicationKeys,omitempty" structs:"applicationKeys,omitempty"`
}
type Version ¶
type Version struct {
Self string `json:"self,omitempty" structs:"self,omitempty"`
ID string `json:"id,omitempty" structs:"id,omitempty"`
Name string `json:"name,omitempty" structs:"name,omitempty"`
Description string `json:"description,omitempty" structs:"description,omitempty"`
Archived *bool `json:"archived,omitempty" structs:"archived,omitempty"`
Released *bool `json:"released,omitempty" structs:"released,omitempty"`
ReleaseDate string `json:"releaseDate,omitempty" structs:"releaseDate,omitempty"`
UserReleaseDate string `json:"userReleaseDate,omitempty" structs:"userReleaseDate,omitempty"`
ProjectID int `json:"projectId,omitempty" structs:"projectId,omitempty"` // Unlike other IDs, this is returned as a number
StartDate string `json:"startDate,omitempty" structs:"startDate,omitempty"`
}
type Watcher ¶
type Watcher struct {
Self string `json:"self,omitempty" structs:"self,omitempty"`
Name string `json:"name,omitempty" structs:"name,omitempty"`
AccountID string `json:"accountId,omitempty" structs:"accountId,omitempty"`
DisplayName string `json:"displayName,omitempty" structs:"displayName,omitempty"`
Active bool `json:"active,omitempty" structs:"active,omitempty"`
}
Watcher represents a simplified user that "observes" the issue
type Watches ¶
type Watches struct {
Self string `json:"self,omitempty" structs:"self,omitempty"`
WatchCount int `json:"watchCount,omitempty" structs:"watchCount,omitempty"`
IsWatching bool `json:"isWatching,omitempty" structs:"isWatching,omitempty"`
Watchers []*Watcher `json:"watchers,omitempty" structs:"watchers,omitempty"`
}
Watches represents a type of how many and which user are "observing" a Jira issue to track the status / updates.
type WebhookEvent ¶
type WebhookEvent struct {
Timestamp int `json:"timestamp"`
Event Event `json:"webhookEvent"`
IssueEventType string `json:"issue_event_type_name"`
Issue *IssueWebhook `json:"issue"`
Comment *IssueComment `json:"comment,omitempty"`
User *User `json:"user,omitempty"`
}
func ParseWebhook ¶
func ParseWebhook(payload []byte) (*WebhookEvent, error)
type Worklog ¶
type Worklog struct {
StartAt int `json:"startAt" structs:"startAt"`
MaxResults int `json:"maxResults" structs:"maxResults"`
Total int `json:"total" structs:"total"`
Worklogs []WorklogRecord `json:"worklogs" structs:"worklogs"`
}
Worklog represents the work log of a Jira issue. One Worklog contains zero or n WorklogRecords Jira Wiki: https://confluence.atlassian.com/jira/logging-work-on-an-issue-185729605.html
type WorklogRecord ¶
type WorklogRecord struct {
Self string `json:"self,omitempty" structs:"self,omitempty"`
Author *User `json:"author,omitempty" structs:"author,omitempty"`
UpdateAuthor *User `json:"updateAuthor,omitempty" structs:"updateAuthor,omitempty"`
Comment string `json:"comment,omitempty" structs:"comment,omitempty"`
Created *Time `json:"created,omitempty" structs:"created,omitempty"`
Updated *Time `json:"updated,omitempty" structs:"updated,omitempty"`
Started *Time `json:"started,omitempty" structs:"started,omitempty"`
TimeSpent string `json:"timeSpent,omitempty" structs:"timeSpent,omitempty"`
TimeSpentSeconds int `json:"timeSpentSeconds,omitempty" structs:"timeSpentSeconds,omitempty"`
ID string `json:"id,omitempty" structs:"id,omitempty"`
IssueID string `json:"issueId,omitempty" structs:"issueId,omitempty"`
Properties []EntityProperty `json:"properties,omitempty"`
}
WorklogRecord represents one entry of a Worklog