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