Documentation
¶
Index ¶
- type Attachment
- type AttachmentsResponse
- type Comment
- type CommentsResponse
- type Cycle
- type CyclesResponse
- type ErrorResponse
- type Issue
- type IssuesResponse
- type Label
- type LabelsResponse
- type Link
- type LinksResponse
- type Member
- type MemberUser
- type MembersResponse
- type Module
- type ModulesResponse
- type PagedResponse
- type Pagination
- type Project
- type ProjectsResponse
- type S3UploadData
- type State
- type StatesResponse
- type UploadCredentials
- type Worklog
- type WorklogTotal
- type Workspace
- type WorkspaceInfo
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Attachment ¶
type Attachment struct {
ID string `json:"id"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
DeletedAt *time.Time `json:"deleted_at"`
Attributes map[string]interface{} `json:"attributes"`
Asset string `json:"asset"`
EntityType string `json:"entity_type"`
IsDeleted bool `json:"is_deleted"`
IsArchived bool `json:"is_archived"`
ExternalID *string `json:"external_id"`
ExternalSource *string `json:"external_source"`
Size float64 `json:"size"`
IsUploaded bool `json:"is_uploaded"`
StorageMetadata map[string]interface{} `json:"storage_metadata"`
CreatedBy string `json:"created_by"`
UpdatedBy *string `json:"updated_by"`
Workspace string `json:"workspace"`
Project string `json:"project"`
Issue string `json:"issue"`
}
Attachment represents a file attached to an issue
type AttachmentsResponse ¶
type AttachmentsResponse struct {
GroupedBy interface{} `json:"grouped_by"`
SubGroupedBy interface{} `json:"sub_grouped_by"`
TotalCount int `json:"total_count"`
NextCursor string `json:"next_cursor"`
PrevCursor string `json:"prev_cursor"`
NextPageResults bool `json:"next_page_results"`
PrevPageResults bool `json:"prev_page_results"`
Count int `json:"count"`
TotalPages int `json:"total_pages"`
TotalResults int `json:"total_results"`
ExtraStats interface{} `json:"extra_stats"`
Results []Attachment `json:"results"`
}
AttachmentsResponse 附件列表的分页响应
type Comment ¶
type Comment struct {
ID string `json:"id"`
CommentHTML string `json:"comment_html"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
CreatedBy string `json:"created_by"`
UpdatedBy string `json:"updated_by"`
Project string `json:"project"`
Workspace string `json:"workspace"`
Issue string `json:"issue"`
// Member information for tracking who made the comment
Member *MemberUser `json:"member,omitempty"`
}
Comment represents a comment on an issue
type CommentsResponse ¶
type CommentsResponse struct {
GroupedBy interface{} `json:"grouped_by"`
SubGroupedBy interface{} `json:"sub_grouped_by"`
TotalCount int `json:"total_count"`
NextCursor string `json:"next_cursor"`
PrevCursor string `json:"prev_cursor"`
NextPageResults bool `json:"next_page_results"`
PrevPageResults bool `json:"prev_page_results"`
Count int `json:"count"`
TotalPages int `json:"total_pages"`
TotalResults int `json:"total_results"`
ExtraStats interface{} `json:"extra_stats"`
Results []Comment `json:"results"`
}
CommentsResponse 评论列表的分页响应
type Cycle ¶
type Cycle struct {
ID string `json:"id"`
Name string `json:"name"`
Description string `json:"description,omitempty"`
StartDate string `json:"start_date,omitempty"`
EndDate string `json:"end_date,omitempty"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
CreatedBy string `json:"created_by"`
UpdatedBy string `json:"updated_by"`
Project string `json:"project"`
Workspace string `json:"workspace"`
}
Cycle represents a Plane cycle
type CyclesResponse ¶
type CyclesResponse struct {
GroupedBy interface{} `json:"grouped_by"`
SubGroupedBy interface{} `json:"sub_grouped_by"`
TotalCount int `json:"total_count"`
NextCursor string `json:"next_cursor"`
PrevCursor string `json:"prev_cursor"`
NextPageResults bool `json:"next_page_results"`
PrevPageResults bool `json:"prev_page_results"`
Count int `json:"count"`
TotalPages int `json:"total_pages"`
TotalResults int `json:"total_results"`
ExtraStats interface{} `json:"extra_stats"`
Results []Cycle `json:"results"`
}
CyclesResponse 周期列表的分页响应
type ErrorResponse ¶
Error response from the API
type Issue ¶
type Issue struct {
ID string `json:"id"`
Name string `json:"name"`
Description string `json:"description,omitempty"`
State string `json:"state,omitempty"`
Priority string `json:"priority,omitempty"`
AssigneeID string `json:"assignee_id,omitempty"`
Assignees []string `json:"assignees,omitempty"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
CreatedBy string `json:"created_by"`
UpdatedBy string `json:"updated_by"`
Project string `json:"project"`
Workspace string `json:"workspace"`
}
Issue represents a Plane issue
type IssuesResponse ¶
type IssuesResponse struct {
GroupedBy interface{} `json:"grouped_by"`
SubGroupedBy interface{} `json:"sub_grouped_by"`
TotalCount int `json:"total_count"`
NextCursor string `json:"next_cursor"`
PrevCursor string `json:"prev_cursor"`
NextPageResults bool `json:"next_page_results"`
PrevPageResults bool `json:"prev_page_results"`
Count int `json:"count"`
TotalPages int `json:"total_pages"`
TotalResults int `json:"total_results"`
ExtraStats interface{} `json:"extra_stats"`
Results []Issue `json:"results"`
}
IssuesResponse 问题列表的分页响应
type Label ¶
type Label struct {
ID string `json:"id"`
Name string `json:"name"`
Description string `json:"description,omitempty"`
Color string `json:"color,omitempty"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
CreatedBy string `json:"created_by"`
UpdatedBy string `json:"updated_by"`
Project string `json:"project"`
Workspace string `json:"workspace"`
Parent *string `json:"parent"`
}
Label represents a Plane label
type LabelsResponse ¶ added in v0.4.0
type LabelsResponse struct {
GroupedBy interface{} `json:"grouped_by"`
SubGroupedBy interface{} `json:"sub_grouped_by"`
TotalCount int `json:"total_count"`
NextCursor string `json:"next_cursor"`
PrevCursor string `json:"prev_cursor"`
NextPageResults bool `json:"next_page_results"`
PrevPageResults bool `json:"prev_page_results"`
Count int `json:"count"`
TotalPages int `json:"total_pages"`
TotalResults int `json:"total_results"`
ExtraStats interface{} `json:"extra_stats"`
Results []Label `json:"results"`
}
LabelsResponse 标签列表的分页响应
type Link ¶
type Link struct {
ID string `json:"id"`
Title string `json:"title,omitempty"`
URL string `json:"url"`
Metadata map[string]interface{} `json:"metadata,omitempty"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
CreatedBy string `json:"created_by"`
UpdatedBy string `json:"updated_by"`
Project string `json:"project"`
Workspace string `json:"workspace"`
Issue string `json:"issue"`
}
Link represents a link attached to an issue
type LinksResponse ¶ added in v0.4.0
type LinksResponse struct {
GroupedBy interface{} `json:"grouped_by"`
SubGroupedBy interface{} `json:"sub_grouped_by"`
TotalCount int `json:"total_count"`
NextCursor string `json:"next_cursor"`
PrevCursor string `json:"prev_cursor"`
NextPageResults bool `json:"next_page_results"`
PrevPageResults bool `json:"prev_page_results"`
Count int `json:"count"`
TotalPages int `json:"total_pages"`
TotalResults int `json:"total_results"`
ExtraStats interface{} `json:"extra_stats"`
Results []Link `json:"results"`
}
LinksResponse 链接列表的分页响应
type Member ¶ added in v0.3.0
type Member struct {
ID string `json:"id"`
Member MemberUser `json:"member"`
Workspace WorkspaceInfo `json:"workspace"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
DeletedAt *time.Time `json:"deleted_at"`
Role int `json:"role"`
CompanyRole interface{} `json:"company_role"`
ViewProps map[string]interface{} `json:"view_props"`
DefaultProps map[string]interface{} `json:"default_props"`
IssueProps map[string]interface{} `json:"issue_props"`
IsActive bool `json:"is_active"`
CreatedBy string `json:"created_by"`
UpdatedBy string `json:"updated_by"`
}
Member represents a project member
type MemberUser ¶ added in v0.3.0
type MemberUser struct {
ID string `json:"id"`
FirstName string `json:"first_name"`
LastName string `json:"last_name"`
Avatar string `json:"avatar"`
AvatarURL interface{} `json:"avatar_url"`
IsBot bool `json:"is_bot"`
DisplayName string `json:"display_name"`
Email string `json:"email"`
LastLoginMedium string `json:"last_login_medium"`
}
MemberUser represents a member user information
type MembersResponse ¶ added in v0.3.0
type MembersResponse struct {
GroupedBy interface{} `json:"grouped_by"`
SubGroupedBy interface{} `json:"sub_grouped_by"`
TotalCount int `json:"total_count"`
NextCursor string `json:"next_cursor"`
PrevCursor string `json:"prev_cursor"`
NextPageResults bool `json:"next_page_results"`
PrevPageResults bool `json:"prev_page_results"`
Count int `json:"count"`
TotalPages int `json:"total_pages"`
TotalResults int `json:"total_results"`
ExtraStats interface{} `json:"extra_stats"`
Results []Member `json:"results"`
}
MembersResponse 成员列表的分页响应
type Module ¶
type Module struct {
ID string `json:"id"`
Name string `json:"name"`
Description string `json:"description,omitempty"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
CreatedBy string `json:"created_by"`
UpdatedBy string `json:"updated_by"`
Project string `json:"project"`
Workspace string `json:"workspace"`
}
Module represents a Plane module
type ModulesResponse ¶
type ModulesResponse struct {
GroupedBy interface{} `json:"grouped_by"`
SubGroupedBy interface{} `json:"sub_grouped_by"`
TotalCount int `json:"total_count"`
NextCursor string `json:"next_cursor"`
PrevCursor string `json:"prev_cursor"`
NextPageResults bool `json:"next_page_results"`
PrevPageResults bool `json:"prev_page_results"`
Count int `json:"count"`
TotalPages int `json:"total_pages"`
TotalResults int `json:"total_results"`
ExtraStats interface{} `json:"extra_stats"`
Results []Module `json:"results"`
}
ModulesResponse 模块列表的分页响应
type PagedResponse ¶
type PagedResponse struct {
GroupedBy interface{} `json:"grouped_by"`
SubGroupedBy interface{} `json:"sub_grouped_by"`
TotalCount int `json:"total_count"`
NextCursor string `json:"next_cursor"`
PrevCursor string `json:"prev_cursor"`
NextPageResults bool `json:"next_page_results"`
PrevPageResults bool `json:"prev_page_results"`
Count int `json:"count"`
TotalPages int `json:"total_pages"`
TotalResults int `json:"total_results"`
ExtraStats interface{} `json:"extra_stats"`
Results interface{} `json:"results"`
}
Common response structures PagedResponse 分页响应的通用结构
type Pagination ¶
type Project ¶
type Project struct {
ID string `json:"id"`
Name string `json:"name"`
Identifier string `json:"identifier"`
Description string `json:"description,omitempty"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
CreatedBy string `json:"created_by"`
UpdatedBy string `json:"updated_by"`
Workspace string `json:"workspace"`
}
Project represents a Plane project
type ProjectsResponse ¶
type ProjectsResponse struct {
GroupedBy interface{} `json:"grouped_by"`
SubGroupedBy interface{} `json:"sub_grouped_by"`
TotalCount int `json:"total_count"`
NextCursor string `json:"next_cursor"`
PrevCursor string `json:"prev_cursor"`
NextPageResults bool `json:"next_page_results"`
PrevPageResults bool `json:"prev_page_results"`
Count int `json:"count"`
TotalPages int `json:"total_pages"`
TotalResults int `json:"total_results"`
ExtraStats interface{} `json:"extra_stats"`
Results []Project `json:"results"`
}
ProjectsResponse 项目列表的分页响应
type S3UploadData ¶
S3UploadData contains the pre-signed URL and fields for direct S3 upload
type State ¶
type State struct {
ID string `json:"id"`
Name string `json:"name"`
Color string `json:"color"`
Description string `json:"description,omitempty"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
CreatedBy string `json:"created_by"`
UpdatedBy string `json:"updated_by"`
Project string `json:"project"`
Workspace string `json:"workspace"`
}
State represents a state in the project (e.g., Todo, In Progress, Done)
type StatesResponse ¶ added in v0.4.0
type StatesResponse struct {
GroupedBy interface{} `json:"grouped_by"`
SubGroupedBy interface{} `json:"sub_grouped_by"`
TotalCount int `json:"total_count"`
NextCursor string `json:"next_cursor"`
PrevCursor string `json:"prev_cursor"`
NextPageResults bool `json:"next_page_results"`
PrevPageResults bool `json:"prev_page_results"`
Count int `json:"count"`
TotalPages int `json:"total_pages"`
TotalResults int `json:"total_results"`
ExtraStats interface{} `json:"extra_stats"`
Results []State `json:"results"`
}
StatesResponse 状态列表的分页响应
type UploadCredentials ¶
type UploadCredentials struct {
UploadData S3UploadData `json:"upload_data"`
AssetID string `json:"asset_id"`
Attachment Attachment `json:"attachment"`
AssetURL string `json:"asset_url"`
}
UploadCredentials represents the response from the get upload credentials endpoint
type Worklog ¶
type Worklog struct {
ID string `json:"id"`
Description string `json:"description"`
Duration int `json:"duration"` // Duration in minutes
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
CreatedBy string `json:"created_by"`
UpdatedBy string `json:"updated_by"`
ProjectID string `json:"project_id"`
WorkspaceID string `json:"workspace_id"`
LoggedBy string `json:"logged_by"`
}
Worklog represents time spent on a specific issue
type WorklogTotal ¶
type WorklogTotal struct {
IssueID string `json:"issue_id"`
Duration float64 `json:"duration"` // Duration in minutes
}
WorklogTotal represents the aggregated time for an issue
type Workspace ¶
type Workspace struct {
ID string `json:"id"`
Name string `json:"name"`
Slug string `json:"slug"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}
Workspace represents a Plane workspace
type WorkspaceInfo ¶ added in v0.3.0
type WorkspaceInfo struct {
Name string `json:"name"`
Slug string `json:"slug"`
ID string `json:"id"`
LogoURL interface{} `json:"logo_url"`
}
WorkspaceInfo represents workspace information within a member