Documentation
¶
Index ¶
- type Attachment
- type AttachmentsResponse
- type Comment
- type CommentsResponse
- type Cycle
- type CyclesResponse
- type ErrorResponse
- type Issue
- type IssuesResponse
- type Label
- type Link
- type Module
- type ModulesResponse
- type PagedResponse
- type Pagination
- type Project
- type ProjectsResponse
- type S3UploadData
- type State
- type UploadCredentials
- type Worklog
- type WorklogTotal
- type Workspace
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"` }
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"` 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 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 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 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