Documentation
¶
Index ¶
- Variables
- func IsErrorResponse(err error) bool
- func NewRetryableHTTPClient(opts ...RetryableHTTPClientOption) *http.Client
- func Ptr[T any](v T) *T
- type AddCodeCommitInfoRequest
- type AddWorkspaceMemberRequest
- type AddWorkspaceMemberResponse
- type AssignTestCaseRequest
- type Attachment
- type AttachmentService
- type BatchCreateTestCasesRequest
- type BatchUpdateBugsRequest
- type BatchUpdateBugsResponse
- type BatchUpdateStoriesRequest
- type BatchUpdateStoriesResponse
- type BatchUpdateStorySecretInfoRequest
- type BatchUpdateStorySecretInfoResult
- type BatchUpdateTasksRequest
- type BatchUpdateTasksResponse
- type BoardCard
- type BoardColumn
- type BoardService
- type Bug
- type BugChange
- type BugCustomFieldsSetting
- type BugFieldLabel
- type BugFieldsInfo
- type BugFieldsInfoColorOption
- type BugFieldsInfoHTMLType
- type BugFieldsInfoOption
- type BugFieldsInfoPureOption
- type BugLinkRelation
- type BugRelatedStory
- type BugService
- type BugSeverity
- type BugSystemSelectFieldOption
- type BugTemplate
- type BugTemplateField
- type Client
- type ClientOption
- type CodeCommitInfo
- type CodeCommitInfoRelated
- type CodeCommitRelatedType
- type Comment
- type CommentEntryType
- type CommentService
- type CommitObject
- type CopyBugRequest
- type CopyStoryRequest
- type CountResponse
- type CreateBoardCardRequest
- type CreateBugRequest
- type CreateCommentRequest
- type CreateIterationRequest
- type CreateLabelRequest
- type CreateLaunchAccessoryRequest
- type CreateLaunchFormRequest
- type CreateReleaseRequest
- type CreateStoryBugRelationRequest
- type CreateStoryCategoryRequest
- type CreateStoryLinkRelationRequest
- type CreateStoryLinkRelationResult
- type CreateStoryRequest
- type CreateStoryTestCaseRelationRequest
- type CreateStoryTestCaseRelationResult
- type CreateTaskRequest
- type CreateTestCaseCategoryRequest
- type CreateTestCaseRequest
- type CreateTestPlanRequest
- type CreateTestPlanStoryRelationRequest
- type CreateTestPlanTestCaseRelationRequest
- type CreateTimesheetRequest
- type CreateWikiRequest
- type CustomWorkCalendar
- type DeleteLinkBugsRequest
- type DeleteStoryTimeRelation
- type DeleteStoryTimeRelationsRequest
- type DeleteStoryTimeRelationsResult
- type DeleteTestCaseStoryRelationRequest
- type DeleteTestPlanStoryRelationRequest
- type DeleteTimesheetsRequest
- type DeleteTimesheetsResponse
- type DeleteTimesheetsResult
- type DeleteTimesheetsResultItem
- type DocumentAttachment
- type EnableWorkCalendarRequest
- type EnableWorkCalendarResponse
- type EntityType
- type Enum
- type ErrorResponse
- type ExecuteTestCaseRequest
- type GetAllLastStepsRequest
- type GetAttachmentDownloadURLRequest
- type GetAttachmentsRequest
- type GetBoardCardsRequest
- type GetBoardColumnsRequest
- type GetBugChangesCountRequest
- type GetBugChangesRequest
- type GetBugCustomFieldsSettingsRequest
- type GetBugFieldsInfoRequest
- type GetBugFieldsLabelRequest
- type GetBugLinkBugsRequest
- type GetBugRelatedStoriesRequest
- type GetBugTemplateFieldsRequest
- type GetBugTemplatesRequest
- type GetBugsByViewConfIDRequest
- type GetBugsCountRequest
- type GetBugsRequest
- type GetCodeCommitInfosRequest
- type GetCommentsCountRequest
- type GetCommentsRequest
- type GetCommitObjectsRequest
- type GetCompanyWorkspacesRequest
- type GetConvertBugIDsToQueryTokenRequest
- type GetConvertBugIDsToQueryTokenResponse
- type GetConvertStoryIDsToQueryTokenRequest
- type GetConvertStoryIDsToQueryTokenResponse
- type GetCustomWorkCalendarRequest
- type GetDocumentDownloadURLRequest
- type GetImageDownloadURLRequest
- type GetIterationChangesRequest
- type GetIterationCustomDashBoardContentRequest
- type GetIterationCustomFieldsSettingsRequest
- type GetIterationDefaultTemplateFieldsRequest
- type GetIterationTemplateFieldsRequest
- type GetIterationTestPlansRequest
- type GetIterationsCountRequest
- type GetIterationsRequest
- type GetLabelCountRequest
- type GetLabelsRequest
- type GetLaunchAccessoriesRequest
- type GetLaunchFormActivityLogsRequest
- type GetLaunchFormCustomFieldsSettingsRequest
- type GetLaunchFormTemplatesRequest
- type GetLaunchFormsCountRequest
- type GetLaunchFormsRequest
- type GetMemberActivityLogRequest
- type GetMemberActivityLogResponse
- type GetReleasesCountRequest
- type GetReleasesRequest
- type GetRemovedBugsRequest
- type GetRemovedStoriesRequest
- type GetRemovedTasksRequest
- type GetReportsRequest
- type GetRolesRequest
- type GetSecretStoriesCountRequest
- type GetSecretStoriesRequest
- type GetStoriesByViewConfIDRequest
- type GetStoriesCountByCategoriesRequest
- type GetStoriesCountRequest
- type GetStoriesRequest
- type GetStoryCategoriesCountRequest
- type GetStoryCategoriesRequest
- type GetStoryChangesCountRequest
- type GetStoryChangesRequest
- type GetStoryCustomFieldsSettingsRequest
- type GetStoryFieldsInfoRequest
- type GetStoryFieldsLabelRequest
- type GetStoryLinkStoriesRequest
- type GetStoryRelatedBugsRequest
- type GetStorySecretInfoRequest
- type GetStoryStepsRequest
- type GetStoryTemplateFieldsRequest
- type GetStoryTemplatesRequest
- type GetStoryTestCaseRelationRequest
- type GetStoryTimeRelationsRequest
- type GetStoryWorkitemTypesRequest
- type GetSubWorkspacesRequest
- type GetTaskChangesCountRequest
- type GetTaskChangesRequest
- type GetTaskCustomFieldsSettingsRequest
- type GetTaskFieldsInfoRequest
- type GetTasksCountRequest
- type GetTasksRequest
- type GetTemplateListRequest
- type GetTestCaseCategoriesCountRequest
- type GetTestCaseCategoriesRequest
- type GetTestCaseCustomFieldsSettingsRequest
- type GetTestCaseFieldsInfoRequest
- type GetTestCaseRelatedStoriesRequest
- type GetTestCaseResultsRequest
- type GetTestCasesCountRequest
- type GetTestCasesRequest
- type GetTestPlanFieldsInfoRequest
- type GetTestPlanProgressRequest
- type GetTestPlanRelatedBugsRequest
- type GetTestPlanRelatedStoriesRequest
- type GetTestPlanResultRequest
- type GetTestPlanTestCaseRelationsRequest
- type GetTestPlansCountRequest
- type GetTestPlansRequest
- type GetTimesheetsCountRequest
- type GetTimesheetsRequest
- type GetUserParticipantWorkspacesRequest
- type GetUsersRequest
- type GetWikiAttachmentsCountRequest
- type GetWikiDrawioDataRequest
- type GetWikiEntityPermissionsRequest
- type GetWikiFollowersCountRequest
- type GetWikiFollowersRequest
- type GetWikiTagsCountRequest
- type GetWikiTagsRequest
- type GetWikisCountRequest
- type GetWikisRequest
- type GetWorkCalendarSettingsRequest
- type GetWorkItemsLongIDByShortIDsRequest
- type GetWorkItemsLongIDByShortIDsResponse
- type GetWorkitemTypesRequest
- type GetWorkspaceCustomFieldsSettingsRequest
- type GetWorkspaceDocumentsRequest
- type GetWorkspaceInfoRequest
- type GetWorkspaceRolesRequest
- type GetWorkspaceSettingRequest
- type GetWorkspaceSettingResponse
- type ImageAttachment
- type Iteration
- type IterationChange
- type IterationCustomDashBoardCard
- type IterationCustomDashBoardCardContent
- type IterationCustomFieldsSetting
- type IterationService
- type IterationTemplateField
- type IterationTestPlan
- type Label
- type LabelColor
- type LabelPool
- type LabelService
- type LaunchAccessory
- type LaunchForm
- type LaunchFormActivityLog
- type LaunchFormCustomFieldsSetting
- type LaunchFormTemplate
- type LifeTime
- type LifeTimesRequest
- type LinkBugsRequest
- type LockIterationRequest
- type MeasureService
- type MemberActivityLog
- type Multi
- type OperateObject
- type OperateType
- type Order
- type OrderOption
- type OrderType
- type PriorityLabel
- type RawBody
- type Release
- type ReleaseService
- type RemoveStoryBugRelationRequest
- type RemoveStoryBugRelationResult
- type RemoveTestCaseFromTestPlanRequest
- type RemovedBug
- type RemovedStory
- type RemovedTask
- type Report
- type ReportService
- type ReportStatus
- type ReportType
- type RequestOption
- func WithRequestAccessToken(accessToken string) RequestOption
- func WithRequestBasicAuth(clientID, clientSecret string) RequestOption
- func WithRequestHeader(name, value string) RequestOption
- func WithRequestHeaderFunc(fn func(http.Header)) RequestOption
- func WithRequestHeaders(headers map[string]string) RequestOption
- func WithRequestUserAgent(userAgent string) RequestOption
- type Response
- type RetryableHTTPClientOption
- func WithRetryableHTTPClientBackoff(backoff retryablehttp.Backoff) RetryableHTTPClientOption
- func WithRetryableHTTPClientCheckRetry(checkRetry retryablehttp.CheckRetry) RetryableHTTPClientOption
- func WithRetryableHTTPClientLogger(logger retryablehttp.Logger) RetryableHTTPClientOption
- func WithRetryableHTTPClientRetryMax(retryMax int) RetryableHTTPClientOption
- func WithRetryableHTTPClientRetryWaitMax(waitMax time.Duration) RetryableHTTPClientOption
- func WithRetryableHTTPClientRetryWaitMin(waitMin time.Duration) RetryableHTTPClientOption
- type SaveStoryTimeRelation
- type SaveStoryTimeRelationsRequest
- type SaveStoryTimeRelationsResult
- type SetCustomWorkCalendarRequest
- type SetCustomWorkCalendarResponse
- type SettingService
- type SourceService
- type StoreChangeType
- type StoriesCountByCategory
- type Story
- type StoryBugRelation
- type StoryCategory
- type StoryChange
- type StoryCustomFieldsSetting
- type StoryFieldLabel
- type StoryFieldsInfo
- type StoryFieldsInfoColorOption
- type StoryFieldsInfoHTMLType
- type StoryFieldsInfoOption
- type StoryFieldsInfoPureOption
- type StoryFieldsInfoUserOption
- type StoryLinkRelation
- type StoryRelatedBug
- type StorySecretInfo
- type StoryService
- type StoryStatus
- type StoryStepInfo
- type StoryTemplate
- type StoryTemplateField
- type StoryTestCaseRelation
- type StoryTimeRelation
- type StoryWorkitemType
- type StringNumber
- type Task
- type TaskChange
- type TaskChangeFieldChange
- type TaskCustomFieldsSetting
- type TaskFieldsInfo
- type TaskFieldsInfoColorOption
- type TaskFieldsInfoHTMLType
- type TaskFieldsInfoOption
- type TaskFieldsInfoPureOption
- type TaskService
- type TaskStatus
- type TestCase
- type TestCaseCategory
- type TestCaseCustomFieldsSetting
- type TestCaseFieldsInfo
- type TestCaseFieldsInfoHTMLType
- type TestCaseFieldsInfoOption
- type TestCaseRelatedStory
- type TestCaseResult
- type TestCaseResultItem
- type TestCaseResultStatus
- type TestCaseStatus
- type TestPlan
- type TestPlanFieldsInfo
- type TestPlanProgress
- type TestPlanRelatedBug
- type TestPlanTestCaseRelation
- type TestService
- type Timesheet
- type TimesheetService
- type UnlockIterationRequest
- type UpdateBoardCardRequest
- type UpdateBugRequest
- type UpdateBugSystemSelectFieldOptionsRequest
- type UpdateCommentRequest
- type UpdateIterationCustomDashBoardContentRequest
- type UpdateIterationCustomDashBoardContentResult
- type UpdateIterationRequest
- type UpdateLabelRequest
- type UpdateReleaseRequest
- type UpdateStoryCategoryRequest
- type UpdateStoryParentRequest
- type UpdateStoryRequest
- type UpdateStoryWorkitemTypeRequest
- type UpdateTaskRequest
- type UpdateTestCaseRequest
- type UpdateTestPlanRequest
- type UpdateTimesheetRequest
- type UpdateWikiRequest
- type UpdateWorkspaceInfoRequest
- type UpdatedStoryCategory
- type UploadAttachmentRequest
- type UploadImageBase64Request
- type User
- type UserRole
- type UserService
- type Wiki
- type WikiDrawioData
- type WikiEntityPermission
- type WikiFollower
- type WikiService
- type WikiTag
- type WorkCalendarSetting
- type WorkCalendarType
- type WorkItemIDMap
- type WorkflowAllLastStep
- type WorkflowAllLastStepStatus
- type WorkflowService
- type WorkitemTemplate
- type WorkitemType
- type Workspace
- type WorkspaceCustomFieldsSetting
- type WorkspaceDocument
- type WorkspaceRole
- type WorkspaceService
Constants ¶
This section is empty.
Variables ¶
var ( OrderByAsc = WithOrderType(OrderTypeAsc) OrderByDesc = WithOrderType(OrderTypeDesc) )
Functions ¶
func IsErrorResponse ¶
func NewRetryableHTTPClient ¶
func NewRetryableHTTPClient(opts ...RetryableHTTPClientOption) *http.Client
Types ¶
type AddCodeCommitInfoRequest ¶ added in v0.17.0
type AddCodeCommitInfoRequest struct {
WorkspaceID *int `json:"workspace_id,omitempty"` // [必须]项目ID
CommitID *string `json:"commit_id,omitempty"` // [必须]提交ID
Author *string `json:"author,omitempty"` // [必须]代码提交人
Message *string `json:"message,omitempty"` // [必须]提交信息
Files *[]string `json:"files,omitempty"` // [必须]变更文件
Repo *string `json:"repo,omitempty"` // [必须]仓库名
RepoID *string `json:"repo_id,omitempty"` // [必须]仓库ID
CommitTime *string `json:"commit_time,omitempty"` // [必须]提交时间
GitEnv *string `json:"git_env,omitempty"` // 信息来源,github、gitlab、svn、p4 等
RepoURL *string `json:"repo_url,omitempty"` // 仓库链接
CommitURL *string `json:"commit_url,omitempty"` // 提交链接
}
type AddWorkspaceMemberRequest ¶ added in v0.17.0
type AddWorkspaceMemberResponse ¶ added in v0.17.0
type AddWorkspaceMemberResponse struct {
Success bool `json:"success,omitempty"` // 是否添加成功
}
type AssignTestCaseRequest ¶ added in v0.17.0
type AssignTestCaseRequest struct {
TestPlanID *int64 `json:"test_plan_id,omitempty"` // [必须]测试计划ID
TestCaseID *Multi[int64] `json:"tcase_id,omitempty"` // 用例ID,多个使用英文逗号分隔
CategoryID *int64 `json:"category_id,omitempty"` // 用例目录ID
WorkspaceID *int `json:"workspace_id,omitempty"` // [必须]项目ID
Executor *string `json:"executor,omitempty"` // 执行人
Assignee *string `json:"assignee,omitempty"` // 负责人
}
type Attachment ¶
type Attachment struct {
ID string `json:"id,omitempty"` // 附件ID
Type string `json:"type,omitempty"` // 类型
EntryID string `json:"entry_id,omitempty"` // 依赖对象ID
Filename string `json:"filename,omitempty"` // 附件名称
Description string `json:"description,omitempty"` // 描述
ContentType string `json:"content_type,omitempty"` // 内容类型
Created string `json:"created,omitempty"` // 创建时间
WorkspaceID string `json:"workspace_id,omitempty"` // 项目ID
Owner string `json:"owner,omitempty"` // 上传人
DownloadURL string `json:"download_url,omitempty"` // 下载链接(仅在获取单个附件时返回)
}
Attachment 附件
func (*Attachment) UnmarshalJSON ¶ added in v0.17.1
func (a *Attachment) UnmarshalJSON(data []byte) error
type AttachmentService ¶
type AttachmentService interface {
// UploadAttachment 附件上传
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/mini_api_reference/attachment/upload_attachment.html
UploadAttachment(ctx context.Context, request *UploadAttachmentRequest, opts ...RequestOption) (*Attachment, *Response, error)
// UploadImageBase64 上传base64图片
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/mini_api_reference/attachment/upload_image_base64.html
UploadImageBase64(ctx context.Context, request *UploadImageBase64Request, opts ...RequestOption) (*Attachment, *Response, error)
// GetAttachments 获取附件
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/attachment/get_attachments.html
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/mini_api_reference/attachment/get_attachments.html
GetAttachments(ctx context.Context, request *GetAttachmentsRequest, opts ...RequestOption) ([]*Attachment, *Response, error)
// GetAttachmentDownloadURL 获取单个附件下载链接
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/attachment/get_one_attachment.html
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/mini_api_reference/attachment/get_one_attachment.html
GetAttachmentDownloadURL(ctx context.Context, request *GetAttachmentDownloadURLRequest, opts ...RequestOption) (*Attachment, *Response, error)
// GetImageDownloadURL 获取单个图片下载链接
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/attachment/get_image.html
GetImageDownloadURL(ctx context.Context, request *GetImageDownloadURLRequest, opts ...RequestOption) (*ImageAttachment, *Response, error)
// GetDocumentDownloadURL 获取单个文档下载链接
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/attachment/documents_down.html
GetDocumentDownloadURL(ctx context.Context, request *GetDocumentDownloadURLRequest, opts ...RequestOption) (*DocumentAttachment, *Response, error)
}
AttachmentService is the service to communicate with Attachment API.
https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/attachment/
func NewAttachmentService ¶ added in v0.12.0
func NewAttachmentService(client *Client) AttachmentService
type BatchCreateTestCasesRequest ¶ added in v0.17.0
type BatchCreateTestCasesRequest []*CreateTestCaseRequest
type BatchUpdateBugsRequest ¶ added in v0.17.0
type BatchUpdateBugsRequest struct {
ProjectID *int `json:"project_id,omitempty"` // [必须]项目ID
Workitems []*UpdateBugRequest `json:"workitems,omitempty"` // [必须]批量更新的缺陷,每次最多50条
}
type BatchUpdateBugsResponse ¶ added in v0.17.0
type BatchUpdateBugsResponse struct {
Msg string `json:"msg,omitempty"` // 更新结果提示
}
type BatchUpdateStoriesRequest ¶ added in v0.17.0
type BatchUpdateStoriesRequest struct {
WorkspaceID *int `json:"workspace_id,omitempty"` // [必须]项目ID
Workitems []*UpdateStoryRequest `json:"workitems,omitempty"` // [必须]批量更新的需求,每次最多50条
}
type BatchUpdateStoriesResponse ¶ added in v0.17.0
type BatchUpdateStoriesResponse struct {
Msg string `json:"msg,omitempty"` // 更新结果提示
}
type BatchUpdateStorySecretInfoRequest ¶ added in v0.17.0
type BatchUpdateStorySecretInfoRequest struct {
WorkspaceID *int `json:"workspace_id,omitempty"` // [必须]项目ID
StoryIDList *Enum[int64] `json:"story_id_list,omitempty"` // [必须]需求ID列表,多个用|分隔
SecretScope *string `json:"secret_scope,omitempty"` // [必须]保密范围,public 为公开,secret 为保密
AllowList *string `json:"allow_list,omitempty"` // [必须]保密白名单,成员 nick 或用户组ID用;分隔
AddParticipantFields *string `json:"add_participant_fields,omitempty"` // [必须]保密范围是否纳入参与人,true 或 false
OperationType *int `json:"operation_type,omitempty"` // 操作类型,0覆盖,1新增,2删除
CurrentUser *string `json:"current_user,omitempty"` // [必须]操作人 nick
}
type BatchUpdateStorySecretInfoResult ¶ added in v0.17.0
type BatchUpdateTasksRequest ¶ added in v0.17.0
type BatchUpdateTasksRequest struct {
WorkspaceID *int `json:"workspace_id,omitempty"` // [必须]项目ID
Workitems []*UpdateTaskRequest `json:"workitems,omitempty"` // [必须]批量更新的任务
}
type BatchUpdateTasksResponse ¶ added in v0.17.0
type BatchUpdateTasksResponse struct {
Msg string `json:"msg,omitempty"` // 更新结果提示
}
type BoardCard ¶ added in v0.17.0
type BoardCard struct {
ID string `json:"id,omitempty"` // 工作项ID
Name string `json:"name,omitempty"` // 工作项标题
Description *string `json:"description,omitempty"` // 详细描述
Created string `json:"created,omitempty"` // 创建时间
Modified string `json:"modified,omitempty"` // 最后修改时间
WorkspaceID string `json:"workspace_id,omitempty"` // 项目ID
Owner *string `json:"owner,omitempty"` // 负责人
Due *string `json:"due,omitempty"` // 截止时间
Label string `json:"b_label,omitempty"` // 标签ID
Sort string `json:"b_sort,omitempty"` // 排序
BoardID string `json:"b_board_id,omitempty"` // 看板ID
ColumnID string `json:"b_column_id,omitempty"` // 板块ID
Status string `json:"status,omitempty"` // 状态
CC *string `json:"cc,omitempty"` // 参与人
Begin *string `json:"begin,omitempty"` // 开始时间
}
BoardCard 看板工作项
type BoardColumn ¶ added in v0.17.0
type BoardColumn struct {
ID string `json:"id,omitempty"` // 板块ID
Name string `json:"name,omitempty"` // 板块名称
BoardID string `json:"board_id,omitempty"` // 看板ID
Status string `json:"status,omitempty"` // 状态
Sort string `json:"sort,omitempty"` // 排序
Created string `json:"created,omitempty"` // 创建时间
Creator string `json:"creator,omitempty"` // 创建人
WorkspaceID string `json:"workspace_id,omitempty"` // 项目ID
}
BoardColumn 看板板块
type BoardService ¶ added in v0.17.0
type BoardService interface {
// CreateBoardCard 新建看板工作项
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/board/add_board_card.html
CreateBoardCard(ctx context.Context, request *CreateBoardCardRequest, opts ...RequestOption) (*BoardCard, *Response, error)
// GetBoardCards 获取看板工作项
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/board/get_board_cards.html
GetBoardCards(ctx context.Context, request *GetBoardCardsRequest, opts ...RequestOption) ([]*BoardCard, *Response, error)
// UpdateBoardCard 更新看板工作项
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/board/update_board_card.html
UpdateBoardCard(ctx context.Context, request *UpdateBoardCardRequest, opts ...RequestOption) (*BoardCard, *Response, error)
// GetBoardColumns 获取看板板块
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/board/get_board_columns.html
GetBoardColumns(ctx context.Context, request *GetBoardColumnsRequest, opts ...RequestOption) ([]*BoardColumn, *Response, error)
}
BoardService 看板服务。
https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/board/
func NewBoardService ¶ added in v0.17.0
func NewBoardService(client *Client) BoardService
type Bug ¶
type Bug struct {
ID string `json:"id,omitempty"`
Title string `json:"title,omitempty"`
Description string `json:"description,omitempty"`
Priority string `json:"priority,omitempty"`
Severity BugSeverity `json:"severity,omitempty"`
Module string `json:"module,omitempty"`
Status string `json:"status,omitempty"`
Reporter string `json:"reporter,omitempty"`
Created string `json:"created,omitempty"`
BugType string `json:"bugtype,omitempty"`
Resolved string `json:"resolved,omitempty"`
Closed string `json:"closed,omitempty"`
Modified string `json:"modified,omitempty"`
LastModify string `json:"lastmodify,omitempty"`
Auditer string `json:"auditer,omitempty"`
De string `json:"de,omitempty"`
Fixer string `json:"fixer,omitempty"`
VersionTest string `json:"version_test,omitempty"`
VersionReport string `json:"version_report,omitempty"`
VersionClose string `json:"version_close,omitempty"`
VersionFix string `json:"version_fix,omitempty"`
BaselineFind string `json:"baseline_find,omitempty"`
BaselineJoin string `json:"baseline_join,omitempty"`
BaselineClose string `json:"baseline_close,omitempty"`
BaselineTest string `json:"baseline_test,omitempty"`
SourcePhase string `json:"sourcephase,omitempty"`
Te string `json:"te,omitempty"`
CurrentOwner string `json:"current_owner,omitempty"`
IterationID string `json:"iteration_id,omitempty"`
Resolution string `json:"resolution,omitempty"`
Source string `json:"source,omitempty"`
OriginPhase string `json:"originphase,omitempty"`
Confirmer string `json:"confirmer,omitempty"`
Milestone string `json:"milestone,omitempty"`
Participator string `json:"participator,omitempty"`
Closer string `json:"closer,omitempty"`
Platform string `json:"platform,omitempty"`
Os string `json:"os,omitempty"`
TestType string `json:"testtype,omitempty"`
TestPhase string `json:"testphase,omitempty"`
Frequency string `json:"frequency,omitempty"`
CC string `json:"cc,omitempty"`
RegressionNumber string `json:"regression_number,omitempty"`
Flows string `json:"flows,omitempty"`
Feature string `json:"feature,omitempty"`
TestMode string `json:"testmode,omitempty"`
Estimate string `json:"estimate,omitempty"`
IssueID string `json:"issue_id,omitempty"`
CreatedFrom string `json:"created_from,omitempty"`
ReleaseID string `json:"release_id,omitempty"`
VerifyTime string `json:"verify_time,omitempty"`
RejectTime string `json:"reject_time,omitempty"`
ReopenTime string `json:"reopen_time,omitempty"`
AuditTime string `json:"audit_time,omitempty"`
SuspendTime string `json:"suspend_time,omitempty"`
Due string `json:"due,omitempty"`
Begin string `json:"begin,omitempty"`
Deadline string `json:"deadline,omitempty"`
InProgressTime string `json:"in_progress_time,omitempty"`
AssignedTime string `json:"assigned_time,omitempty"`
TemplateID string `json:"template_id,omitempty"`
StoryID string `json:"story_id,omitempty"`
Label string `json:"label,omitempty"`
Size string `json:"size,omitempty"`
Effort string `json:"effort,omitempty"`
EffortCompleted string `json:"effort_completed,omitempty"`
Exceed string `json:"exceed,omitempty"`
Remain string `json:"remain,omitempty"`
CustomFieldOne string `json:"custom_field_one,omitempty"`
CustomFieldTwo string `json:"custom_field_two,omitempty"`
CustomFieldThree string `json:"custom_field_three,omitempty"`
CustomFieldFour string `json:"custom_field_four,omitempty"`
CustomFieldFive string `json:"custom_field_five,omitempty"`
CustomField6 string `json:"custom_field_6,omitempty"`
CustomField7 string `json:"custom_field_7,omitempty"`
CustomField8 string `json:"custom_field_8,omitempty"`
CustomField9 string `json:"custom_field_9,omitempty"`
CustomField10 string `json:"custom_field_10,omitempty"`
CustomField11 string `json:"custom_field_11,omitempty"`
CustomField12 string `json:"custom_field_12,omitempty"`
CustomField13 string `json:"custom_field_13,omitempty"`
CustomField14 string `json:"custom_field_14,omitempty"`
CustomField15 string `json:"custom_field_15,omitempty"`
CustomField16 string `json:"custom_field_16,omitempty"`
CustomField17 string `json:"custom_field_17,omitempty"`
CustomField18 string `json:"custom_field_18,omitempty"`
CustomField19 string `json:"custom_field_19,omitempty"`
CustomField20 string `json:"custom_field_20,omitempty"`
CustomField21 string `json:"custom_field_21,omitempty"`
CustomField22 string `json:"custom_field_22,omitempty"`
CustomField23 string `json:"custom_field_23,omitempty"`
CustomField24 string `json:"custom_field_24,omitempty"`
CustomField25 string `json:"custom_field_25,omitempty"`
CustomField26 string `json:"custom_field_26,omitempty"`
CustomField27 string `json:"custom_field_27,omitempty"`
CustomField28 string `json:"custom_field_28,omitempty"`
CustomField29 string `json:"custom_field_29,omitempty"`
CustomField30 string `json:"custom_field_30,omitempty"`
CustomField31 string `json:"custom_field_31,omitempty"`
CustomField32 string `json:"custom_field_32,omitempty"`
CustomField33 string `json:"custom_field_33,omitempty"`
CustomField34 string `json:"custom_field_34,omitempty"`
CustomField35 string `json:"custom_field_35,omitempty"`
CustomField36 string `json:"custom_field_36,omitempty"`
CustomField37 string `json:"custom_field_37,omitempty"`
CustomField38 string `json:"custom_field_38,omitempty"`
CustomField39 string `json:"custom_field_39,omitempty"`
CustomField40 string `json:"custom_field_40,omitempty"`
CustomField41 string `json:"custom_field_41,omitempty"`
CustomField42 string `json:"custom_field_42,omitempty"`
CustomField43 string `json:"custom_field_43,omitempty"`
CustomField44 string `json:"custom_field_44,omitempty"`
CustomField45 string `json:"custom_field_45,omitempty"`
CustomField46 string `json:"custom_field_46,omitempty"`
CustomField47 string `json:"custom_field_47,omitempty"`
CustomField48 string `json:"custom_field_48,omitempty"`
CustomField49 string `json:"custom_field_49,omitempty"`
CustomField50 string `json:"custom_field_50,omitempty"`
CustomField51 string `json:"custom_field_51,omitempty"`
CustomField52 string `json:"custom_field_52,omitempty"`
CustomField53 string `json:"custom_field_53,omitempty"`
CustomField54 string `json:"custom_field_54,omitempty"`
CustomField55 string `json:"custom_field_55,omitempty"`
CustomField56 string `json:"custom_field_56,omitempty"`
CustomField57 string `json:"custom_field_57,omitempty"`
CustomField58 string `json:"custom_field_58,omitempty"`
CustomField59 string `json:"custom_field_59,omitempty"`
CustomField60 string `json:"custom_field_60,omitempty"`
CustomField61 string `json:"custom_field_61,omitempty"`
CustomField62 string `json:"custom_field_62,omitempty"`
CustomField63 string `json:"custom_field_63,omitempty"`
CustomField64 string `json:"custom_field_64,omitempty"`
CustomField65 string `json:"custom_field_65,omitempty"`
CustomField66 string `json:"custom_field_66,omitempty"`
CustomField67 string `json:"custom_field_67,omitempty"`
CustomField68 string `json:"custom_field_68,omitempty"`
CustomField69 string `json:"custom_field_69,omitempty"`
CustomField70 string `json:"custom_field_70,omitempty"`
CustomField71 string `json:"custom_field_71,omitempty"`
CustomField72 string `json:"custom_field_72,omitempty"`
CustomField73 string `json:"custom_field_73,omitempty"`
CustomField74 string `json:"custom_field_74,omitempty"`
CustomField75 string `json:"custom_field_75,omitempty"`
CustomField76 string `json:"custom_field_76,omitempty"`
CustomField77 string `json:"custom_field_77,omitempty"`
CustomField78 string `json:"custom_field_78,omitempty"`
CustomField79 string `json:"custom_field_79,omitempty"`
CustomField80 string `json:"custom_field_80,omitempty"`
CustomField81 string `json:"custom_field_81,omitempty"`
CustomField82 string `json:"custom_field_82,omitempty"`
CustomField83 string `json:"custom_field_83,omitempty"`
CustomField84 string `json:"custom_field_84,omitempty"`
CustomField85 string `json:"custom_field_85,omitempty"`
CustomField86 string `json:"custom_field_86,omitempty"`
CustomField87 string `json:"custom_field_87,omitempty"`
CustomField88 string `json:"custom_field_88,omitempty"`
CustomField89 string `json:"custom_field_89,omitempty"`
CustomField90 string `json:"custom_field_90,omitempty"`
CustomField91 string `json:"custom_field_91,omitempty"`
CustomField92 string `json:"custom_field_92,omitempty"`
CustomField93 string `json:"custom_field_93,omitempty"`
CustomField94 string `json:"custom_field_94,omitempty"`
CustomField95 string `json:"custom_field_95,omitempty"`
CustomField96 string `json:"custom_field_96,omitempty"`
CustomField97 string `json:"custom_field_97,omitempty"`
CustomField98 string `json:"custom_field_98,omitempty"`
CustomField99 string `json:"custom_field_99,omitempty"`
CustomField100 string `json:"custom_field_100,omitempty"`
CustomField101 string `json:"custom_field_101,omitempty"`
CustomField102 string `json:"custom_field_102,omitempty"`
CustomField103 string `json:"custom_field_103,omitempty"`
CustomField104 string `json:"custom_field_104,omitempty"`
CustomField105 string `json:"custom_field_105,omitempty"`
CustomField106 string `json:"custom_field_106,omitempty"`
CustomField107 string `json:"custom_field_107,omitempty"`
CustomField108 string `json:"custom_field_108,omitempty"`
CustomField109 string `json:"custom_field_109,omitempty"`
CustomField110 string `json:"custom_field_110,omitempty"`
CustomField111 string `json:"custom_field_111,omitempty"`
CustomField112 string `json:"custom_field_112,omitempty"`
CustomField113 string `json:"custom_field_113,omitempty"`
CustomField114 string `json:"custom_field_114,omitempty"`
CustomField115 string `json:"custom_field_115,omitempty"`
CustomField116 string `json:"custom_field_116,omitempty"`
CustomField117 string `json:"custom_field_117,omitempty"`
CustomField118 string `json:"custom_field_118,omitempty"`
CustomField119 string `json:"custom_field_119,omitempty"`
CustomField120 string `json:"custom_field_120,omitempty"`
CustomField121 string `json:"custom_field_121,omitempty"`
CustomField122 string `json:"custom_field_122,omitempty"`
CustomField123 string `json:"custom_field_123,omitempty"`
CustomField124 string `json:"custom_field_124,omitempty"`
CustomField125 string `json:"custom_field_125,omitempty"`
CustomField126 string `json:"custom_field_126,omitempty"`
CustomField127 string `json:"custom_field_127,omitempty"`
CustomField128 string `json:"custom_field_128,omitempty"`
CustomField129 string `json:"custom_field_129,omitempty"`
CustomField130 string `json:"custom_field_130,omitempty"`
CustomField131 string `json:"custom_field_131,omitempty"`
CustomField132 string `json:"custom_field_132,omitempty"`
CustomField133 string `json:"custom_field_133,omitempty"`
CustomField134 string `json:"custom_field_134,omitempty"`
CustomField135 string `json:"custom_field_135,omitempty"`
CustomField136 string `json:"custom_field_136,omitempty"`
CustomField137 string `json:"custom_field_137,omitempty"`
CustomField138 string `json:"custom_field_138,omitempty"`
CustomField139 string `json:"custom_field_139,omitempty"`
CustomField140 string `json:"custom_field_140,omitempty"`
CustomField141 string `json:"custom_field_141,omitempty"`
CustomField142 string `json:"custom_field_142,omitempty"`
CustomField143 string `json:"custom_field_143,omitempty"`
CustomField144 string `json:"custom_field_144,omitempty"`
CustomField145 string `json:"custom_field_145,omitempty"`
CustomField146 string `json:"custom_field_146,omitempty"`
CustomField147 string `json:"custom_field_147,omitempty"`
CustomField148 string `json:"custom_field_148,omitempty"`
CustomField149 string `json:"custom_field_149,omitempty"`
CustomField150 string `json:"custom_field_150,omitempty"`
CustomPlanField1 string `json:"custom_plan_field_1,omitempty"`
CustomPlanField2 string `json:"custom_plan_field_2,omitempty"`
CustomPlanField3 string `json:"custom_plan_field_3,omitempty"`
CustomPlanField4 string `json:"custom_plan_field_4,omitempty"`
CustomPlanField5 string `json:"custom_plan_field_5,omitempty"`
CustomPlanField6 string `json:"custom_plan_field_6,omitempty"`
CustomPlanField7 string `json:"custom_plan_field_7,omitempty"`
CustomPlanField8 string `json:"custom_plan_field_8,omitempty"`
CustomPlanField9 string `json:"custom_plan_field_9,omitempty"`
CustomPlanField10 string `json:"custom_plan_field_10,omitempty"`
PriorityLabel PriorityLabel `json:"priority_label,omitempty"`
WorkspaceID string `json:"workspace_id,omitempty"`
}
type BugChange ¶ added in v0.17.0
type BugChange struct {
ID string `json:"id,omitempty"` // 变更记录ID
BugID string `json:"bug_id,omitempty"` // 缺陷ID
Author string `json:"author,omitempty"` // 变更人
Field string `json:"field,omitempty"` // 变更字段
OldValue string `json:"old_value,omitempty"` // 变更前
NewValue string `json:"new_value,omitempty"` // 变更后
Memo *string `json:"memo,omitempty"` // 备注
Created string `json:"created,omitempty"` // 创建时间
WorkspaceID string `json:"workspace_id,omitempty"` // 项目ID
}
type BugCustomFieldsSetting ¶ added in v0.17.0
type BugCustomFieldsSetting struct {
ID string `json:"id,omitempty"` // 自定义字段配置的ID
WorkspaceID string `json:"workspace_id,omitempty"` // 所属项目ID
AppID string `json:"app_id,omitempty"` // 应用ID
EntryType string `json:"entry_type,omitempty"` // 所属实体对象
CustomField string `json:"custom_field,omitempty"` // 自定义字段标识
Type string `json:"type,omitempty"` // 输入类型
Name string `json:"name,omitempty"` // 自定义字段显示名称
Options *string `json:"options,omitempty"` // 自定义字段可选值
ExtraConfig *string `json:"extra_config,omitempty"` // 额外配置
Enabled string `json:"enabled,omitempty"` // 是否启用
Freeze string `json:"freeze,omitempty"` // 是否冻结
Sort *string `json:"sort,omitempty"` // 显示时排序系数
Memo *string `json:"memo,omitempty"` // 备注
OpenExtensionID string `json:"open_extension_id,omitempty"`
IsOut int `json:"is_out,omitempty"`
IsUninstall int `json:"is_uninstall,omitempty"`
AppName string `json:"app_name,omitempty"`
}
type BugFieldLabel ¶ added in v0.17.0
type BugFieldsInfo ¶ added in v0.17.0
type BugFieldsInfo struct {
Name string `json:"name,omitempty"` // 字段名
HTMLType BugFieldsInfoHTMLType `json:"html_type,omitempty"` // 类型
Label string `json:"label,omitempty"` // 中文名称
Memo string `json:"memo,omitempty"` // 备注
Options []BugFieldsInfoOption `json:"options,omitempty"` // 候选值
ColorOptions []BugFieldsInfoColorOption `json:"color_options,omitempty"` // 带颜色的候选值
PureOptions []BugFieldsInfoPureOption `json:"pure_options,omitempty"` // 原始候选值
}
type BugFieldsInfoColorOption ¶ added in v0.17.0
type BugFieldsInfoHTMLType ¶ added in v0.17.0
type BugFieldsInfoHTMLType string
BugFieldsInfoHTMLType 缺陷字段控件类型。
const ( BugFieldsInfoHTMLTypeInput BugFieldsInfoHTMLType = "input" BugFieldsInfoHTMLTypeSelect BugFieldsInfoHTMLType = "select" BugFieldsInfoHTMLTypeRichEdit BugFieldsInfoHTMLType = "rich_edit" BugFieldsInfoHTMLTypeUserChooser BugFieldsInfoHTMLType = "user_chooser" BugFieldsInfoHTMLTypeDatetime BugFieldsInfoHTMLType = "datetime" BugFieldsInfoHTMLTypeFloat BugFieldsInfoHTMLType = "float" BugFieldsInfoHTMLTypeMixChooser BugFieldsInfoHTMLType = "mix_chooser" BugFieldsInfoHTMLTypeDateInput BugFieldsInfoHTMLType = "dateinput" BugFieldsInfoHTMLTypeCheckbox BugFieldsInfoHTMLType = "checkbox" BugFieldsInfoHTMLTypeMultiSelect BugFieldsInfoHTMLType = "multi_select" )
type BugFieldsInfoOption ¶ added in v0.17.0
type BugFieldsInfoPureOption ¶ added in v0.17.0
type BugFieldsInfoPureOption struct {
ParentID string `json:"parent_id,omitempty"` // 父选项ID
WorkspaceID string `json:"workspace_id,omitempty"` // 项目ID
Sort string `json:"sort,omitempty"` // 排序
OriginName string `json:"origin_name,omitempty"` // 原始名称
Value string `json:"value,omitempty"` // 值
Label string `json:"label,omitempty"` // 中文名称
Panel int `json:"panel,omitempty"` // 面板
}
type BugLinkRelation ¶ added in v0.17.0
type BugLinkRelation struct {
Type string `json:"type,omitempty"` // 关系类型
ID string `json:"id,omitempty"` // 关联的缺陷ID
WorkspaceID string `json:"workspace_id,omitempty"` // 项目ID
ActAs string `json:"actas,omitempty"` // 角色
LinkedWorkspaceID int `json:"linked_workspace_id,omitempty"` // 关联项目ID
LinkID string `json:"link_id,omitempty"` // 缺陷之间关联关系link的ID
}
type BugRelatedStory ¶ added in v0.17.0
type BugService ¶
type BugService interface {
// CreateBug 创建缺陷
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/bug/add_bug.html
CreateBug(ctx context.Context, request *CreateBugRequest, opts ...RequestOption) (*Bug, *Response, error)
// CopyBug 复制缺陷
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/bug/copy_bug.html
CopyBug(ctx context.Context, request *CopyBugRequest, opts ...RequestOption) (*Bug, *Response, error)
// GetBugChanges 获取缺陷变更历史
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/bug/get_bug_changes.html
GetBugChanges(ctx context.Context, request *GetBugChangesRequest, opts ...RequestOption) ([]*BugChange, *Response, error)
// GetBugChangesCount 获取缺陷变更次数
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/bug/get_bug_changes_count.html
GetBugChangesCount(ctx context.Context, request *GetBugChangesCountRequest, opts ...RequestOption) (int, *Response, error)
// GetBugCustomFieldsSettings 获取缺陷自定义字段配置
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/bug/get_bug_custom_fields_settings.html
GetBugCustomFieldsSettings(
ctx context.Context, request *GetBugCustomFieldsSettingsRequest, opts ...RequestOption,
) ([]*BugCustomFieldsSetting, *Response, error)
// GetBugs 获取缺陷
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/bug/get_bugs.html
GetBugs(ctx context.Context, request *GetBugsRequest, opts ...RequestOption) ([]*Bug, *Response, error)
// GetBugsCount 获取缺陷数量
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/bug/get_bugs_count.html
GetBugsCount(ctx context.Context, request *GetBugsCountRequest, opts ...RequestOption) (int, *Response, error)
// GetBugLinkBugs 获取缺陷与其它缺陷的所有关联关系
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/bug/get_link_bugs.html
GetBugLinkBugs(ctx context.Context, request *GetBugLinkBugsRequest, opts ...RequestOption) ([]*BugLinkRelation, *Response, error)
// GetBugTemplates 获取缺陷模板列表
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/bug/get_bug_template_list.html
GetBugTemplates(ctx context.Context, request *GetBugTemplatesRequest, opts ...RequestOption) ([]*BugTemplate, *Response, error)
// GetBugTemplateFields 获取缺陷模板字段
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/bug/get_default_bug_template.html
GetBugTemplateFields(ctx context.Context, request *GetBugTemplateFieldsRequest, opts ...RequestOption) ([]*BugTemplateField, *Response, error)
// GetBugsByViewConfID 获取视图对应的缺陷列表
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/bug/get_bugs_by_view_conf_id.html
GetBugsByViewConfID(ctx context.Context, request *GetBugsByViewConfIDRequest, opts ...RequestOption) ([]*Bug, *Response, error)
// GetBugFieldsInfo 获取缺陷所有字段及候选值
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/bug/get_bug_fields_info.html
GetBugFieldsInfo(ctx context.Context, request *GetBugFieldsInfoRequest, opts ...RequestOption) ([]*BugFieldsInfo, *Response, error)
// GetBugFieldsLabel 获取缺陷所有字段的中英文
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/bug/get_bug_fields_lable.html
GetBugFieldsLabel(ctx context.Context, request *GetBugFieldsLabelRequest, opts ...RequestOption) ([]*BugFieldLabel, *Response, error)
// UpdateBug 更新缺陷
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/bug/update_bug.html
UpdateBug(ctx context.Context, request *UpdateBugRequest, opts ...RequestOption) (*Bug, *Response, error)
// UpdateBugSystemSelectFieldOptions 更新系统字段
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/bug/update_system_select_field_options.html
UpdateBugSystemSelectFieldOptions(
ctx context.Context, request *UpdateBugSystemSelectFieldOptionsRequest, opts ...RequestOption,
) (bool, *Response, error)
// BatchUpdateBugs 批量更新缺陷
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/bug/batch_update_bug.html
BatchUpdateBugs(ctx context.Context, request *BatchUpdateBugsRequest, opts ...RequestOption) (*BatchUpdateBugsResponse, *Response, error)
// GetRemovedBugs 获取回收站下的缺陷
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/bug/get_removed_bugs.html
GetRemovedBugs(ctx context.Context, request *GetRemovedBugsRequest, opts ...RequestOption) ([]*RemovedBug, *Response, error)
// GetBugRelatedStories 获取缺陷关联的需求ID
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/bug/get_related_stories.html
GetBugRelatedStories(ctx context.Context, request *GetBugRelatedStoriesRequest, opts ...RequestOption) ([]*BugRelatedStory, *Response, error)
// LinkBugs 关联缺陷
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/bug/link_bugs.html
LinkBugs(ctx context.Context, request *LinkBugsRequest, opts ...RequestOption) (bool, *Response, error)
// DeleteLinkBugs 取消关联缺陷
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/bug/delete_link_bugs.html
DeleteLinkBugs(ctx context.Context, request *DeleteLinkBugsRequest, opts ...RequestOption) (bool, *Response, error)
// GetConvertBugIDsToQueryToken 转换缺陷ID成列表queryToken
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/bug/bug_ids_to_query_token.html
GetConvertBugIDsToQueryToken(
ctx context.Context, request *GetConvertBugIDsToQueryTokenRequest, opts ...RequestOption,
) (*GetConvertBugIDsToQueryTokenResponse, *Response, error)
}
func NewBugService ¶ added in v0.12.0
func NewBugService(client *Client) BugService
type BugSeverity ¶ added in v0.8.0
type BugSeverity string
BugSeverity 缺陷严重程度(severity)
const ( BugSeverityFatal BugSeverity = "fatal" BugSeveritySerious BugSeverity = "serious" BugSeverityNormal BugSeverity = "normal" BugSeverityPrompt BugSeverity = "prompt" BugSeverityAdvice BugSeverity = "advice" )
func (BugSeverity) Human ¶ added in v0.8.0
func (s BugSeverity) Human() string
func (BugSeverity) String ¶ added in v0.8.0
func (s BugSeverity) String() string
type BugSystemSelectFieldOption ¶ added in v0.17.0
type BugSystemSelectFieldOption struct {
Value *string `json:"value,omitempty"` // 选项对应 value
}
type BugTemplate ¶ added in v0.17.0
type BugTemplate struct {
ID string `json:"id,omitempty"` // 模板ID
Name string `json:"name,omitempty"` // 标题
Description string `json:"description,omitempty"` // 详细描述
Sort string `json:"sort,omitempty"` // 排序
Default string `json:"default,omitempty"` // 是否启用
Creator string `json:"creator,omitempty"` // 提交人
EditorType string `json:"editor_type,omitempty"` // 编辑器类型
}
type BugTemplateField ¶ added in v0.17.0
type BugTemplateField struct {
ID string `json:"id,omitempty"` // 模板字段ID
WorkspaceID string `json:"workspace_id,omitempty"` // 项目ID
Type string `json:"type,omitempty"` // 类型
TemplateID string `json:"template_id,omitempty"` // 模板ID
Field string `json:"field,omitempty"` // 字段名称
Value string `json:"value,omitempty"` // 默认值
Required string `json:"required,omitempty"` // 是否必填
Sort string `json:"sort,omitempty"` // 排序
LinkageRules string `json:"linkage_rules,omitempty"`
}
type Client ¶
type Client struct {
// services used for talking to different parts of the Tapd API.
StoryService StoryService
BugService BugService
IterationService IterationService
TaskService TaskService
CommentService CommentService
ReportService ReportService
AttachmentService AttachmentService
TimesheetService TimesheetService
WorkspaceService WorkspaceService
LabelService LabelService
MeasureService MeasureService
UserService UserService
WorkflowService WorkflowService
SettingService SettingService
TestService TestService
BoardService BoardService
WikiService WikiService
ReleaseService ReleaseService
SourceService SourceService
// contains filtered or unexported fields
}
func NewBasicAuthClient ¶
func NewBasicAuthClient(clientID, clientSecret string, opts ...ClientOption) (*Client, error)
NewBasicAuthClient returns a new Tapd API client with basic authentication.
func NewClient ¶
func NewClient(clientID, clientSecret string, opts ...ClientOption) (*Client, error)
NewClient returns a new Tapd API client. Alias for NewBasicAuthClient.
func NewPATClient ¶ added in v0.13.0
func NewPATClient(accessToken string, opts ...ClientOption) (*Client, error)
NewPATClient returns a new Tapd API client with Personal Access Token (PAT) authentication.
type ClientOption ¶
func WithAccessToken ¶ added in v0.13.0
func WithAccessToken(accessToken string) ClientOption
WithAccessToken sets the accessToken for the client
func WithBaseURL ¶
func WithBaseURL(urlStr string) ClientOption
WithBaseURL sets the baseURL for the client
func WithBasicAuth ¶
func WithBasicAuth(clientID, clientSecret string) ClientOption
WithBasicAuth sets the clientID and clientSecret for the client
func WithHTTPClient ¶
func WithHTTPClient(httpClient *http.Client) ClientOption
WithHTTPClient sets the httpClient for the client
func WithUserAgent ¶
func WithUserAgent(userAgent string) ClientOption
WithUserAgent sets the userAgent for the client
type CodeCommitInfo ¶ added in v0.17.0
type CodeCommitInfo struct {
ID string `json:"id,omitempty"` // 记录ID
HookUserName string `json:"hook_user_name,omitempty"` // 代码提交人
CommitID string `json:"commit_id,omitempty"` // 提交ID
UserName string `json:"user_name,omitempty"` // 关联用户
UserID string `json:"user_id,omitempty"` // 关联用户ID
WorkspaceID StringNumber `json:"workspace_id,omitempty"` // 项目ID
Message string `json:"message,omitempty"` // 提交信息
Path string `json:"path,omitempty"` // 提交地址
WebURL string `json:"web_url,omitempty"` // 仓库地址
HookProjectName string `json:"hook_project_name,omitempty"` // 仓库名
CommitTime string `json:"commit_time,omitempty"` // 提交时间
Created string `json:"created,omitempty"` // 创建时间
Ref string `json:"ref,omitempty"` // 分支引用
RefStatus string `json:"ref_status,omitempty"` // 分支状态
GitEnv string `json:"git_env,omitempty"` // 信息来源
FileCommit string `json:"file_commit,omitempty"` // 变更文件
RepoID string `json:"repo_id,omitempty"` // 仓库ID
BranchID string `json:"branch_id,omitempty"` // 分支ID
FileSort map[string]int `json:"file_sort,omitempty"` // 文件排序
Related []*CodeCommitInfoRelated `json:"related,omitempty"` // 关联结果
}
type CodeCommitInfoRelated ¶ added in v0.17.0
type CodeCommitInfoRelated struct {
Type EntityType `json:"type,omitempty"` // 业务对象类型
ObjectID string `json:"object_id,omitempty"` // 业务对象ID
CommitID string `json:"commit_id,omitempty"` // 提交记录ID
WorkspaceID StringNumber `json:"workspace_id,omitempty"` // 项目ID
Code string `json:"code,omitempty"` // 关联结果代码
}
type CodeCommitRelatedType ¶ added in v0.17.0
type CodeCommitRelatedType string
CodeCommitRelatedType 源码提交关联类型。
const ( CodeCommitRelatedTypeAll CodeCommitRelatedType = "all" CodeCommitRelatedTypeBranch CodeCommitRelatedType = "branch" CodeCommitRelatedTypeSourceCode CodeCommitRelatedType = "source_code" )
type Comment ¶
type Comment struct {
ID string `json:"id,omitempty"` // 评论ID
Title string `json:"title,omitempty"` // 标题
Description string `json:"description,omitempty"` // 内容
Author string `json:"author,omitempty"` // 评论人
EntryType CommentEntryType `json:"entry_type,omitempty"` // 评论类型
EntryID string `json:"entry_id,omitempty"` // 评论所依附的业务对象实体id
ReplyID string `json:"reply_id,omitempty"` // 评论回复的ID
RootID string `json:"root_id,omitempty"` // 根评论ID
Created string `json:"created,omitempty"` // 创建时间
Modified string `json:"modified,omitempty"` // 最后更改时间
WorkspaceID string `json:"workspace_id,omitempty"` // 项目ID
}
Comment 评论
type CommentEntryType ¶
type CommentEntryType string
CommentEntryType 评论类型
const ( CommentEntryTypeBug CommentEntryType = "bug" // bug CommentEntryTypeBugRemark CommentEntryType = "bug_remark" // bug_remark (流转缺陷时候的评论) CommentEntryTypeStories CommentEntryType = "stories" // stories CommentEntryTypeTasks CommentEntryType = "tasks" // tasks CommentEntryTypeWiki CommentEntryType = "wiki" // wiki CommentEntryTypeMiniItems CommentEntryType = "mini_items" // mini_items )
CommentEntryType 评论类型
func (CommentEntryType) String ¶
func (t CommentEntryType) String() string
String CommentEntryType to string
type CommentService ¶
type CommentService interface {
// CreateComment 添加评论接口
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/comment/add_comment.html
CreateComment(ctx context.Context, request *CreateCommentRequest, opts ...RequestOption) (*Comment, *Response, error)
// GetComments 获取评论
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/comment/get_comments.html
GetComments(ctx context.Context, request *GetCommentsRequest, opts ...RequestOption) ([]*Comment, *Response, error)
// GetCommentsCount 获取评论数量
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/comment/get_comments_count.html
GetCommentsCount(ctx context.Context, request *GetCommentsCountRequest, opts ...RequestOption) (int, *Response, error)
// UpdateComment 更新评论接口
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/comment/update_comment.html
UpdateComment(ctx context.Context, request *UpdateCommentRequest, opts ...RequestOption) (*Comment, *Response, error)
}
CommentService 评论服务
func NewCommentService ¶ added in v0.12.0
func NewCommentService(client *Client) CommentService
type CommitObject ¶ added in v0.17.0
type CopyBugRequest ¶ added in v0.17.0
type CopyBugRequest struct {
WorkspaceID *int `json:"workspace_id,omitempty"` // [必须]源项目ID
SourceBugID *int64 `json:"src_bug_id,omitempty"` // [必须]源缺陷ID
DstWorkspaceID *int `json:"dst_workspace_id,omitempty"` // [必须]目标项目ID
SyncFields *Multi[string] `json:"sync_fields,omitempty"` // 需要同步的字段,多个字段以逗号分隔
}
type CopyStoryRequest ¶ added in v0.17.0
type CopyStoryRequest struct {
WorkspaceID *int `json:"workspace_id,omitempty"` // [必须]源项目ID
SrcStoryID *int64 `json:"src_story_id,omitempty"` // [必须]源需求ID
DstWorkspaceID *int `json:"dst_workspace_id,omitempty"` // [必须]目标项目ID
SyncFields *Multi[string] `json:"sync_fields,omitempty"` // 需要同步的字段,多个字段以逗号分隔
DstWorkitemTypeID *int64 `json:"dst_workitem_type_id,omitempty"` // 目标需求类别ID
NewCreator *string `json:"new_creator,omitempty"` // 新需求创建人
NewStatus *StoryStatus `json:"new_status,omitempty"` // 新需求状态
}
type CountResponse ¶
type CountResponse struct {
Count int `json:"count"`
}
CountResponse represents the response of count.
type CreateBoardCardRequest ¶ added in v0.17.0
type CreateBoardCardRequest struct {
WorkspaceID *int `json:"workspace_id,omitempty"` // [必须]项目ID
BoardID *int64 `json:"b_board_id,omitempty"` // [必须]看板ID
ColumnID *int64 `json:"b_column_id,omitempty"` // [必须]板块ID
Name *string `json:"name,omitempty"` // [必须]工作项标题
Owner *string `json:"owner,omitempty"` // 负责人
CC *string `json:"cc,omitempty"` // 参与人
Status *string `json:"status,omitempty"` // 状态
Begin *string `json:"begin,omitempty"` // 开始时间
Due *string `json:"due,omitempty"` // 截止时间
Label *int64 `json:"b_label,omitempty"` // 标签ID
Description *string `json:"description,omitempty"` // 详细描述
}
type CreateBugRequest ¶ added in v0.17.0
type CreateBugRequest struct {
WorkspaceID *int `json:"workspace_id,omitempty"` // [必须]项目ID
Title *string `json:"title,omitempty"` // [必须]缺陷标题
Description *string `json:"description,omitempty"` // 详细描述
Priority *string `json:"priority,omitempty"` // 优先级。为了兼容自定义优先级,请使用 priority_label 字段
PriorityLabel *PriorityLabel `json:"priority_label,omitempty"` // 优先级。推荐使用这个字段
Severity *BugSeverity `json:"severity,omitempty"` // 严重程度
Module *string `json:"module,omitempty"` // 模块
CurrentOwner *string `json:"current_owner,omitempty"` // 处理人
CC *string `json:"cc,omitempty"` // 抄送人
Reporter *string `json:"reporter,omitempty"` // 创建人
TE *string `json:"te,omitempty"` // 测试人员
DE *string `json:"de,omitempty"` // 开发人员
VersionReport *string `json:"version_report,omitempty"` // 发现版本
IterationID *int64 `json:"iteration_id,omitempty"` // 迭代ID
ReleaseID *int64 `json:"release_id,omitempty"` // 发布计划
Source *string `json:"source,omitempty"` // 缺陷根源
BugType *string `json:"bugtype,omitempty"` // 缺陷类型
Label *string `json:"label,omitempty"` // 标签,多个以英文竖线分隔
Deadline *string `json:"deadline,omitempty"` // 解决期限
}
type CreateCommentRequest ¶
type CreateCommentRequest struct {
Title *string `json:"title,omitempty"` // 标题
Description *string `json:"description,omitempty"` // 内容
Author *string `json:"author,omitempty"` // 评论人
EntryType *CommentEntryType `json:"entry_type,omitempty"` // 评论类型
EntryID *int64 `json:"entry_id,omitempty"` // 评论所依附的业务对象实体id
ReplyID *int64 `json:"reply_id,omitempty"` // 评论回复的ID
RootID *int64 `json:"root_id,omitempty"` // 根评论ID
WorkspaceID *int `json:"workspace_id,omitempty"` // 项目ID
}
type CreateIterationRequest ¶ added in v0.6.0
type CreateIterationRequest struct {
Name *string `json:"name,omitempty"` // [必须] 标题 支持模糊匹配
WorkspaceID *int `json:"workspace_id,omitempty"` // [必须] 项目 ID
Description *string `json:"description,omitempty"` // [必须] 详细描述
StartDate *string `json:"startdate,omitempty"` // [必须] 开始时间 支持时间查询
EndDate *string `json:"enddate,omitempty"` // [必须] 结束时间 支持时间查询
Creator *string `json:"creator,omitempty"` // [必须] 创建人
WorkitemTypeID *int `json:"workitem_type_id,omitempty"` // 迭代类别
PlanAppID *int `json:"plan_app_id,omitempty"` // 计划应用 ID
Status *string `json:"status,omitempty"` // 状态(系统状态 open/done,自定义状态可传中文)
Label *Enum[string] `json:"label,omitempty"` // 标签, 可传多个
CustomField1 *string `json:"custom_field_1,omitempty"` // 自定义字段参数
CustomField2 *string `json:"custom_field_2,omitempty"` // 自定义字段参数
CustomField3 *string `json:"custom_field_3,omitempty"` // 自定义字段参数
CustomField4 *string `json:"custom_field_4,omitempty"` // 自定义字段参数
CustomField5 *string `json:"custom_field_5,omitempty"` // 自定义字段参数
CustomField6 *string `json:"custom_field_6,omitempty"` // 自定义字段参数
CustomField7 *string `json:"custom_field_7,omitempty"` // 自定义字段参数
CustomField8 *string `json:"custom_field_8,omitempty"` // 自定义字段参数
CustomField9 *string `json:"custom_field_9,omitempty"` // 自定义字段参数
CustomField10 *string `json:"custom_field_10,omitempty"` // 自定义字段参数
CustomField11 *string `json:"custom_field_11,omitempty"` // 自定义字段参数
CustomField12 *string `json:"custom_field_12,omitempty"` // 自定义字段参数
CustomField13 *string `json:"custom_field_13,omitempty"` // 自定义字段参数
CustomField14 *string `json:"custom_field_14,omitempty"` // 自定义字段参数
CustomField15 *string `json:"custom_field_15,omitempty"` // 自定义字段参数
CustomField16 *string `json:"custom_field_16,omitempty"` // 自定义字段参数
CustomField17 *string `json:"custom_field_17,omitempty"` // 自定义字段参数
CustomField18 *string `json:"custom_field_18,omitempty"` // 自定义字段参数
CustomField19 *string `json:"custom_field_19,omitempty"` // 自定义字段参数
CustomField20 *string `json:"custom_field_20,omitempty"` // 自定义字段参数
CustomField21 *string `json:"custom_field_21,omitempty"` // 自定义字段参数
CustomField22 *string `json:"custom_field_22,omitempty"` // 自定义字段参数
CustomField23 *string `json:"custom_field_23,omitempty"` // 自定义字段参数
CustomField24 *string `json:"custom_field_24,omitempty"` // 自定义字段参数
CustomField25 *string `json:"custom_field_25,omitempty"` // 自定义字段参数
CustomField26 *string `json:"custom_field_26,omitempty"` // 自定义字段参数
CustomField27 *string `json:"custom_field_27,omitempty"` // 自定义字段参数
CustomField28 *string `json:"custom_field_28,omitempty"` // 自定义字段参数
CustomField29 *string `json:"custom_field_29,omitempty"` // 自定义字段参数
CustomField30 *string `json:"custom_field_30,omitempty"` // 自定义字段参数
CustomField31 *string `json:"custom_field_31,omitempty"` // 自定义字段参数
CustomField32 *string `json:"custom_field_32,omitempty"` // 自定义字段参数
CustomField33 *string `json:"custom_field_33,omitempty"` // 自定义字段参数
CustomField34 *string `json:"custom_field_34,omitempty"` // 自定义字段参数
CustomField35 *string `json:"custom_field_35,omitempty"` // 自定义字段参数
CustomField36 *string `json:"custom_field_36,omitempty"` // 自定义字段参数
CustomField37 *string `json:"custom_field_37,omitempty"` // 自定义字段参数
CustomField38 *string `json:"custom_field_38,omitempty"` // 自定义字段参数
CustomField39 *string `json:"custom_field_39,omitempty"` // 自定义字段参数
CustomField40 *string `json:"custom_field_40,omitempty"` // 自定义字段参数
CustomField41 *string `json:"custom_field_41,omitempty"` // 自定义字段参数
CustomField42 *string `json:"custom_field_42,omitempty"` // 自定义字段参数
CustomField43 *string `json:"custom_field_43,omitempty"` // 自定义字段参数
CustomField44 *string `json:"custom_field_44,omitempty"` // 自定义字段参数
CustomField45 *string `json:"custom_field_45,omitempty"` // 自定义字段参数
CustomField46 *string `json:"custom_field_46,omitempty"` // 自定义字段参数
CustomField47 *string `json:"custom_field_47,omitempty"` // 自定义字段参数
CustomField48 *string `json:"custom_field_48,omitempty"` // 自定义字段参数
CustomField49 *string `json:"custom_field_49,omitempty"` // 自定义字段参数
CustomField50 *string `json:"custom_field_50,omitempty"` // 自定义字段参数
}
type CreateLabelRequest ¶
type CreateLabelRequest struct {
WorkspaceID *int `json:"workspace_id"` // [必选]项目ID
Name *string `json:"name"` // [必选]标签名称
Color *LabelColor `json:"color"` // 标签颜色
Creator *string `json:"creator"` // 创建人
}
type CreateLaunchAccessoryRequest ¶ added in v0.17.0
type CreateLaunchFormRequest ¶ added in v0.17.0
type CreateLaunchFormRequest struct {
WorkspaceID *int `json:"workspace_id,omitempty"` // [必须]项目ID
Creator *string `json:"creator,omitempty"` // [必须]创建人
TemplateID *string `json:"template_id,omitempty"` // [必须]模板ID
Title *string `json:"title,omitempty"` // 标题
VersionType *string `json:"version_type,omitempty"` // 版本类型
Baseline *string `json:"baseline,omitempty"` // 基线
ReleaseModel *string `json:"release_model,omitempty"` // 发布模块
RoadmapVersion *string `json:"roadmap_version,omitempty"` // 路标版本
ReleaseType *string `json:"release_type,omitempty"` // 发布类型
SignedBy *string `json:"signed_by,omitempty"` // 签发人
ArchivedBy *string `json:"archived_by,omitempty"` // 发布确认人
CC *string `json:"cc,omitempty"` // 抄送人
}
type CreateReleaseRequest ¶ added in v0.17.0
type CreateReleaseRequest struct {
WorkspaceID *int `json:"workspace_id,omitempty"` // [必须]项目ID
Name *string `json:"name,omitempty"` // [必须]标题
Description *string `json:"description,omitempty"` // 详细描述
StartDate *string `json:"startdate,omitempty"` // [必须]开始时间
EndDate *string `json:"enddate,omitempty"` // [必须]结束时间
Creator *string `json:"creator,omitempty"` // 创建人
}
type CreateStoryBugRelationRequest ¶ added in v0.17.0
type CreateStoryBugRelationRequest struct {
WorkspaceID *int `json:"workspace_id,omitempty"` // [必须]项目ID
SourceType *string `json:"source_type,omitempty"` // [必须]源对象类型,story 或 bug
SourceID *int64 `json:"source_id,omitempty"` // [必须]源对象ID
TargetType *string `json:"target_type,omitempty"` // [必须]目标对象类型,story 或 bug
TargetID *int64 `json:"target_id,omitempty"` // [必须]目标对象ID
}
type CreateStoryCategoryRequest ¶ added in v0.17.0
type CreateStoryLinkRelationRequest ¶ added in v0.17.0
type CreateStoryLinkRelationResult ¶ added in v0.17.0
type CreateStoryLinkRelationResult struct {
Success int `json:"success,omitempty"` // 是否创建成功
}
type CreateStoryRequest ¶
type CreateStoryRequest struct {
WorkspaceID *int `json:"workspace_id,omitempty"` // [必须]项目ID
Name *string `json:"name,omitempty"` // [必须]标题
Priority *string `json:"priority,omitempty"` // 优先级
PriorityLabel *PriorityLabel `json:"priority_label,omitempty"` // 优先级。推荐使用这个字段
BusinessValue *int `json:"business_value,omitempty"` // 业务价值
Version *string `json:"version,omitempty"` // 版本
Module *string `json:"module,omitempty"` // 模块
TestFocus *string `json:"test_focus,omitempty"` // 测试重点
Size *int `json:"size,omitempty"` // 规模
Owner *string `json:"owner,omitempty"` // 处理人
CC *string `json:"cc,omitempty"` // 抄送人
Creator *string `json:"creator,omitempty"` // 创建人
Developer *string `json:"developer,omitempty"` // 开发人员
Begin *string `json:"begin,omitempty"` // 预计开始
Due *string `json:"due,omitempty"` // 预计结束
IterationID *string `json:"iteration_id,omitempty"` // 迭代ID
TemplatedID *int `json:"templated_id,omitempty"` // 模板ID
ParentID *int `json:"parent_id,omitempty"` // 父需求ID
Effort *string `json:"effort,omitempty"` // 预估工时
EffortCompleted *string `json:"effort_completed,omitempty"` // 完成工时
Remain *float64 `json:"remain,omitempty"` // 剩余工时
Exceed *float64 `json:"exceed,omitempty"` // 超出工时
CategoryID *int `json:"category_id,omitempty"` // 需求分类
WorkitemTypeID *int `json:"workitem_type_id,omitempty"` // 需求类别
ReleaseID *int `json:"release_id,omitempty"` // 发布计划
Source *string `json:"source,omitempty"` // 来源
Type *string `json:"type,omitempty"` // 类型
Description *string `json:"description,omitempty"` // 详细描述
Label *string `json:"label,omitempty"` // 标签,标签不存在时将自动创建,多个以英文坚线分格
}
type CreateStoryTestCaseRelationRequest ¶ added in v0.17.0
type CreateStoryTestCaseRelationResult ¶ added in v0.17.0
type CreateStoryTestCaseRelationResult struct {
SuccessID []string `json:"success_id,omitempty"` // 成功关联的测试用例ID
}
type CreateTaskRequest ¶ added in v0.14.0
type CreateTaskRequest struct {
Name *string `json:"name,omitempty"` // 任务标题 支持模糊匹配
Description *string `json:"description,omitempty"` // 任务详细描述
WorkspaceID *int `json:"workspace_id,omitempty"` // [必须]项目ID
Creator *string `json:"creator,omitempty"` // 创建人 支持多人员查询
Created *string `json:"created,omitempty"` // 创建时间 支持时间查询
Modified *string `json:"modified,omitempty"` // 最后修改时间 支持时间查询
Status *Enum[TaskStatus] `json:"status,omitempty"` // 状态 支持枚举查询
Label *Enum[string] `json:"label,omitempty"` // 标签查询 支持枚举查询
Owner *string `json:"owner,omitempty"` // 任务当前处理人 支持模糊匹配
CC *string `json:"cc,omitempty"` // 抄送人
Begin *string `json:"begin,omitempty"` // 预计开始 支持时间查询
Due *string `json:"due,omitempty"` // 预计结束 支持时间查询
StoryID *Multi[int64] `json:"story_id,omitempty"` // 关联需求的ID 支持多ID查询
IterationID *Enum[int64] `json:"iteration_id,omitempty"` // 所属迭代的ID 支持枚举查询
Priority *string `json:"priority,omitempty"` //nolint:lll // 优先级。为了兼容自定义优先级,请使用 priority_label 字段,详情参考:如何兼容自定义优先级
PriorityLabel *PriorityLabel `json:"priority_label,omitempty"` // 优先级。推荐使用这个字段
Progress *int `json:"progress,omitempty"` // 进度
Completed *string `json:"completed,omitempty"` // 完成时间 支持时间查询
EffortCompleted *string `json:"effort_completed,omitempty"` // 完成工时
Exceed *float64 `json:"exceed,omitempty"` // 超出工时
Remain *float64 `json:"remain,omitempty"` // 剩余工时
Effort *string `json:"effort,omitempty"` // 预估工时
CustomFieldOne *string `json:"custom_field_one,omitempty"`
CustomFieldTwo *string `json:"custom_field_two,omitempty"`
CustomFieldThree *string `json:"custom_field_three,omitempty"`
CustomFieldFour *string `json:"custom_field_four,omitempty"`
CustomFieldFive *string `json:"custom_field_five,omitempty"`
CustomFieldSix *string `json:"custom_field_six,omitempty"`
CustomFieldSeven *string `json:"custom_field_seven,omitempty"`
CustomFieldEight *string `json:"custom_field_eight,omitempty"`
CustomField9 *string `json:"custom_field_9,omitempty"`
CustomField10 *string `json:"custom_field_10,omitempty"`
CustomField11 *string `json:"custom_field_11,omitempty"`
CustomField12 *string `json:"custom_field_12,omitempty"`
CustomField13 *string `json:"custom_field_13,omitempty"`
CustomField14 *string `json:"custom_field_14,omitempty"`
CustomField15 *string `json:"custom_field_15,omitempty"`
CustomField16 *string `json:"custom_field_16,omitempty"`
CustomField17 *string `json:"custom_field_17,omitempty"`
CustomField18 *string `json:"custom_field_18,omitempty"`
CustomField19 *string `json:"custom_field_19,omitempty"`
CustomField20 *string `json:"custom_field_20,omitempty"`
CustomField21 *string `json:"custom_field_21,omitempty"`
CustomField22 *string `json:"custom_field_22,omitempty"`
CustomField23 *string `json:"custom_field_23,omitempty"`
CustomField24 *string `json:"custom_field_24,omitempty"`
CustomField25 *string `json:"custom_field_25,omitempty"`
CustomField26 *string `json:"custom_field_26,omitempty"`
CustomField27 *string `json:"custom_field_27,omitempty"`
CustomField28 *string `json:"custom_field_28,omitempty"`
CustomField29 *string `json:"custom_field_29,omitempty"`
CustomField30 *string `json:"custom_field_30,omitempty"`
CustomField31 *string `json:"custom_field_31,omitempty"`
CustomField32 *string `json:"custom_field_32,omitempty"`
CustomField33 *string `json:"custom_field_33,omitempty"`
CustomField34 *string `json:"custom_field_34,omitempty"`
CustomField35 *string `json:"custom_field_35,omitempty"`
CustomField36 *string `json:"custom_field_36,omitempty"`
CustomField37 *string `json:"custom_field_37,omitempty"`
CustomField38 *string `json:"custom_field_38,omitempty"`
CustomField39 *string `json:"custom_field_39,omitempty"`
CustomField40 *string `json:"custom_field_40,omitempty"`
CustomField41 *string `json:"custom_field_41,omitempty"`
CustomField42 *string `json:"custom_field_42,omitempty"`
CustomField43 *string `json:"custom_field_43,omitempty"`
CustomField44 *string `json:"custom_field_44,omitempty"`
CustomField45 *string `json:"custom_field_45,omitempty"`
CustomField46 *string `json:"custom_field_46,omitempty"`
CustomField47 *string `json:"custom_field_47,omitempty"`
CustomField48 *string `json:"custom_field_48,omitempty"`
CustomField49 *string `json:"custom_field_49,omitempty"`
CustomField50 *string `json:"custom_field_50,omitempty"`
}
type CreateTestCaseCategoryRequest ¶ added in v0.17.0
type CreateTestCaseCategoryRequest struct {
WorkspaceID *int `json:"workspace_id,omitempty"` // [必须]项目ID
Name *string `json:"name,omitempty"` // [必须]目录名称
Description *string `json:"description,omitempty"` // 目录描述
ParentID *int64 `json:"parent_id,omitempty"` // 父目录ID
Creator *string `json:"creator,omitempty"` // 目录创建人
}
type CreateTestCaseRequest ¶ added in v0.17.0
type CreateTestCaseRequest struct {
ID *int64 `json:"id,omitempty"` // 测试用例ID
Steps *string `json:"steps,omitempty"` // 用例步骤
WorkspaceID *int `json:"workspace_id,omitempty"` // [必须]项目ID
CategoryID *int64 `json:"category_id,omitempty"` // 用例目录
Status *TestCaseStatus `json:"status,omitempty"` // 用例状态
Name *string `json:"name,omitempty"` // [必须]用例名称
Precondition *string `json:"precondition,omitempty"` // 前置条件
Expectation *string `json:"expectation,omitempty"` // 预期结果
Type *string `json:"type,omitempty"` // 用例类型
Priority *string `json:"priority,omitempty"` // 用例等级
Creator *string `json:"creator,omitempty"` // 创建人
CustomField1 *string `json:"custom_field_1,omitempty"` // 自定义字段
CustomField2 *string `json:"custom_field_2,omitempty"`
CustomField3 *string `json:"custom_field_3,omitempty"`
CustomField4 *string `json:"custom_field_4,omitempty"`
CustomField5 *string `json:"custom_field_5,omitempty"`
CustomField6 *string `json:"custom_field_6,omitempty"`
CustomField7 *string `json:"custom_field_7,omitempty"`
CustomField8 *string `json:"custom_field_8,omitempty"`
CustomField9 *string `json:"custom_field_9,omitempty"`
CustomField10 *string `json:"custom_field_10,omitempty"`
CustomField11 *string `json:"custom_field_11,omitempty"`
CustomField12 *string `json:"custom_field_12,omitempty"`
CustomField13 *string `json:"custom_field_13,omitempty"`
CustomField14 *string `json:"custom_field_14,omitempty"`
CustomField15 *string `json:"custom_field_15,omitempty"`
CustomField16 *string `json:"custom_field_16,omitempty"`
CustomField17 *string `json:"custom_field_17,omitempty"`
CustomField18 *string `json:"custom_field_18,omitempty"`
CustomField19 *string `json:"custom_field_19,omitempty"`
CustomField20 *string `json:"custom_field_20,omitempty"`
CustomField21 *string `json:"custom_field_21,omitempty"`
CustomField22 *string `json:"custom_field_22,omitempty"`
CustomField23 *string `json:"custom_field_23,omitempty"`
CustomField24 *string `json:"custom_field_24,omitempty"`
CustomField25 *string `json:"custom_field_25,omitempty"`
CustomField26 *string `json:"custom_field_26,omitempty"`
CustomField27 *string `json:"custom_field_27,omitempty"`
CustomField28 *string `json:"custom_field_28,omitempty"`
CustomField29 *string `json:"custom_field_29,omitempty"`
CustomField30 *string `json:"custom_field_30,omitempty"`
CustomField31 *string `json:"custom_field_31,omitempty"`
CustomField32 *string `json:"custom_field_32,omitempty"`
CustomField33 *string `json:"custom_field_33,omitempty"`
CustomField34 *string `json:"custom_field_34,omitempty"`
CustomField35 *string `json:"custom_field_35,omitempty"`
CustomField36 *string `json:"custom_field_36,omitempty"`
CustomField37 *string `json:"custom_field_37,omitempty"`
CustomField38 *string `json:"custom_field_38,omitempty"`
CustomField39 *string `json:"custom_field_39,omitempty"`
CustomField40 *string `json:"custom_field_40,omitempty"`
CustomField41 *string `json:"custom_field_41,omitempty"`
CustomField42 *string `json:"custom_field_42,omitempty"`
CustomField43 *string `json:"custom_field_43,omitempty"`
CustomField44 *string `json:"custom_field_44,omitempty"`
CustomField45 *string `json:"custom_field_45,omitempty"`
CustomField46 *string `json:"custom_field_46,omitempty"`
CustomField47 *string `json:"custom_field_47,omitempty"`
CustomField48 *string `json:"custom_field_48,omitempty"`
CustomField49 *string `json:"custom_field_49,omitempty"`
CustomField50 *string `json:"custom_field_50,omitempty"`
}
type CreateTestPlanRequest ¶ added in v0.17.0
type CreateTestPlanRequest struct {
Name *string `json:"name,omitempty"` // [必须]测试计划标题
Description *string `json:"description,omitempty"` // 测试计划详细描述
WorkspaceID *int `json:"workspace_id,omitempty"` // [必须]项目ID
Creator *string `json:"creator,omitempty"` // 创建人
Modifier *string `json:"modifier,omitempty"` // 修改人
Owner *string `json:"owner,omitempty"` // 测试计划负责人
StartDate *string `json:"start_date,omitempty"` // 预计开始
EndDate *string `json:"end_date,omitempty"` // 预计结束
IterationID *int64 `json:"iteration_id,omitempty"` // 关联迭代ID
Version *string `json:"version,omitempty"` // 版本号
Type *string `json:"type,omitempty"` // 测试类型
Status *string `json:"status,omitempty"` // 状态,默认open
CustomField1 *string `json:"custom_field_1,omitempty"` // 自定义字段
CustomField2 *string `json:"custom_field_2,omitempty"`
CustomField3 *string `json:"custom_field_3,omitempty"`
CustomField4 *string `json:"custom_field_4,omitempty"`
CustomField5 *string `json:"custom_field_5,omitempty"`
CustomField6 *string `json:"custom_field_6,omitempty"`
CustomField7 *string `json:"custom_field_7,omitempty"`
CustomField8 *string `json:"custom_field_8,omitempty"`
CustomField9 *string `json:"custom_field_9,omitempty"`
CustomField10 *string `json:"custom_field_10,omitempty"`
}
type CreateTestPlanStoryRelationRequest ¶ added in v0.17.0
type CreateTestPlanTestCaseRelationRequest ¶ added in v0.17.0
type CreateTestPlanTestCaseRelationRequest struct {
TestPlanID *int64 `json:"test_plan_id,omitempty"` // [必须]测试计划ID
WorkspaceID *int `json:"workspace_id,omitempty"` // [必须]项目ID
TestCaseIDs *Multi[int64] `json:"tcase_ids,omitempty"` // [必须]测试用例ID,多个使用英文逗号分隔
Creator *string `json:"creator,omitempty"` // [必须]创建人
}
type CreateTimesheetRequest ¶
type CreateTimesheetRequest struct {
EntityType *EntityType `json:"entity_type,omitempty"` // [必须]对象类型,如story、task、bug等
EntityID *int64 `json:"entity_id,omitempty"` // [必须]对象ID
Timespent *string `json:"timespent,omitempty"` // [必须]花费工时
Timeremain *string `json:"timeremain,omitempty"` // 剩余工时
Spentdate *string `json:"spentdate,omitempty"` // 花费日期
Owner *string `json:"owner,omitempty"` // [必须]花费创建人
WorkspaceID *int `json:"workspace_id,omitempty"` // [必须]项目ID
Memo *string `json:"memo,omitempty"` // 花费描述
}
type CreateWikiRequest ¶ added in v0.17.0
type CreateWikiRequest struct {
Name *string `json:"name,omitempty"` // [必须]标题
MarkdownDescription *string `json:"markdown_description,omitempty"` // Markdown
Description *string `json:"description,omitempty"` // 富文本
Creator *string `json:"creator,omitempty"` // [必须]创建人
Note *string `json:"note,omitempty"` // 备注
WorkspaceID *int `json:"workspace_id,omitempty"` // [必须]项目ID
ParentWikiID *string `json:"parent_wiki_id,omitempty"` // 父wiki ID
}
type CustomWorkCalendar ¶ added in v0.17.0
type DeleteLinkBugsRequest ¶ added in v0.17.0
type DeleteStoryTimeRelation ¶ added in v0.17.0
type DeleteStoryTimeRelationsRequest ¶ added in v0.17.0
type DeleteStoryTimeRelationsRequest struct {
WorkspaceID *int `json:"workspace_id,omitempty"` // [必须]项目ID
Relations []*DeleteStoryTimeRelation `json:"relations,omitempty"` // 按起点和终点删除的关系列表
RelationIDs *[]int64 `json:"relation_ids,omitempty"` // 按关系ID删除的关系列表
CurrentUser *string `json:"current_user,omitempty"` // [必须]执行此操作的用户 nick
}
type DeleteStoryTimeRelationsResult ¶ added in v0.17.0
type DeleteStoryTimeRelationsResult struct {
Num int `json:"num,omitempty"` // 实际删除的条数
}
type DeleteTestCaseStoryRelationRequest ¶ added in v0.17.0
type DeleteTestPlanStoryRelationRequest ¶ added in v0.17.0
type DeleteTimesheetsRequest ¶ added in v0.17.0
type DeleteTimesheetsRequest struct {
EntityType *EntityType `json:"entity_type,omitempty"` // [必须]对象类型,如story、task、bug等
EntityID *int64 `json:"entity_id,omitempty"` // [必须]对象ID
WorkspaceID *int `json:"workspace_id,omitempty"` // [必须]项目ID
CostIDs *[]int64 `json:"cost_ids,omitempty"` // [必须]工时花费ID列表,一次最多100条
}
type DeleteTimesheetsResponse ¶ added in v0.17.0
type DeleteTimesheetsResponse struct {
Msg string `json:"msg,omitzero"` // 处理结果消息
Data DeleteTimesheetsResult `json:"data,omitzero"` // 删除结果明细
}
type DeleteTimesheetsResult ¶ added in v0.17.0
type DeleteTimesheetsResult struct {
Success DeleteTimesheetsResultItem `json:"success,omitzero"` // 删除成功明细
Failed []DeleteTimesheetsResultItem `json:"failed,omitempty"` // 删除失败明细
}
type DeleteTimesheetsResultItem ¶ added in v0.17.0
type DocumentAttachment ¶
type DocumentAttachment struct {
ID string `json:"id,omitempty"` // 文档ID
WorkspaceID string `json:"workspace_id,omitempty"` // 项目ID
Name string `json:"name,omitempty"` // 标题
Type string `json:"type,omitempty"` // 文档类型
FolderID string `json:"folder_id,omitempty"` // 文件夹ID
Creator string `json:"creator,omitempty"` // 创建人
Modifier string `json:"modifier,omitempty"` // 最后修改人
Status string `json:"status,omitempty"` // 状态
Created string `json:"created,omitempty"` // 创建时间
Modified string `json:"modified,omitempty"` // 最后修改时间
DownloadURL string `json:"download_url,omitempty"` // 下载链接
}
type EnableWorkCalendarRequest ¶ added in v0.17.0
type EnableWorkCalendarRequest struct {
WorkspaceID *int `json:"workspace_id,omitempty"` // [必须]项目ID
Type *WorkCalendarType `json:"type,omitempty"` // [必须]启用类型,system 或 custom
}
type EnableWorkCalendarResponse ¶ added in v0.17.0
type EnableWorkCalendarResponse struct {
Success bool `json:"success,omitempty"` // 是否启用成功
}
type EntityType ¶
type EntityType string
const ( EntityTypeTask EntityType = "task" EntityTypeStory EntityType = "story" EntityTypeBug EntityType = "bug" )
type Enum ¶
type Enum[T any] []T
func NewEnum ¶
NewEnum creates a new enum value.
Example:
NewEnum("a", "b", "c") => "a|b|c"
NewEnum(1, 2, 3) => "1|2|3"
func (Enum[T]) MarshalJSON ¶ added in v0.6.0
type ErrorResponse ¶
type ErrorResponse struct {
// contains filtered or unexported fields
}
ErrorResponse represents a tapd error response.
func (*ErrorResponse) Error ¶
func (e *ErrorResponse) Error() string
func (*ErrorResponse) Unwrap ¶
func (e *ErrorResponse) Unwrap() error
type ExecuteTestCaseRequest ¶ added in v0.17.0
type ExecuteTestCaseRequest struct {
TestPlanID *int64 `json:"test_plan_id,omitempty"` // [必须]测试计划ID
TestCaseID *Multi[int64] `json:"tcase_id,omitempty"` // [必须]测试用例ID,支持批量执行
WorkspaceID *int `json:"workspace_id,omitempty"` // [必须]项目ID
ResultStatus *TestCaseResultStatus `json:"result_status,omitempty"` // [必须]执行结果
LastExecutor *string `json:"last_executor,omitempty"` // [必须]执行人
ResultRemark *string `json:"result_remark,omitempty"` // 实际执行结果
}
type GetAllLastStepsRequest ¶ added in v0.7.0
type GetAttachmentsRequest ¶
type GetAttachmentsRequest struct {
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]项目ID
ID *int `url:"id,omitempty"` // [可选]ID
Type *string `url:"type,omitempty"` // [可选]类型
EntryID *int `url:"entry_id,omitempty"` // [可选]依赖对象ID
Filename *string `url:"filename,omitempty"` // [可选]附件名称
Owner *string `url:"owner,omitempty"` // [可选]上传人
Limit *int `url:"limit,omitempty"` // [可选]每页数量,最大 200
Page *int `url:"page,omitempty"` // [可选]页码
DownloadURL string `url:"-" json:"download_url,omitempty"`
}
type GetBoardCardsRequest ¶ added in v0.17.0
type GetBoardCardsRequest struct {
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]项目ID
ID *Multi[int64] `url:"id,omitempty"` // 工作项ID,支持多ID查询
BoardID *int64 `url:"b_board_id,omitempty"` // 看板ID
ColumnID *int64 `url:"b_column_id,omitempty"` // 板块ID
Owner *string `url:"owner,omitempty"` // 负责人
CC *string `url:"cc,omitempty"` // 参与人
Status *string `url:"status,omitempty"` // 状态
Name *string `url:"name,omitempty"` // 工作项标题
Created *string `url:"created,omitempty"` // 创建时间,支持时间查询
Begin *string `url:"begin,omitempty"` // 开始时间,支持时间查询
Due *string `url:"due,omitempty"` // 截止时间,支持时间查询
Label *int64 `url:"b_label,omitempty"` // 标签ID
Limit *int `url:"limit,omitempty"` // 设置返回数量限制,默认为30,最大取200
Page *int `url:"page,omitempty"` // 返回当前数量限制下第N页的数据,默认为1
Fields *Multi[string] `url:"fields,omitempty"` // 设置获取的字段,多个字段间以','逗号隔开
}
type GetBoardColumnsRequest ¶ added in v0.17.0
type GetBoardColumnsRequest struct {
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]项目ID
ID *Multi[int64] `url:"id,omitempty"` // 板块ID,支持多ID查询
Name *string `url:"name,omitempty"` // 板块名称
BoardID *int64 `url:"board_id,omitempty"` // 看板ID
Status *string `url:"status,omitempty"` // 状态
Created *string `url:"created,omitempty"` // 创建时间
Creator *string `url:"creator,omitempty"` // 创建人
Limit *int `url:"limit,omitempty"` // 设置返回数量限制,默认为30,最大取200
Page *int `url:"page,omitempty"` // 返回当前数量限制下第N页的数据,默认为1
Order *Order `url:"order,omitempty"` // 排序规则
Fields *Multi[string] `url:"fields,omitempty"` // 设置获取的字段,多个字段间以','逗号隔开
}
type GetBugChangesCountRequest ¶ added in v0.17.0
type GetBugChangesCountRequest struct {
ID *Multi[int64] `url:"id,omitempty"` // 变更记录ID,支持多ID查询
BugID *Multi[int64] `url:"bug_id,omitempty"` // 缺陷ID,支持多ID查询
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]项目ID
Author *string `url:"author,omitempty"` // 变更人
Field *string `url:"field,omitempty"` // 变更字段
OldValue *string `url:"old_value,omitempty"` // 变更前
NewValue *string `url:"new_value,omitempty"` // 变更后
Memo *string `url:"memo,omitempty"` // 备注
Created *string `url:"created,omitempty"` // 创建时间,支持时间查询
}
type GetBugChangesRequest ¶ added in v0.17.0
type GetBugChangesRequest struct {
ID *Multi[int64] `url:"id,omitempty"` // 变更记录ID,支持多ID查询
BugID *Multi[int64] `url:"bug_id,omitempty"` // 缺陷ID,支持多ID查询
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]项目ID
Author *string `url:"author,omitempty"` // 变更人
Field *string `url:"field,omitempty"` // 变更字段
OldValue *string `url:"old_value,omitempty"` // 变更前
NewValue *string `url:"new_value,omitempty"` // 变更后
Memo *string `url:"memo,omitempty"` // 备注
Created *string `url:"created,omitempty"` // 创建时间,支持时间查询
IncludeAddBug *int `url:"include_add_bug,omitempty"` // 是否返回创建缺陷的记录,值传1
Limit *int `url:"limit,omitempty"` // 设置返回数量限制,默认为30,最大取200
Page *int `url:"page,omitempty"` // 返回当前数量限制下第N页的数据,默认为1(第一页)
Order *Order `url:"order,omitempty"` // 排序规则,规则:字段名 ASC或者DESC
Fields *Multi[string] `url:"fields,omitempty"` // 设置获取的字段,多个字段间以','逗号隔开
}
type GetBugCustomFieldsSettingsRequest ¶ added in v0.17.0
type GetBugCustomFieldsSettingsRequest struct {
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]项目ID
}
type GetBugFieldsInfoRequest ¶ added in v0.17.0
type GetBugFieldsLabelRequest ¶ added in v0.17.0
type GetBugFieldsLabelRequest struct {
WorkspaceID *int `url:"workspace_id,omitempty"` // 项目ID
}
type GetBugLinkBugsRequest ¶ added in v0.17.0
type GetBugRelatedStoriesRequest ¶ added in v0.17.0
type GetBugTemplateFieldsRequest ¶ added in v0.17.0
type GetBugTemplatesRequest ¶ added in v0.17.0
type GetBugTemplatesRequest struct {
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]项目ID
}
type GetBugsByViewConfIDRequest ¶ added in v0.17.0
type GetBugsByViewConfIDRequest struct {
ViewConfID *int64 `url:"view_conf_id,omitempty"` // [必须]视图ID
CurrentUser *string `url:"current_user,omitempty"` // 当前登录用户视图
GetBugsRequest
}
type GetBugsCountRequest ¶ added in v0.15.0
type GetBugsCountRequest struct {
ID *Multi[int64] `url:"id,omitempty"` // ID 支持多ID查询
Title *string `url:"title,omitempty"` // 标题 支持模糊匹配
Priority *string `url:"priority,omitempty"` // 优先级。为了兼容自定义优先级,请使用 priority_label 字段
PriorityLabel *PriorityLabel `url:"priority_label,omitempty"` // 优先级。推荐使用这个字段
Severity *Enum[BugSeverity] `url:"severity,omitempty"` // 严重程度 支持枚举查询
Status *Enum[string] `url:"status,omitempty"` // 状态 支持不等于查询、枚举查询
VStatus *string `url:"v_status,omitempty"` // 状态(支持传入中文状态名称)
Label *Enum[string] `url:"label,omitempty"` // 标签查询 支持枚举查询
IterationID *Enum[string] `url:"iteration_id,omitempty"` // 迭代 支持枚举查询
Module *Enum[string] `url:"module,omitempty"` // 模块 支持枚举查询
ReleaseID *int `url:"release_id,omitempty"` // 发布计划
VersionReport *Enum[string] `url:"version_report,omitempty"` // 发现版本 枚举查询
VersionTest *string `url:"version_test,omitempty"` // 验证版本
VersionFix *string `url:"version_fix,omitempty"` // 合入版本
VersionClose *string `url:"version_close,omitempty"` // 关闭版本
BaselineFind *string `url:"baseline_find,omitempty"` // 发现基线
BaselineJoin *string `url:"baseline_join,omitempty"` // 合入基线
BaselineTest *string `url:"baseline_test,omitempty"` // 验证基线
BaselineClose *string `url:"baseline_close,omitempty"` // 关闭基线
Feature *string `url:"feature,omitempty"` // 特性
CurrentOwner *string `url:"current_owner,omitempty"` // 处理人 支持模糊匹配
CC *string `url:"cc,omitempty"` // 抄送人
Reporter *Multi[string] `url:"reporter,omitempty"` // 创建人 支持多人员查询
Participator *Multi[string] `url:"participator,omitempty"` // 参与人 支持多人员查询
TE *string `url:"te,omitempty"` // 测试人员 支持模糊匹配
DE *string `url:"de,omitempty"` // 开发人员 支持模糊匹配
Auditer *string `url:"auditer,omitempty"` // 审核人
Confirmer *string `url:"confirmer,omitempty"` // 验证人
Fixer *string `url:"fixer,omitempty"` // 修复人
Closer *string `url:"closer,omitempty"` // 关闭人
LastModify *string `url:"lastmodify,omitempty"` // 最后修改人
Created *string `url:"created,omitempty"` // 创建时间 支持时间查询
InProgressTime *string `url:"in_progress_time,omitempty"` // 接受处理时间 支持时间查询
Resolved *string `url:"resolved,omitempty"` // 解决时间 支持时间查询
VerifyTime *string `url:"verify_time,omitempty"` // 验证时间 支持时间查询
Closed *string `url:"closed,omitempty"` // 关闭时间 支持时间查询
RejectTime *string `url:"reject_time,omitempty"` // 拒绝时间 支持时间查询
Modified *string `url:"modified,omitempty"` // 最后修改时间 支持时间查询
Begin *string `url:"begin,omitempty"` // 预计开始
Due *string `url:"due,omitempty"` // 预计结束
Deadline *string `url:"deadline,omitempty"` // 解决期限
OS *string `url:"os,omitempty"` // 操作系统
Platform *string `url:"platform,omitempty"` // 软件平台
TestMode *string `url:"testmode,omitempty"` // 测试方式
TestPhase *string `url:"testphase,omitempty"` // 测试阶段
TestType *string `url:"testtype,omitempty"` // 测试类型
Source *Enum[string] `url:"source,omitempty"` // 缺陷根源 支持枚举查询
BugType *string `url:"bugtype,omitempty"` // 缺陷类型
Frequency *Enum[string] `url:"frequency,omitempty"` // 重现规律 支持枚举查询
OriginPhase *string `url:"originphase,omitempty"` // 发现阶段
SourcePhase *string `url:"sourcephase,omitempty"` // 引入阶段
Resolution *Enum[string] `url:"resolution,omitempty"` // 解决方法 支持枚举查询
Estimate *int `url:"estimate,omitempty"` // 预计解决时间
Description *string `url:"description,omitempty"` // 详细描述 支持模糊匹配
WorkspaceID *int `url:"workspace_id,omitempty"` // 项目ID
CustomFieldOne *string `url:"custom_field_one,omitempty"` // 自定义字段参数
CustomFieldTwo *string `url:"custom_field_two,omitempty"`
CustomFieldThree *string `url:"custom_field_three,omitempty"`
CustomFieldFour *string `url:"custom_field_four,omitempty"`
CustomFieldFive *string `url:"custom_field_five,omitempty"`
CustomField6 *string `url:"custom_field_6,omitempty"`
CustomField7 *string `url:"custom_field_7,omitempty"`
CustomField8 *string `url:"custom_field_8,omitempty"`
CustomField9 *string `url:"custom_field_9,omitempty"`
CustomField10 *string `url:"custom_field_10,omitempty"`
CustomField11 *string `url:"custom_field_11,omitempty"`
CustomField12 *string `url:"custom_field_12,omitempty"`
CustomField13 *string `url:"custom_field_13,omitempty"`
CustomField14 *string `url:"custom_field_14,omitempty"`
CustomField15 *string `url:"custom_field_15,omitempty"`
CustomField16 *string `url:"custom_field_16,omitempty"`
CustomField17 *string `url:"custom_field_17,omitempty"`
CustomField18 *string `url:"custom_field_18,omitempty"`
CustomField19 *string `url:"custom_field_19,omitempty"`
CustomField20 *string `url:"custom_field_20,omitempty"`
CustomField21 *string `url:"custom_field_21,omitempty"`
CustomField22 *string `url:"custom_field_22,omitempty"`
CustomField23 *string `url:"custom_field_23,omitempty"`
CustomField24 *string `url:"custom_field_24,omitempty"`
CustomField25 *string `url:"custom_field_25,omitempty"`
CustomField26 *string `url:"custom_field_26,omitempty"`
CustomField27 *string `url:"custom_field_27,omitempty"`
CustomField28 *string `url:"custom_field_28,omitempty"`
CustomField29 *string `url:"custom_field_29,omitempty"`
CustomField30 *string `url:"custom_field_30,omitempty"`
CustomField31 *string `url:"custom_field_31,omitempty"`
CustomField32 *string `url:"custom_field_32,omitempty"`
CustomField33 *string `url:"custom_field_33,omitempty"`
CustomField34 *string `url:"custom_field_34,omitempty"`
CustomField35 *string `url:"custom_field_35,omitempty"`
CustomField36 *string `url:"custom_field_36,omitempty"`
CustomField37 *string `url:"custom_field_37,omitempty"`
CustomField38 *string `url:"custom_field_38,omitempty"`
CustomField39 *string `url:"custom_field_39,omitempty"`
CustomField40 *string `url:"custom_field_40,omitempty"`
CustomField41 *string `url:"custom_field_41,omitempty"`
CustomField42 *string `url:"custom_field_42,omitempty"`
CustomField43 *string `url:"custom_field_43,omitempty"`
CustomField44 *string `url:"custom_field_44,omitempty"`
CustomField45 *string `url:"custom_field_45,omitempty"`
CustomField46 *string `url:"custom_field_46,omitempty"`
CustomField47 *string `url:"custom_field_47,omitempty"`
CustomField48 *string `url:"custom_field_48,omitempty"`
CustomField49 *string `url:"custom_field_49,omitempty"`
CustomField50 *string `url:"custom_field_50,omitempty"`
CustomField51 *string `url:"custom_field_51,omitempty"`
CustomField52 *string `url:"custom_field_52,omitempty"`
CustomField53 *string `url:"custom_field_53,omitempty"`
CustomField54 *string `url:"custom_field_54,omitempty"`
CustomField55 *string `url:"custom_field_55,omitempty"`
CustomField56 *string `url:"custom_field_56,omitempty"`
CustomField57 *string `url:"custom_field_57,omitempty"`
CustomField58 *string `url:"custom_field_58,omitempty"`
CustomField59 *string `url:"custom_field_59,omitempty"`
CustomField60 *string `url:"custom_field_60,omitempty"`
CustomField61 *string `url:"custom_field_61,omitempty"`
CustomField62 *string `url:"custom_field_62,omitempty"`
CustomField63 *string `url:"custom_field_63,omitempty"`
CustomField64 *string `url:"custom_field_64,omitempty"`
CustomField65 *string `url:"custom_field_65,omitempty"`
CustomField66 *string `url:"custom_field_66,omitempty"`
CustomField67 *string `url:"custom_field_67,omitempty"`
CustomField68 *string `url:"custom_field_68,omitempty"`
CustomField69 *string `url:"custom_field_69,omitempty"`
CustomField70 *string `url:"custom_field_70,omitempty"`
CustomField71 *string `url:"custom_field_71,omitempty"`
CustomField72 *string `url:"custom_field_72,omitempty"`
CustomField73 *string `url:"custom_field_73,omitempty"`
CustomField74 *string `url:"custom_field_74,omitempty"`
CustomField75 *string `url:"custom_field_75,omitempty"`
CustomField76 *string `url:"custom_field_76,omitempty"`
CustomField77 *string `url:"custom_field_77,omitempty"`
CustomField78 *string `url:"custom_field_78,omitempty"`
CustomField79 *string `url:"custom_field_79,omitempty"`
CustomField80 *string `url:"custom_field_80,omitempty"`
CustomField81 *string `url:"custom_field_81,omitempty"`
CustomField82 *string `url:"custom_field_82,omitempty"`
CustomField83 *string `url:"custom_field_83,omitempty"`
CustomField84 *string `url:"custom_field_84,omitempty"`
CustomField85 *string `url:"custom_field_85,omitempty"`
CustomField86 *string `url:"custom_field_86,omitempty"`
CustomField87 *string `url:"custom_field_87,omitempty"`
CustomField88 *string `url:"custom_field_88,omitempty"`
CustomField89 *string `url:"custom_field_89,omitempty"`
CustomField90 *string `url:"custom_field_90,omitempty"`
CustomField91 *string `url:"custom_field_91,omitempty"`
CustomField92 *string `url:"custom_field_92,omitempty"`
CustomField93 *string `url:"custom_field_93,omitempty"`
CustomField94 *string `url:"custom_field_94,omitempty"`
CustomField95 *string `url:"custom_field_95,omitempty"`
CustomField96 *string `url:"custom_field_96,omitempty"`
CustomField97 *string `url:"custom_field_97,omitempty"`
CustomField98 *string `url:"custom_field_98,omitempty"`
CustomField99 *string `url:"custom_field_99,omitempty"`
CustomField100 *string `url:"custom_field_100,omitempty"`
CustomField101 *string `url:"custom_field_101,omitempty"`
CustomField102 *string `url:"custom_field_102,omitempty"`
CustomField103 *string `url:"custom_field_103,omitempty"`
CustomField104 *string `url:"custom_field_104,omitempty"`
CustomField105 *string `url:"custom_field_105,omitempty"`
CustomField106 *string `url:"custom_field_106,omitempty"`
CustomField107 *string `url:"custom_field_107,omitempty"`
CustomField108 *string `url:"custom_field_108,omitempty"`
CustomField109 *string `url:"custom_field_109,omitempty"`
CustomField110 *string `url:"custom_field_110,omitempty"`
CustomField111 *string `url:"custom_field_111,omitempty"`
CustomField112 *string `url:"custom_field_112,omitempty"`
CustomField113 *string `url:"custom_field_113,omitempty"`
CustomField114 *string `url:"custom_field_114,omitempty"`
CustomField115 *string `url:"custom_field_115,omitempty"`
CustomField116 *string `url:"custom_field_116,omitempty"`
CustomField117 *string `url:"custom_field_117,omitempty"`
CustomField118 *string `url:"custom_field_118,omitempty"`
CustomField119 *string `url:"custom_field_119,omitempty"`
CustomField120 *string `url:"custom_field_120,omitempty"`
CustomField121 *string `url:"custom_field_121,omitempty"`
CustomField122 *string `url:"custom_field_122,omitempty"`
CustomField123 *string `url:"custom_field_123,omitempty"`
CustomField124 *string `url:"custom_field_124,omitempty"`
CustomField125 *string `url:"custom_field_125,omitempty"`
CustomField126 *string `url:"custom_field_126,omitempty"`
CustomField127 *string `url:"custom_field_127,omitempty"`
CustomField128 *string `url:"custom_field_128,omitempty"`
CustomField129 *string `url:"custom_field_129,omitempty"`
CustomField130 *string `url:"custom_field_130,omitempty"`
CustomField131 *string `url:"custom_field_131,omitempty"`
CustomField132 *string `url:"custom_field_132,omitempty"`
CustomField133 *string `url:"custom_field_133,omitempty"`
CustomField134 *string `url:"custom_field_134,omitempty"`
CustomField135 *string `url:"custom_field_135,omitempty"`
CustomField136 *string `url:"custom_field_136,omitempty"`
CustomField137 *string `url:"custom_field_137,omitempty"`
CustomField138 *string `url:"custom_field_138,omitempty"`
CustomField139 *string `url:"custom_field_139,omitempty"`
CustomField140 *string `url:"custom_field_140,omitempty"`
CustomField141 *string `url:"custom_field_141,omitempty"`
CustomField142 *string `url:"custom_field_142,omitempty"`
CustomField143 *string `url:"custom_field_143,omitempty"`
CustomField144 *string `url:"custom_field_144,omitempty"`
CustomField145 *string `url:"custom_field_145,omitempty"`
CustomField146 *string `url:"custom_field_146,omitempty"`
CustomField147 *string `url:"custom_field_147,omitempty"`
CustomField148 *string `url:"custom_field_148,omitempty"`
CustomField149 *string `url:"custom_field_149,omitempty"`
CustomField150 *string `url:"custom_field_150,omitempty"`
CustomPlanField1 *string `url:"custom_plan_field_1,omitempty"` // 自定义计划应用参数
CustomPlanField2 *string `url:"custom_plan_field_2,omitempty"`
CustomPlanField3 *string `url:"custom_plan_field_3,omitempty"`
CustomPlanField4 *string `url:"custom_plan_field_4,omitempty"`
CustomPlanField5 *string `url:"custom_plan_field_5,omitempty"`
CustomPlanField6 *string `url:"custom_plan_field_6,omitempty"`
CustomPlanField7 *string `url:"custom_plan_field_7,omitempty"`
CustomPlanField8 *string `url:"custom_plan_field_8,omitempty"`
CustomPlanField9 *string `url:"custom_plan_field_9,omitempty"`
CustomPlanField10 *string `url:"custom_plan_field_10,omitempty"`
}
GetBugsCountRequest 获取缺陷数量请求 获取缺陷数量
https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/bug/get_bugs_count.html
type GetBugsRequest ¶
type GetBugsRequest struct {
ID *Multi[int64] `url:"id,omitempty"` // ID 支持多ID查询
Title *string `url:"title,omitempty"` // 标题 支持模糊匹配
Priority *string `url:"priority,omitempty"` // 优先级。为了兼容自定义优先级,请使用 priority_label 字段,详情参考:如何兼容自定义优先级
PriorityLabel *PriorityLabel `url:"priority_label,omitempty"` // 优先级。推荐使用这个字段
Severity *Enum[BugSeverity] `url:"severity,omitempty"` // 严重程度 支持枚举查询
Status *Enum[string] `url:"status,omitempty"` // 状态 支持不等于查询、枚举查询
VStatus *string `url:"v_status,omitempty"` // 状态(支持传入中文状态名称)
Label *Enum[string] `url:"label,omitempty"` // 标签查询 支持枚举查询
IterationID *Enum[string] `url:"iteration_id,omitempty"` // 迭代 支持枚举查询
Module *Enum[string] `url:"module,omitempty"` // 模块 支持枚举查询
ReleaseID *int `url:"release_id,omitempty"` // 发布计划
VersionReport *Enum[string] `url:"version_report,omitempty"` // 发现版本 枚举查询
VersionTest *string `url:"version_test,omitempty"` // 验证版本
VersionFix *string `url:"version_fix,omitempty"` // 合入版本
VersionClose *string `url:"version_close,omitempty"` // 关闭版本
BaselineFind *string `url:"baseline_find,omitempty"` // 发现基线
BaselineJoin *string `url:"baseline_join,omitempty"` // 合入基线
BaselineTest *string `url:"baseline_test,omitempty"` // 验证基线
BaselineClose *string `url:"baseline_close,omitempty"` // 关闭基线
Feature *string `url:"feature,omitempty"` // 特性
CurrentOwner *string `url:"current_owner,omitempty"` // 处理人 支持模糊匹配
CC *string `url:"cc,omitempty"` // 抄送人
Reporter *Multi[string] `url:"reporter,omitempty"` // 创建人 支持多人员查询
Participator *Multi[string] `url:"participator,omitempty"` // 参与人 支持多人员查询
TE *string `url:"te,omitempty"` // 测试人员 支持模糊匹配
DE *string `url:"de,omitempty"` // 开发人员 支持模糊匹配
Auditer *string `url:"auditer,omitempty"` // 审核人
Confirmer *string `url:"confirmer,omitempty"` // 验证人
Fixer *string `url:"fixer,omitempty"` // 修复人
Closer *string `url:"closer,omitempty"` // 关闭人
LastModify *string `url:"lastmodify,omitempty"` // 最后修改人
Created *string `url:"created,omitempty"` // 创建时间 支持时间查询
InProgressTime *string `url:"in_progress_time,omitempty"` // 接受处理时间 支持时间查询
Resolved *string `url:"resolved,omitempty"` // 解决时间 支持时间查询
VerifyTime *string `url:"verify_time,omitempty"` // 验证时间 支持时间查询
Closed *string `url:"closed,omitempty"` // 关闭时间 支持时间查询
RejectTime *string `url:"reject_time,omitempty"` // 拒绝时间 支持时间查询
Modified *string `url:"modified,omitempty"` // 最后修改时间 支持时间查询
Begin *string `url:"begin,omitempty"` // 预计开始
Due *string `url:"due,omitempty"` // 预计结束
Deadline *string `url:"deadline,omitempty"` // 解决期限
OS *string `url:"os,omitempty"` // 操作系统
Platform *string `url:"platform,omitempty"` // 软件平台
TestMode *string `url:"testmode,omitempty"` // 测试方式
TestPhase *string `url:"testphase,omitempty"` // 测试阶段
TestType *string `url:"testtype,omitempty"` // 测试类型
Source *Enum[string] `url:"source,omitempty"` // 缺陷根源 支持枚举查询
BugType *string `url:"bugtype,omitempty"` // 缺陷类型
Frequency *Enum[string] `url:"frequency,omitempty"` // 重现规律 支持枚举查询
OriginPhase *string `url:"originphase,omitempty"` // 发现阶段
SourcePhase *string `url:"sourcephase,omitempty"` // 引入阶段
Resolution *Enum[string] `url:"resolution,omitempty"` // 解决方法 支持枚举查询
Estimate *int `url:"estimate,omitempty"` // 预计解决时间
Description *string `url:"description,omitempty"` // 详细描述 支持模糊匹配
WorkspaceID *int `url:"workspace_id,omitempty"` // 项目ID
CustomFieldOne *string `url:"custom_field_one,omitempty"` // 自定义字段参数,具体字段名通过接口 获取缺陷自定义字段配置 获取 支持枚举查询
CustomFieldTwo *string `url:"custom_field_two,omitempty"`
CustomFieldThree *string `url:"custom_field_three,omitempty"`
CustomFieldFour *string `url:"custom_field_four,omitempty"`
CustomFieldFive *string `url:"custom_field_five,omitempty"`
CustomField6 *string `url:"custom_field_6,omitempty"`
CustomField7 *string `url:"custom_field_7,omitempty"`
CustomField8 *string `url:"custom_field_8,omitempty"`
CustomField9 *string `url:"custom_field_9,omitempty"`
CustomField10 *string `url:"custom_field_10,omitempty"`
CustomField11 *string `url:"custom_field_11,omitempty"`
CustomField12 *string `url:"custom_field_12,omitempty"`
CustomField13 *string `url:"custom_field_13,omitempty"`
CustomField14 *string `url:"custom_field_14,omitempty"`
CustomField15 *string `url:"custom_field_15,omitempty"`
CustomField16 *string `url:"custom_field_16,omitempty"`
CustomField17 *string `url:"custom_field_17,omitempty"`
CustomField18 *string `url:"custom_field_18,omitempty"`
CustomField19 *string `url:"custom_field_19,omitempty"`
CustomField20 *string `url:"custom_field_20,omitempty"`
CustomField21 *string `url:"custom_field_21,omitempty"`
CustomField22 *string `url:"custom_field_22,omitempty"`
CustomField23 *string `url:"custom_field_23,omitempty"`
CustomField24 *string `url:"custom_field_24,omitempty"`
CustomField25 *string `url:"custom_field_25,omitempty"`
CustomField26 *string `url:"custom_field_26,omitempty"`
CustomField27 *string `url:"custom_field_27,omitempty"`
CustomField28 *string `url:"custom_field_28,omitempty"`
CustomField29 *string `url:"custom_field_29,omitempty"`
CustomField30 *string `url:"custom_field_30,omitempty"`
CustomField31 *string `url:"custom_field_31,omitempty"`
CustomField32 *string `url:"custom_field_32,omitempty"`
CustomField33 *string `url:"custom_field_33,omitempty"`
CustomField34 *string `url:"custom_field_34,omitempty"`
CustomField35 *string `url:"custom_field_35,omitempty"`
CustomField36 *string `url:"custom_field_36,omitempty"`
CustomField37 *string `url:"custom_field_37,omitempty"`
CustomField38 *string `url:"custom_field_38,omitempty"`
CustomField39 *string `url:"custom_field_39,omitempty"`
CustomField40 *string `url:"custom_field_40,omitempty"`
CustomField41 *string `url:"custom_field_41,omitempty"`
CustomField42 *string `url:"custom_field_42,omitempty"`
CustomField43 *string `url:"custom_field_43,omitempty"`
CustomField44 *string `url:"custom_field_44,omitempty"`
CustomField45 *string `url:"custom_field_45,omitempty"`
CustomField46 *string `url:"custom_field_46,omitempty"`
CustomField47 *string `url:"custom_field_47,omitempty"`
CustomField48 *string `url:"custom_field_48,omitempty"`
CustomField49 *string `url:"custom_field_49,omitempty"`
CustomField50 *string `url:"custom_field_50,omitempty"`
CustomField51 *string `url:"custom_field_51,omitempty"`
CustomField52 *string `url:"custom_field_52,omitempty"`
CustomField53 *string `url:"custom_field_53,omitempty"`
CustomField54 *string `url:"custom_field_54,omitempty"`
CustomField55 *string `url:"custom_field_55,omitempty"`
CustomField56 *string `url:"custom_field_56,omitempty"`
CustomField57 *string `url:"custom_field_57,omitempty"`
CustomField58 *string `url:"custom_field_58,omitempty"`
CustomField59 *string `url:"custom_field_59,omitempty"`
CustomField60 *string `url:"custom_field_60,omitempty"`
CustomField61 *string `url:"custom_field_61,omitempty"`
CustomField62 *string `url:"custom_field_62,omitempty"`
CustomField63 *string `url:"custom_field_63,omitempty"`
CustomField64 *string `url:"custom_field_64,omitempty"`
CustomField65 *string `url:"custom_field_65,omitempty"`
CustomField66 *string `url:"custom_field_66,omitempty"`
CustomField67 *string `url:"custom_field_67,omitempty"`
CustomField68 *string `url:"custom_field_68,omitempty"`
CustomField69 *string `url:"custom_field_69,omitempty"`
CustomField70 *string `url:"custom_field_70,omitempty"`
CustomField71 *string `url:"custom_field_71,omitempty"`
CustomField72 *string `url:"custom_field_72,omitempty"`
CustomField73 *string `url:"custom_field_73,omitempty"`
CustomField74 *string `url:"custom_field_74,omitempty"`
CustomField75 *string `url:"custom_field_75,omitempty"`
CustomField76 *string `url:"custom_field_76,omitempty"`
CustomField77 *string `url:"custom_field_77,omitempty"`
CustomField78 *string `url:"custom_field_78,omitempty"`
CustomField79 *string `url:"custom_field_79,omitempty"`
CustomField80 *string `url:"custom_field_80,omitempty"`
CustomField81 *string `url:"custom_field_81,omitempty"`
CustomField82 *string `url:"custom_field_82,omitempty"`
CustomField83 *string `url:"custom_field_83,omitempty"`
CustomField84 *string `url:"custom_field_84,omitempty"`
CustomField85 *string `url:"custom_field_85,omitempty"`
CustomField86 *string `url:"custom_field_86,omitempty"`
CustomField87 *string `url:"custom_field_87,omitempty"`
CustomField88 *string `url:"custom_field_88,omitempty"`
CustomField89 *string `url:"custom_field_89,omitempty"`
CustomField90 *string `url:"custom_field_90,omitempty"`
CustomField91 *string `url:"custom_field_91,omitempty"`
CustomField92 *string `url:"custom_field_92,omitempty"`
CustomField93 *string `url:"custom_field_93,omitempty"`
CustomField94 *string `url:"custom_field_94,omitempty"`
CustomField95 *string `url:"custom_field_95,omitempty"`
CustomField96 *string `url:"custom_field_96,omitempty"`
CustomField97 *string `url:"custom_field_97,omitempty"`
CustomField98 *string `url:"custom_field_98,omitempty"`
CustomField99 *string `url:"custom_field_99,omitempty"`
CustomField100 *string `url:"custom_field_100,omitempty"`
CustomField101 *string `url:"custom_field_101,omitempty"`
CustomField102 *string `url:"custom_field_102,omitempty"`
CustomField103 *string `url:"custom_field_103,omitempty"`
CustomField104 *string `url:"custom_field_104,omitempty"`
CustomField105 *string `url:"custom_field_105,omitempty"`
CustomField106 *string `url:"custom_field_106,omitempty"`
CustomField107 *string `url:"custom_field_107,omitempty"`
CustomField108 *string `url:"custom_field_108,omitempty"`
CustomField109 *string `url:"custom_field_109,omitempty"`
CustomField110 *string `url:"custom_field_110,omitempty"`
CustomField111 *string `url:"custom_field_111,omitempty"`
CustomField112 *string `url:"custom_field_112,omitempty"`
CustomField113 *string `url:"custom_field_113,omitempty"`
CustomField114 *string `url:"custom_field_114,omitempty"`
CustomField115 *string `url:"custom_field_115,omitempty"`
CustomField116 *string `url:"custom_field_116,omitempty"`
CustomField117 *string `url:"custom_field_117,omitempty"`
CustomField118 *string `url:"custom_field_118,omitempty"`
CustomField119 *string `url:"custom_field_119,omitempty"`
CustomField120 *string `url:"custom_field_120,omitempty"`
CustomField121 *string `url:"custom_field_121,omitempty"`
CustomField122 *string `url:"custom_field_122,omitempty"`
CustomField123 *string `url:"custom_field_123,omitempty"`
CustomField124 *string `url:"custom_field_124,omitempty"`
CustomField125 *string `url:"custom_field_125,omitempty"`
CustomField126 *string `url:"custom_field_126,omitempty"`
CustomField127 *string `url:"custom_field_127,omitempty"`
CustomField128 *string `url:"custom_field_128,omitempty"`
CustomField129 *string `url:"custom_field_129,omitempty"`
CustomField130 *string `url:"custom_field_130,omitempty"`
CustomField131 *string `url:"custom_field_131,omitempty"`
CustomField132 *string `url:"custom_field_132,omitempty"`
CustomField133 *string `url:"custom_field_133,omitempty"`
CustomField134 *string `url:"custom_field_134,omitempty"`
CustomField135 *string `url:"custom_field_135,omitempty"`
CustomField136 *string `url:"custom_field_136,omitempty"`
CustomField137 *string `url:"custom_field_137,omitempty"`
CustomField138 *string `url:"custom_field_138,omitempty"`
CustomField139 *string `url:"custom_field_139,omitempty"`
CustomField140 *string `url:"custom_field_140,omitempty"`
CustomField141 *string `url:"custom_field_141,omitempty"`
CustomField142 *string `url:"custom_field_142,omitempty"`
CustomField143 *string `url:"custom_field_143,omitempty"`
CustomField144 *string `url:"custom_field_144,omitempty"`
CustomField145 *string `url:"custom_field_145,omitempty"`
CustomField146 *string `url:"custom_field_146,omitempty"`
CustomField147 *string `url:"custom_field_147,omitempty"`
CustomField148 *string `url:"custom_field_148,omitempty"`
CustomField149 *string `url:"custom_field_149,omitempty"`
CustomField150 *string `url:"custom_field_150,omitempty"`
CustomPlanField1 *string `url:"custom_plan_field_1,omitempty"` // 自定义计划应用参数,具体字段名通过接口 获取自定义计划应用 获取
CustomPlanField2 *string `url:"custom_plan_field_2,omitempty"`
CustomPlanField3 *string `url:"custom_plan_field_3,omitempty"`
CustomPlanField4 *string `url:"custom_plan_field_4,omitempty"`
CustomPlanField5 *string `url:"custom_plan_field_5,omitempty"`
CustomPlanField6 *string `url:"custom_plan_field_6,omitempty"`
CustomPlanField7 *string `url:"custom_plan_field_7,omitempty"`
CustomPlanField8 *string `url:"custom_plan_field_8,omitempty"`
CustomPlanField9 *string `url:"custom_plan_field_9,omitempty"`
CustomPlanField10 *string `url:"custom_plan_field_10,omitempty"`
Limit *int `url:"limit,omitempty"` // 设置返回数量限制,默认为30
Page *int `url:"page,omitempty"` // 返回当前数量限制下第N页的数据,默认为1(第一页)
Order *Order `url:"order,omitempty"` // 排序规则,规则:字段名 ASC或者DESC,然后 urlencode 如按创建时间逆序:order=created%20desc
Fields *Multi[string] `url:"fields,omitempty"` // 设置获取的字段,多个字段间以','逗号隔开
}
type GetCodeCommitInfosRequest ¶ added in v0.17.0
type GetCodeCommitInfosRequest struct {
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]项目ID
Type *EntityType `url:"type,omitempty"` // [必须]TAPD业务对象类型,story、bug、task
ObjectID *int64 `url:"object_id,omitempty"` // [必须]TAPD业务对象ID
CommitTime *string `url:"commit_time,omitempty"` // 提交时间查询条件
RelatedType *CodeCommitRelatedType `url:"related_type,omitempty"` // 关联类型,all、branch、source_code
Limit *int `url:"limit,omitempty"` // 返回数量限制,默认30,最大200
Page *int `url:"page,omitempty"` // 当前页,默认1
}
type GetCommentsCountRequest ¶
type GetCommentsCountRequest struct {
ID *Multi[int64] `url:"id,omitempty"` // 评论ID 支持多ID查询
Title *string `url:"title,omitempty"` // 标题
Description *string `url:"description,omitempty"` // 内容
Author *string `url:"author,omitempty"` // 评论人
EntryType *CommentEntryType `url:"entry_type,omitempty"` // 评论类型(取值: bug、 bug_remark (流转缺陷时候的评论)、 stories、 tasks 。多个类型间以竖线隔开) 支持枚举查询
EntryID *int64 `url:"entry_id,omitempty"` // 评论所依附的业务对象实体id
Created *string `url:"created,omitempty"` // 创建时间 支持时间查询
Modified *string `url:"modified,omitempty"` // 最后更改时间 支持时间查询
WorkspaceID *int `url:"workspace_id,omitempty"` // 项目ID
RootID *int64 `url:"root_id,omitempty"` // 根评论ID
ReplyID *int64 `url:"reply_id,omitempty"` // 评论回复的ID
}
type GetCommentsRequest ¶
type GetCommentsRequest struct {
ID *Multi[int64] `url:"id,omitempty"` // 评论ID 支持多ID查询
Title *string `url:"title,omitempty"` // 标题
Description *string `url:"description,omitempty"` // 内容
Author *string `url:"author,omitempty"` // 评论人
EntryType *CommentEntryType `url:"entry_type,omitempty"` // 评论类型(取值: bug、 bug_remark (流转缺陷时候的评论)、 stories、 tasks 。多个类型间以竖线隔开) 支持枚举查询
EntryID *int64 `url:"entry_id,omitempty"` // 评论所依附的业务对象实体id
Created *string `url:"created,omitempty"` // 创建时间 支持时间查询
Modified *string `url:"modified,omitempty"` // 最后更改时间 支持时间查询
WorkspaceID *int `url:"workspace_id,omitempty"` // 项目ID
RootID *int64 `url:"root_id,omitempty"` // 根评论ID
ReplyID *int64 `url:"reply_id,omitempty"` // 评论回复的ID
Limit *int `url:"limit,omitempty"` // 设置返回数量限制,默认为30
Page *int `url:"page,omitempty"` // 返回当前数量限制下第N页的数据,默认为1(第一页)
Order *Order `url:"order,omitempty"` // 排序规则,规则:字段名 ASC或者DESC,然后 urlencode 如按创建时间逆序:order=created%20desc
Fields *Multi[string] `url:"fields,omitempty"` // 设置获取的字段,多个字段间以','逗号隔开
}
type GetCommitObjectsRequest ¶ added in v0.17.0
type GetCommitObjectsRequest struct {
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]项目ID
CommitID *Multi[string] `url:"commit_id,omitempty"` // [必须]提交ID,多个以逗号分隔
EntityType *EntityType `url:"entity_type,omitempty"` // [必须]业务对象类型,story、bug、task
SCMType *string `url:"scm_type,omitempty"` // 来源类型
Limit *int `url:"limit,omitempty"` // 返回数量限制,默认30,最大200
Page *int `url:"page,omitempty"` // 当前页,默认1
Order *Order `url:"order,omitempty"` // 排序规则
Fields *Multi[string] `url:"fields,omitempty"` // 返回字段,多个以逗号分隔
}
type GetCompanyWorkspacesRequest ¶ added in v0.17.0
type GetConvertBugIDsToQueryTokenRequest ¶ added in v0.17.0
type GetConvertBugIDsToQueryTokenResponse ¶ added in v0.17.0
type GetCustomWorkCalendarRequest ¶ added in v0.17.0
type GetIterationChangesRequest ¶ added in v0.17.0
type GetIterationChangesRequest struct {
ID *Multi[int64] `url:"id,omitempty"` // 变更记录ID,支持多ID查询
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]项目ID
IterationID *int64 `url:"iteration_id,omitempty"` // [必须]迭代ID
Author *string `url:"author,omitempty"` // 变更人
Field *string `url:"field,omitempty"` // 字段名称
OldValue *string `url:"old_value,omitempty"` // 变更前
NewValue *string `url:"new_value,omitempty"` // 变更后
Created *string `url:"created,omitempty"` // 创建时间,支持时间查询
Limit *int `url:"limit,omitempty"` // 设置返回数量限制,默认为30,最大取200
Page *int `url:"page,omitempty"` // 返回当前数量限制下第N页的数据,默认为1(第一页)
Fields *Multi[string] `url:"fields,omitempty"` // 设置获取的字段,多个字段间以','逗号隔开
}
type GetIterationCustomDashBoardContentRequest ¶ added in v0.17.0
type GetIterationCustomFieldsSettingsRequest ¶ added in v0.17.0
type GetIterationCustomFieldsSettingsRequest struct {
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]项目ID
}
type GetIterationDefaultTemplateFieldsRequest ¶ added in v0.17.0
type GetIterationTemplateFieldsRequest ¶ added in v0.17.0
type GetIterationTestPlansRequest ¶ added in v0.17.0
type GetIterationTestPlansRequest struct {
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]项目ID
IterationID *int64 `url:"iteration_id,omitempty"` // [必须]迭代ID
Limit *int `url:"limit,omitempty"` // 设置返回数量限制,默认为30
Page *int `url:"page,omitempty"` // 返回当前数量限制下第N页的数据,默认为1
Order *Order `url:"order,omitempty"` // 排序规则
}
type GetIterationsCountRequest ¶ added in v0.6.0
type GetIterationsCountRequest struct {
ID *Multi[int64] `url:"id,omitempty"` // ID 支持多ID查询
WorkspaceID *int `url:"workspace_id,omitempty"` // 项目 ID
Name *string `url:"name,omitempty"` // 标题 支持模糊匹配
Description *string `url:"description,omitempty"` // 详细描述
StartDate *string `url:"startdate,omitempty"` // 开始时间 支持时间查询
EndDate *string `url:"enddate,omitempty"` // 结束时间 支持时间查询
WorkitemTypeID *int `url:"workitem_type_id,omitempty"` // 迭代类别
PlanAppID *int `url:"plan_app_id,omitempty"` // 计划应用 ID
Status *string `url:"status,omitempty"` // 状态(系统状态 open/done,自定义状态可传中文)
Creator *string `url:"creator,omitempty"` // 创建人
Created *string `url:"created,omitempty"` // 创建时间 支持时间查询
Modified *string `url:"modified,omitempty"` // 最后修改时间 支持时间查询
Completed *string `url:"completed,omitempty"` // 完成时间
CustomField1 *string `url:"custom_field_1,omitempty"` // 自定义字段参数
CustomField2 *string `url:"custom_field_2,omitempty"` // 自定义字段参数
CustomField3 *string `url:"custom_field_3,omitempty"` // 自定义字段参数
CustomField4 *string `url:"custom_field_4,omitempty"` // 自定义字段参数
CustomField5 *string `url:"custom_field_5,omitempty"` // 自定义字段参数
CustomField6 *string `url:"custom_field_6,omitempty"` // 自定义字段参数
CustomField7 *string `url:"custom_field_7,omitempty"` // 自定义字段参数
CustomField8 *string `url:"custom_field_8,omitempty"` // 自定义字段参数
CustomField9 *string `url:"custom_field_9,omitempty"` // 自定义字段参数
CustomField10 *string `url:"custom_field_10,omitempty"` // 自定义字段参数
CustomField11 *string `url:"custom_field_11,omitempty"` // 自定义字段参数
CustomField12 *string `url:"custom_field_12,omitempty"` // 自定义字段参数
CustomField13 *string `url:"custom_field_13,omitempty"` // 自定义字段参数
CustomField14 *string `url:"custom_field_14,omitempty"` // 自定义字段参数
CustomField15 *string `url:"custom_field_15,omitempty"` // 自定义字段参数
CustomField16 *string `url:"custom_field_16,omitempty"` // 自定义字段参数
CustomField17 *string `url:"custom_field_17,omitempty"` // 自定义字段参数
CustomField18 *string `url:"custom_field_18,omitempty"` // 自定义字段参数
CustomField19 *string `url:"custom_field_19,omitempty"` // 自定义字段参数
CustomField20 *string `url:"custom_field_20,omitempty"` // 自定义字段参数
CustomField21 *string `url:"custom_field_21,omitempty"` // 自定义字段参数
CustomField22 *string `url:"custom_field_22,omitempty"` // 自定义字段参数
CustomField23 *string `url:"custom_field_23,omitempty"` // 自定义字段参数
CustomField24 *string `url:"custom_field_24,omitempty"` // 自定义字段参数
CustomField25 *string `url:"custom_field_25,omitempty"` // 自定义字段参数
CustomField26 *string `url:"custom_field_26,omitempty"` // 自定义字段参数
CustomField27 *string `url:"custom_field_27,omitempty"` // 自定义字段参数
CustomField28 *string `url:"custom_field_28,omitempty"` // 自定义字段参数
CustomField29 *string `url:"custom_field_29,omitempty"` // 自定义字段参数
CustomField30 *string `url:"custom_field_30,omitempty"` // 自定义字段参数
CustomField31 *string `url:"custom_field_31,omitempty"` // 自定义字段参数
CustomField32 *string `url:"custom_field_32,omitempty"` // 自定义字段参数
CustomField33 *string `url:"custom_field_33,omitempty"` // 自定义字段参数
CustomField34 *string `url:"custom_field_34,omitempty"` // 自定义字段参数
CustomField35 *string `url:"custom_field_35,omitempty"` // 自定义字段参数
CustomField36 *string `url:"custom_field_36,omitempty"` // 自定义字段参数
CustomField37 *string `url:"custom_field_37,omitempty"` // 自定义字段参数
CustomField38 *string `url:"custom_field_38,omitempty"` // 自定义字段参数
CustomField39 *string `url:"custom_field_39,omitempty"` // 自定义字段参数
CustomField40 *string `url:"custom_field_40,omitempty"` // 自定义字段参数
CustomField41 *string `url:"custom_field_41,omitempty"` // 自定义字段参数
CustomField42 *string `url:"custom_field_42,omitempty"` // 自定义字段参数
CustomField43 *string `url:"custom_field_43,omitempty"` // 自定义字段参数
CustomField44 *string `url:"custom_field_44,omitempty"` // 自定义字段参数
CustomField45 *string `url:"custom_field_45,omitempty"` // 自定义字段参数
CustomField46 *string `url:"custom_field_46,omitempty"` // 自定义字段参数
CustomField47 *string `url:"custom_field_47,omitempty"` // 自定义字段参数
CustomField48 *string `url:"custom_field_48,omitempty"` // 自定义字段参数
CustomField49 *string `url:"custom_field_49,omitempty"` // 自定义字段参数
CustomField50 *string `url:"custom_field_50,omitempty"` // 自定义字段参数
}
type GetIterationsRequest ¶ added in v0.6.0
type GetIterationsRequest struct {
ID *Multi[int64] `url:"id,omitempty"` // ID 支持多ID查询
Name *string `url:"name,omitempty"` // 标题 支持模糊匹配
WorkspaceID *int `url:"workspace_id,omitempty"` // 项目 ID
Description *string `url:"description,omitempty"` // 详细描述
StartDate *string `url:"startdate,omitempty"` // 开始时间 支持时间查询
EndDate *string `url:"enddate,omitempty"` // 结束时间 支持时间查询
WorkitemTypeID *int `url:"workitem_type_id,omitempty"` // 迭代类别
PlanAppID *int `url:"plan_app_id,omitempty"` // 计划应用 ID
Status *string `url:"status,omitempty"` // 状态(系统状态 open/done,自定义状态可传中文)
Creator *string `url:"creator,omitempty"` // 创建人
Created *string `url:"created,omitempty"` // 创建时间 支持时间查询
Modified *string `url:"modified,omitempty"` // 最后修改时间 支持时间查询
Completed *string `url:"completed,omitempty"` // 完成时间
CustomField1 *string `url:"custom_field_1,omitempty"` // 自定义字段参数
CustomField2 *string `url:"custom_field_2,omitempty"` // 自定义字段参数
CustomField3 *string `url:"custom_field_3,omitempty"` // 自定义字段参数
CustomField4 *string `url:"custom_field_4,omitempty"` // 自定义字段参数
CustomField5 *string `url:"custom_field_5,omitempty"` // 自定义字段参数
CustomField6 *string `url:"custom_field_6,omitempty"` // 自定义字段参数
CustomField7 *string `url:"custom_field_7,omitempty"` // 自定义字段参数
CustomField8 *string `url:"custom_field_8,omitempty"` // 自定义字段参数
CustomField9 *string `url:"custom_field_9,omitempty"` // 自定义字段参数
CustomField10 *string `url:"custom_field_10,omitempty"` // 自定义字段参数
CustomField11 *string `url:"custom_field_11,omitempty"` // 自定义字段参数
CustomField12 *string `url:"custom_field_12,omitempty"` // 自定义字段参数
CustomField13 *string `url:"custom_field_13,omitempty"` // 自定义字段参数
CustomField14 *string `url:"custom_field_14,omitempty"` // 自定义字段参数
CustomField15 *string `url:"custom_field_15,omitempty"` // 自定义字段参数
CustomField16 *string `url:"custom_field_16,omitempty"` // 自定义字段参数
CustomField17 *string `url:"custom_field_17,omitempty"` // 自定义字段参数
CustomField18 *string `url:"custom_field_18,omitempty"` // 自定义字段参数
CustomField19 *string `url:"custom_field_19,omitempty"` // 自定义字段参数
CustomField20 *string `url:"custom_field_20,omitempty"` // 自定义字段参数
CustomField21 *string `url:"custom_field_21,omitempty"` // 自定义字段参数
CustomField22 *string `url:"custom_field_22,omitempty"` // 自定义字段参数
CustomField23 *string `url:"custom_field_23,omitempty"` // 自定义字段参数
CustomField24 *string `url:"custom_field_24,omitempty"` // 自定义字段参数
CustomField25 *string `url:"custom_field_25,omitempty"` // 自定义字段参数
CustomField26 *string `url:"custom_field_26,omitempty"` // 自定义字段参数
CustomField27 *string `url:"custom_field_27,omitempty"` // 自定义字段参数
CustomField28 *string `url:"custom_field_28,omitempty"` // 自定义字段参数
CustomField29 *string `url:"custom_field_29,omitempty"` // 自定义字段参数
CustomField30 *string `url:"custom_field_30,omitempty"` // 自定义字段参数
CustomField31 *string `url:"custom_field_31,omitempty"` // 自定义字段参数
CustomField32 *string `url:"custom_field_32,omitempty"` // 自定义字段参数
CustomField33 *string `url:"custom_field_33,omitempty"` // 自定义字段参数
CustomField34 *string `url:"custom_field_34,omitempty"` // 自定义字段参数
CustomField35 *string `url:"custom_field_35,omitempty"` // 自定义字段参数
CustomField36 *string `url:"custom_field_36,omitempty"` // 自定义字段参数
CustomField37 *string `url:"custom_field_37,omitempty"` // 自定义字段参数
CustomField38 *string `url:"custom_field_38,omitempty"` // 自定义字段参数
CustomField39 *string `url:"custom_field_39,omitempty"` // 自定义字段参数
CustomField40 *string `url:"custom_field_40,omitempty"` // 自定义字段参数
CustomField41 *string `url:"custom_field_41,omitempty"` // 自定义字段参数
CustomField42 *string `url:"custom_field_42,omitempty"` // 自定义字段参数
CustomField43 *string `url:"custom_field_43,omitempty"` // 自定义字段参数
CustomField44 *string `url:"custom_field_44,omitempty"` // 自定义字段参数
CustomField45 *string `url:"custom_field_45,omitempty"` // 自定义字段参数
CustomField46 *string `url:"custom_field_46,omitempty"` // 自定义字段参数
CustomField47 *string `url:"custom_field_47,omitempty"` // 自定义字段参数
CustomField48 *string `url:"custom_field_48,omitempty"` // 自定义字段参数
CustomField49 *string `url:"custom_field_49,omitempty"` // 自定义字段参数
CustomField50 *string `url:"custom_field_50,omitempty"` // 自定义字段参数
Limit *int `url:"limit,omitempty"` // 设置返回数量限制,默认为 30
Page *int `url:"page,omitempty"` // 返回当前数量限制下第 N 页的数据,默认为 1(第一页)
Order *Order `url:"order,omitempty"` // 排序规则,规则:字段名 ASC 或者 DESC,然后 urlencode 如按创建时间逆序:order=created%20desc
Fields *Multi[string] `url:"fields,omitempty"` // 设置获取的字段,多个字段间以 ',' 逗号隔开
}
type GetLabelCountRequest ¶
type GetLabelCountRequest struct {
WorkspaceID *int `url:"workspace_id,omitempty"` // [必选]项目ID
ID *Multi[int] `url:"id,omitempty"` // [可选]id 支持多ID查询
Name *string `url:"name,omitempty"` // [可选]标签名称 支持模糊匹配
Creator *string `url:"creator,omitempty"` // [可选]创建人
Created *string `url:"created,omitempty"` // [可选]创建时间 支持时间查询
}
type GetLabelsRequest ¶
type GetLabelsRequest struct {
WorkspaceID *int `url:"workspace_id,omitempty"` // [必选]项目ID
ID *Multi[int] `url:"id,omitempty"` // [可选]id 支持多ID查询
Name *string `url:"name,omitempty"` // [可选]标签名称 支持模糊匹配
Creator *string `url:"creator,omitempty"` // [可选]创建人
Created *string `url:"created,omitempty"` // [可选]创建时间 支持时间查询
Limit *int `url:"limit,omitempty"` // [可选]设置返回数量限制,默认为30
Page *int `url:"page,omitempty"` // [可选]返回当前数量限制下第N页的数据,默认为1(第一页)
Order *Order `url:"order,omitempty"` // [可选]排序规则,规则:字段名 ASC或者DESC,然后 urlencode 如按创建时间逆序
}
type GetLaunchAccessoriesRequest ¶ added in v0.17.0
type GetLaunchAccessoriesRequest struct {
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]项目ID
FormID *int64 `url:"form_id,omitempty"` // [必须]评审单ID
ID *int64 `url:"id,omitempty"` // 评审依据ID
CreatedBy *string `url:"created_by,omitempty"` // 创建人
Created *string `url:"created,omitempty"` // 创建时间,支持时间查询
}
type GetLaunchFormActivityLogsRequest ¶ added in v0.17.0
type GetLaunchFormCustomFieldsSettingsRequest ¶ added in v0.17.0
type GetLaunchFormCustomFieldsSettingsRequest struct {
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]项目ID
}
type GetLaunchFormTemplatesRequest ¶ added in v0.17.0
type GetLaunchFormTemplatesRequest struct {
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]项目ID
}
type GetLaunchFormsCountRequest ¶ added in v0.17.0
type GetLaunchFormsCountRequest struct {
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]项目ID
ID *int64 `url:"id,omitempty"` // 发布评审ID
Creator *string `url:"creator,omitempty"` // 创建人
Created *string `url:"created,omitempty"` // 创建时间,支持时间查询
Title *string `url:"title,omitempty"` // 标题
Status *string `url:"status,omitempty"` // 状态
VersionType *string `url:"version_type,omitempty"` // 版本类型
Baseline *string `url:"baseline,omitempty"` // 基线
ReleaseModel *string `url:"release_model,omitempty"` // 发布模块
RoadmapVersion *string `url:"roadmap_version,omitempty"` // 路标版本
ReleaseType *string `url:"release_type,omitempty"` // 发布类型
ChangeType *string `url:"change_type,omitempty"` // 变更类型
SignedBy *string `url:"signed_by,omitempty"` // 签发人
ArchivedBy *string `url:"archived_by,omitempty"` // 发布确认人
CC *string `url:"cc,omitempty"` // 抄送人
ChangeNotifier *string `url:"change_notifier,omitempty"` // 变更通知人
Limit *int `url:"limit,omitempty"` // 设置返回数量限制,默认为30,最大取200
Page *int `url:"page,omitempty"` // 返回当前数量限制下第N页的数据,默认为1
Fields *Multi[string] `url:"fields,omitempty"` // 设置获取的字段,多个字段间以','逗号隔开
}
type GetLaunchFormsRequest ¶ added in v0.17.0
type GetLaunchFormsRequest struct {
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]项目ID
ID *int64 `url:"id,omitempty"` // 发布评审ID
Creator *string `url:"creator,omitempty"` // 创建人
Created *string `url:"created,omitempty"` // 创建时间,支持时间查询
Title *string `url:"title,omitempty"` // 标题
Status *string `url:"status,omitempty"` // 状态
VersionType *string `url:"version_type,omitempty"` // 版本类型
Baseline *string `url:"baseline,omitempty"` // 基线
ReleaseModel *string `url:"release_model,omitempty"` // 发布模块
RoadmapVersion *string `url:"roadmap_version,omitempty"` // 路标版本
ReleaseType *string `url:"release_type,omitempty"` // 发布类型
ChangeType *string `url:"change_type,omitempty"` // 变更类型
SignedBy *string `url:"signed_by,omitempty"` // 签发人
ArchivedBy *string `url:"archived_by,omitempty"` // 发布确认人
CC *string `url:"cc,omitempty"` // 抄送人
ChangeNotifier *string `url:"change_notifier,omitempty"` // 变更通知人
Limit *int `url:"limit,omitempty"` // 设置返回数量限制,默认为30,最大取200
Page *int `url:"page,omitempty"` // 返回当前数量限制下第N页的数据,默认为1
Fields *Multi[string] `url:"fields,omitempty"` // 设置获取的字段,多个字段间以','逗号隔开
}
type GetMemberActivityLogRequest ¶
type GetMemberActivityLogRequest struct {
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]项目 id 为公司id则查询所有项目
CompanyOnly *int `url:"company_only,omitempty"` // [可选]为1则仅返回公司级活动日志 要求workspace_id=公司id & company_only=1
Limit *int `url:"limit,omitempty"` // [可选]设置返回数量限制,默认为20
Page *int `url:"page,omitempty"` // [可选]返回当前数量限制下第N页的数据,默认为1(第一页)
StartTime *string `url:"start_time,omitempty"` // [可选]起始时间,精确到分钟,格式为Y-m-d H:i 只能查最近半年内的数据
EndTime *string `url:"end_time,omitempty"` // [可选]终止时间,精确到分钟,格式为Y-m-d H:i 只能查最近半年内的数据
Operator *string `url:"operator,omitempty"` // [可选]操作人昵称
OperateType *OperateType `url:"operate_type,omitempty"` // [可选]操作类型,默认为所有,可以填写add,delete,download,upload中的一个
OperatorObject *OperateObject `url:"operator_object,omitempty"` // [可选]操作对象,默认为所有,可以填写attachment,board,bug,document,iteration,launch,member_activity_log,release,story,task,tcase,testplan,wiki中的一个
IP *string `url:"ip,omitempty"` // [可选]请求IP条件,严格匹配
}
type GetMemberActivityLogResponse ¶
type GetMemberActivityLogResponse struct {
PerPage string `json:"perPage"`
TotalItems int `json:"totalItems"`
CurrentPage string `json:"currentPage"`
Records []*MemberActivityLog `json:"records"`
OperateTypes struct {
Add string `json:"add"`
Delete string `json:"delete"`
Upload string `json:"upload"`
Download string `json:"download"`
} `json:"operate_types"`
OperateObjects struct {
Board string `json:"board"`
Story string `json:"story"`
Bug string `json:"bug"`
Iteration string `json:"iteration"`
Wiki string `json:"wiki"`
Document string `json:"document"`
Attachment string `json:"attachment"`
Task string `json:"task"`
Tcase string `json:"tcase"`
Testplan string `json:"testplan"`
Launch string `json:"launch"`
Release string `json:"release"`
MemberActivityLog string `json:"member_activity_log"`
} `json:"operate_objects"`
}
type GetReleasesCountRequest ¶ added in v0.17.0
type GetReleasesCountRequest struct {
ID *Multi[int64] `url:"id,omitempty"` // id,支持多ID查询
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]项目ID
Name *string `url:"name,omitempty"` // 标题,支持模糊匹配
Description *string `url:"description,omitempty"` // 详细描述
StartDate *string `url:"startdate,omitempty"` // 开始时间
EndDate *string `url:"enddate,omitempty"` // 结束时间
Creator *string `url:"creator,omitempty"` // 创建人
Created *string `url:"created,omitempty"` // 创建时间,支持时间查询
Modified *string `url:"modified,omitempty"` // 最后修改时间,支持时间查询
Status *string `url:"status,omitempty"` // 状态
}
type GetReleasesRequest ¶ added in v0.17.0
type GetReleasesRequest struct {
ID *Multi[int64] `url:"id,omitempty"` // id,支持多ID查询
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]项目ID
Name *string `url:"name,omitempty"` // 标题,支持模糊匹配
Description *string `url:"description,omitempty"` // 详细描述
StartDate *string `url:"startdate,omitempty"` // 开始时间
EndDate *string `url:"enddate,omitempty"` // 结束时间
Creator *string `url:"creator,omitempty"` // 创建人
Created *string `url:"created,omitempty"` // 创建时间,支持时间查询
Modified *string `url:"modified,omitempty"` // 最后修改时间,支持时间查询
Status *string `url:"status,omitempty"` // 状态
Limit *int `url:"limit,omitempty"` // 设置返回数量限制,默认为30,最大取200
Page *int `url:"page,omitempty"` // 返回当前数量限制下第N页的数据,默认为1
Order *Order `url:"order,omitempty"` // 排序规则
Fields *Multi[string] `url:"fields,omitempty"` // 设置获取的字段,多个字段间以','逗号隔开
}
type GetRemovedBugsRequest ¶ added in v0.17.0
type GetRemovedBugsRequest struct {
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]项目ID
ID *Multi[int64] `url:"id,omitempty"` // 缺陷ID
Creator *string `url:"creator,omitempty"` // 创建人
Created *string `url:"created,omitempty"` // 创建时间
Modified *string `url:"modified,omitempty"` // 删除时间
IncludeAll *int `url:"include_all,omitempty"` // 取 1 会返回所有删除的缺陷,包括移动、合并、删除
Limit *int `url:"limit,omitempty"` // 设置返回数量限制,默认为30
Page *int `url:"page,omitempty"` // 返回当前数量限制下第N页的数据,默认为1(第一页)
}
type GetRemovedStoriesRequest ¶
type GetRemovedStoriesRequest struct {
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]项目ID
ID *Multi[int] `url:"id,omitempty"` // 需求ID
Creator *string `url:"creator,omitempty"` // 创建人
IsArchived *int `url:"is_archived,omitempty"` // 是否为归档。默认取 0,为不返回归档的需求。传 is_archived=1 参数则仅返回归档的需求
Created *string `url:"created,omitempty"` // 创建时间
Deleted *string `url:"deleted,omitempty"` // 删除时间
Limit *int `url:"limit,omitempty"` // 设置返回数量限制,默认为30
Page *int `url:"page,omitempty"` // 返回当前数量限制下第N页的数据,默认为1(第一页)
}
type GetRemovedTasksRequest ¶ added in v0.17.0
type GetRemovedTasksRequest struct {
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]项目ID
ID *Multi[int] `url:"id,omitempty"` // 任务ID
Creator *string `url:"creator,omitempty"` // 创建人
IsArchived *int `url:"is_archived,omitempty"` // 是否为归档。默认取 0,为不返回归档的任务。传 is_archived=1 参数则仅返回归档的任务
Created *string `url:"created,omitempty"` // 创建时间
Deleted *string `url:"deleted,omitempty"` // 删除时间
Limit *int `url:"limit,omitempty"` // 设置返回数量限制,默认为30
Page *int `url:"page,omitempty"` // 返回当前数量限制下第N页的数据,默认为1(第一页)
}
type GetReportsRequest ¶
type GetReportsRequest struct {
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]项目 ID
ID *int `url:"id,omitempty"` // ID
Title *string `url:"title,omitempty"` // 标题
Author *string `url:"author,omitempty"` // 创建人
Created *string `url:"created,omitempty"` // 创建时间
Limit *int `url:"limit,omitempty"` // 设置返回数量限制,默认为30
Page *int `url:"page,omitempty"` // 返回当前数量限制下第N页的数据,默认为1(第一页)
Fields *Multi[string] `url:"fields,omitempty"` // 设置获取的字段,多个字段间以','逗号隔开
}
type GetRolesRequest ¶
type GetRolesRequest struct {
WorkspaceID *int `url:"workspace_id,omitempty"` // 项目 ID
}
GetRolesRequest represents a request to get roles
type GetSecretStoriesCountRequest ¶ added in v0.17.0
type GetSecretStoriesCountRequest struct {
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]项目ID
}
type GetSecretStoriesRequest ¶ added in v0.17.0
type GetStoriesByViewConfIDRequest ¶ added in v0.17.0
type GetStoriesByViewConfIDRequest struct {
ViewConfID *int64 `url:"view_conf_id,omitempty"` // [必须]视图ID
CurrentUser *string `url:"current_user,omitempty"` // 当前登录用户视图
GetStoriesRequest
}
type GetStoriesCountRequest ¶
type GetStoriesCountRequest struct {
ID *Multi[int64] `url:"id,omitempty"` // ID 支持多ID查询,多个ID用逗号分隔
Name *string `url:"name,omitempty"` // 标题 支持模糊匹配
Priority *string `url:"priority,omitempty"` // 优先级。
PriorityLabel *PriorityLabel `url:"priority_label,omitempty"` // 优先级。推荐使用这个字段
BusinessValue *int `url:"business_value,omitempty"` // 业务价值
Status *string `url:"status,omitempty"` // 状态 支持枚举查询
VStatus *string `url:"v_status,omitempty"` // 状态(支持传入中文状态名称)
WithVStatus *string `url:"with_v_status,omitempty"` // 值=1可以返回中文状态
Label *string `url:"label,omitempty"` // 标签查询 支持枚举查询
WorkitemTypeID *string `url:"workitem_type_id,omitempty"` // 需求类别ID 支持枚举查询
Version *string `url:"version,omitempty"` // 版本
Module *string `url:"module,omitempty"` // 模块
Feature *string `url:"feature,omitempty"` // 特性
TestFocus *string `url:"test_focus,omitempty"` // 测试重点
Size *int `url:"size,omitempty"` // 规模
Owner *string `url:"owner,omitempty"` // 处理人 支持模糊匹配
CC *string `url:"cc,omitempty"` // 抄送人 支持模糊匹配
Creator *string `url:"creator,omitempty"` // 创建人 支持多人员查询
Developer *string `url:"developer,omitempty"` // 开发人员
Begin *string `url:"begin,omitempty"` // 预计开始 支持时间查询
Due *string `url:"due,omitempty"` // 预计结束 支持时间查询
Created *string `url:"created,omitempty"` // 创建时间 支持时间查询
Modified *string `url:"modified,omitempty"` // 最后修改时间 支持时间查询
Completed *string `url:"completed,omitempty"` // 完成时间 支持时间查询
IterationID *string `url:"iteration_id,omitempty"` // 迭代ID 支持不等于查询
Effort *string `url:"effort,omitempty"` // 预估工时
EffortCompleted *string `url:"effort_completed,omitempty"` // 完成工时
Remain *float64 `url:"remain,omitempty"` // 剩余工时
Exceed *float64 `url:"exceed,omitempty"` // 超出工时
CategoryID *string `url:"category_id,omitempty"` // 需求分类 支持枚举查询
ReleaseID *string `url:"release_id,omitempty"` // 发布计划
Source *string `url:"source,omitempty"` // 需求来源
Type *string `url:"type,omitempty"` // 需求类型
ParentID *string `url:"parent_id,omitempty"` // 父需求
ChildrenID *string `url:"children_id,omitempty"` // 子需求 为空查询传:丨
Description *string `url:"description,omitempty"` // 详细描述 支持模糊匹配
WorkspaceID *int `url:"workspace_id,omitempty"` // 项目ID
CustomFieldOne *string `url:"custom_field_one,omitempty"`
CustomFieldTwo *string `url:"custom_field_two,omitempty"`
CustomFieldThree *string `url:"custom_field_three,omitempty"`
CustomFieldFour *string `url:"custom_field_four,omitempty"`
CustomFieldFive *string `url:"custom_field_five,omitempty"`
CustomFieldSix *string `url:"custom_field_six,omitempty"`
CustomFieldSeven *string `url:"custom_field_seven,omitempty"`
CustomFieldEight *string `url:"custom_field_eight,omitempty"`
CustomField9 *string `url:"custom_field_9,omitempty"`
CustomField10 *string `url:"custom_field_10,omitempty"`
CustomField11 *string `url:"custom_field_11,omitempty"`
CustomField12 *string `url:"custom_field_12,omitempty"`
CustomField13 *string `url:"custom_field_13,omitempty"`
CustomField14 *string `url:"custom_field_14,omitempty"`
CustomField15 *string `url:"custom_field_15,omitempty"`
CustomField16 *string `url:"custom_field_16,omitempty"`
CustomField17 *string `url:"custom_field_17,omitempty"`
CustomField18 *string `url:"custom_field_18,omitempty"`
CustomField19 *string `url:"custom_field_19,omitempty"`
CustomField20 *string `url:"custom_field_20,omitempty"`
CustomField21 *string `url:"custom_field_21,omitempty"`
CustomField22 *string `url:"custom_field_22,omitempty"`
CustomField23 *string `url:"custom_field_23,omitempty"`
CustomField24 *string `url:"custom_field_24,omitempty"`
CustomField25 *string `url:"custom_field_25,omitempty"`
CustomField26 *string `url:"custom_field_26,omitempty"`
CustomField27 *string `url:"custom_field_27,omitempty"`
CustomField28 *string `url:"custom_field_28,omitempty"`
CustomField29 *string `url:"custom_field_29,omitempty"`
CustomField30 *string `url:"custom_field_30,omitempty"`
CustomField31 *string `url:"custom_field_31,omitempty"`
CustomField32 *string `url:"custom_field_32,omitempty"`
CustomField33 *string `url:"custom_field_33,omitempty"`
CustomField34 *string `url:"custom_field_34,omitempty"`
CustomField35 *string `url:"custom_field_35,omitempty"`
CustomField36 *string `url:"custom_field_36,omitempty"`
CustomField37 *string `url:"custom_field_37,omitempty"`
CustomField38 *string `url:"custom_field_38,omitempty"`
CustomField39 *string `url:"custom_field_39,omitempty"`
CustomField40 *string `url:"custom_field_40,omitempty"`
CustomField41 *string `url:"custom_field_41,omitempty"`
CustomField42 *string `url:"custom_field_42,omitempty"`
CustomField43 *string `url:"custom_field_43,omitempty"`
CustomField44 *string `url:"custom_field_44,omitempty"`
CustomField45 *string `url:"custom_field_45,omitempty"`
CustomField46 *string `url:"custom_field_46,omitempty"`
CustomField47 *string `url:"custom_field_47,omitempty"`
CustomField48 *string `url:"custom_field_48,omitempty"`
CustomField49 *string `url:"custom_field_49,omitempty"`
CustomField50 *string `url:"custom_field_50,omitempty"`
CustomField51 *string `url:"custom_field_51,omitempty"`
CustomField52 *string `url:"custom_field_52,omitempty"`
CustomField53 *string `url:"custom_field_53,omitempty"`
CustomField54 *string `url:"custom_field_54,omitempty"`
CustomField55 *string `url:"custom_field_55,omitempty"`
CustomField56 *string `url:"custom_field_56,omitempty"`
CustomField57 *string `url:"custom_field_57,omitempty"`
CustomField58 *string `url:"custom_field_58,omitempty"`
CustomField59 *string `url:"custom_field_59,omitempty"`
CustomField60 *string `url:"custom_field_60,omitempty"`
CustomField61 *string `url:"custom_field_61,omitempty"`
CustomField62 *string `url:"custom_field_62,omitempty"`
CustomField63 *string `url:"custom_field_63,omitempty"`
CustomField64 *string `url:"custom_field_64,omitempty"`
CustomField65 *string `url:"custom_field_65,omitempty"`
CustomField66 *string `url:"custom_field_66,omitempty"`
CustomField67 *string `url:"custom_field_67,omitempty"`
CustomField68 *string `url:"custom_field_68,omitempty"`
CustomField69 *string `url:"custom_field_69,omitempty"`
CustomField70 *string `url:"custom_field_70,omitempty"`
CustomField71 *string `url:"custom_field_71,omitempty"`
CustomField72 *string `url:"custom_field_72,omitempty"`
CustomField73 *string `url:"custom_field_73,omitempty"`
CustomField74 *string `url:"custom_field_74,omitempty"`
CustomField75 *string `url:"custom_field_75,omitempty"`
CustomField76 *string `url:"custom_field_76,omitempty"`
CustomField77 *string `url:"custom_field_77,omitempty"`
CustomField78 *string `url:"custom_field_78,omitempty"`
CustomField79 *string `url:"custom_field_79,omitempty"`
CustomField80 *string `url:"custom_field_80,omitempty"`
CustomField81 *string `url:"custom_field_81,omitempty"`
CustomField82 *string `url:"custom_field_82,omitempty"`
CustomField83 *string `url:"custom_field_83,omitempty"`
CustomField84 *string `url:"custom_field_84,omitempty"`
CustomField85 *string `url:"custom_field_85,omitempty"`
CustomField86 *string `url:"custom_field_86,omitempty"`
CustomField87 *string `url:"custom_field_87,omitempty"`
CustomField88 *string `url:"custom_field_88,omitempty"`
CustomField89 *string `url:"custom_field_89,omitempty"`
CustomField90 *string `url:"custom_field_90,omitempty"`
CustomField91 *string `url:"custom_field_91,omitempty"`
CustomField92 *string `url:"custom_field_92,omitempty"`
CustomField93 *string `url:"custom_field_93,omitempty"`
CustomField94 *string `url:"custom_field_94,omitempty"`
CustomField95 *string `url:"custom_field_95,omitempty"`
CustomField96 *string `url:"custom_field_96,omitempty"`
CustomField97 *string `url:"custom_field_97,omitempty"`
CustomField98 *string `url:"custom_field_98,omitempty"`
CustomField99 *string `url:"custom_field_99,omitempty"`
CustomField100 *string `url:"custom_field_100,omitempty"`
CustomField101 *string `url:"custom_field_101,omitempty"`
CustomField102 *string `url:"custom_field_102,omitempty"`
CustomField103 *string `url:"custom_field_103,omitempty"`
CustomField104 *string `url:"custom_field_104,omitempty"`
CustomField105 *string `url:"custom_field_105,omitempty"`
CustomField106 *string `url:"custom_field_106,omitempty"`
CustomField107 *string `url:"custom_field_107,omitempty"`
CustomField108 *string `url:"custom_field_108,omitempty"`
CustomField109 *string `url:"custom_field_109,omitempty"`
CustomField110 *string `url:"custom_field_110,omitempty"`
CustomField111 *string `url:"custom_field_111,omitempty"`
CustomField112 *string `url:"custom_field_112,omitempty"`
CustomField113 *string `url:"custom_field_113,omitempty"`
CustomField114 *string `url:"custom_field_114,omitempty"`
CustomField115 *string `url:"custom_field_115,omitempty"`
CustomField116 *string `url:"custom_field_116,omitempty"`
CustomField117 *string `url:"custom_field_117,omitempty"`
CustomField118 *string `url:"custom_field_118,omitempty"`
CustomField119 *string `url:"custom_field_119,omitempty"`
CustomField120 *string `url:"custom_field_120,omitempty"`
CustomField121 *string `url:"custom_field_121,omitempty"`
CustomField122 *string `url:"custom_field_122,omitempty"`
CustomField123 *string `url:"custom_field_123,omitempty"`
CustomField124 *string `url:"custom_field_124,omitempty"`
CustomField125 *string `url:"custom_field_125,omitempty"`
CustomField126 *string `url:"custom_field_126,omitempty"`
CustomField127 *string `url:"custom_field_127,omitempty"`
CustomField128 *string `url:"custom_field_128,omitempty"`
CustomField129 *string `url:"custom_field_129,omitempty"`
CustomField130 *string `url:"custom_field_130,omitempty"`
CustomField131 *string `url:"custom_field_131,omitempty"`
CustomField132 *string `url:"custom_field_132,omitempty"`
CustomField133 *string `url:"custom_field_133,omitempty"`
CustomField134 *string `url:"custom_field_134,omitempty"`
CustomField135 *string `url:"custom_field_135,omitempty"`
CustomField136 *string `url:"custom_field_136,omitempty"`
CustomField137 *string `url:"custom_field_137,omitempty"`
CustomField138 *string `url:"custom_field_138,omitempty"`
CustomField139 *string `url:"custom_field_139,omitempty"`
CustomField140 *string `url:"custom_field_140,omitempty"`
CustomField141 *string `url:"custom_field_141,omitempty"`
CustomField142 *string `url:"custom_field_142,omitempty"`
CustomField143 *string `url:"custom_field_143,omitempty"`
CustomField144 *string `url:"custom_field_144,omitempty"`
CustomField145 *string `url:"custom_field_145,omitempty"`
CustomField146 *string `url:"custom_field_146,omitempty"`
CustomField147 *string `url:"custom_field_147,omitempty"`
CustomField148 *string `url:"custom_field_148,omitempty"`
CustomField149 *string `url:"custom_field_149,omitempty"`
CustomField150 *string `url:"custom_field_150,omitempty"`
CustomField151 *string `url:"custom_field_151,omitempty"`
CustomField152 *string `url:"custom_field_152,omitempty"`
CustomField153 *string `url:"custom_field_153,omitempty"`
CustomField154 *string `url:"custom_field_154,omitempty"`
CustomField155 *string `url:"custom_field_155,omitempty"`
CustomField156 *string `url:"custom_field_156,omitempty"`
CustomField157 *string `url:"custom_field_157,omitempty"`
CustomField158 *string `url:"custom_field_158,omitempty"`
CustomField159 *string `url:"custom_field_159,omitempty"`
CustomField160 *string `url:"custom_field_160,omitempty"`
CustomField161 *string `url:"custom_field_161,omitempty"`
CustomField162 *string `url:"custom_field_162,omitempty"`
CustomField163 *string `url:"custom_field_163,omitempty"`
CustomField164 *string `url:"custom_field_164,omitempty"`
CustomField165 *string `url:"custom_field_165,omitempty"`
CustomField166 *string `url:"custom_field_166,omitempty"`
CustomField167 *string `url:"custom_field_167,omitempty"`
CustomField168 *string `url:"custom_field_168,omitempty"`
CustomField169 *string `url:"custom_field_169,omitempty"`
CustomField170 *string `url:"custom_field_170,omitempty"`
CustomField171 *string `url:"custom_field_171,omitempty"`
CustomField172 *string `url:"custom_field_172,omitempty"`
CustomField173 *string `url:"custom_field_173,omitempty"`
CustomField174 *string `url:"custom_field_174,omitempty"`
CustomField175 *string `url:"custom_field_175,omitempty"`
CustomField176 *string `url:"custom_field_176,omitempty"`
CustomField177 *string `url:"custom_field_177,omitempty"`
CustomField178 *string `url:"custom_field_178,omitempty"`
CustomField179 *string `url:"custom_field_179,omitempty"`
CustomField180 *string `url:"custom_field_180,omitempty"`
CustomField181 *string `url:"custom_field_181,omitempty"`
CustomField182 *string `url:"custom_field_182,omitempty"`
CustomField183 *string `url:"custom_field_183,omitempty"`
CustomField184 *string `url:"custom_field_184,omitempty"`
CustomField185 *string `url:"custom_field_185,omitempty"`
CustomField186 *string `url:"custom_field_186,omitempty"`
CustomField187 *string `url:"custom_field_187,omitempty"`
CustomField188 *string `url:"custom_field_188,omitempty"`
CustomField189 *string `url:"custom_field_189,omitempty"`
CustomField190 *string `url:"custom_field_190,omitempty"`
CustomField191 *string `url:"custom_field_191,omitempty"`
CustomField192 *string `url:"custom_field_192,omitempty"`
CustomField193 *string `url:"custom_field_193,omitempty"`
CustomField194 *string `url:"custom_field_194,omitempty"`
CustomField195 *string `url:"custom_field_195,omitempty"`
CustomField196 *string `url:"custom_field_196,omitempty"`
CustomField197 *string `url:"custom_field_197,omitempty"`
CustomField198 *string `url:"custom_field_198,omitempty"`
CustomField199 *string `url:"custom_field_199,omitempty"`
CustomField200 *string `url:"custom_field_200,omitempty"`
CustomPlanField1 *string `url:"custom_plan_field_1,omitempty"`
CustomPlanField2 *string `url:"custom_plan_field_2,omitempty"`
CustomPlanField3 *string `url:"custom_plan_field_3,omitempty"`
CustomPlanField4 *string `url:"custom_plan_field_4,omitempty"`
CustomPlanField5 *string `url:"custom_plan_field_5,omitempty"`
CustomPlanField6 *string `url:"custom_plan_field_6,omitempty"`
CustomPlanField7 *string `url:"custom_plan_field_7,omitempty"`
CustomPlanField8 *string `url:"custom_plan_field_8,omitempty"`
CustomPlanField9 *string `url:"custom_plan_field_9,omitempty"`
CustomPlanField10 *string `url:"custom_plan_field_10,omitempty"`
}
type GetStoriesRequest ¶
type GetStoriesRequest struct {
ID *Multi[int64] `url:"id,omitempty"` // ID 支持多ID查询,多个ID用逗号分隔
Name *string `url:"name,omitempty"` // 标题 支持模糊匹配
Priority *string `url:"priority,omitempty"` // 优先级
PriorityLabel *PriorityLabel `url:"priority_label,omitempty"` // 优先级。推荐使用这个字段
BusinessValue *int `url:"business_value,omitempty"` // 业务价值
Status *Enum[StoryStatus] `url:"status,omitempty"` // 状态 支持枚举查询
VStatus *string `url:"v_status,omitempty"` // 状态(支持传入中文状态名称)
WithVStatus *string `url:"with_v_status,omitempty"` // 值=1可以返回中文状态
Label *string `url:"label,omitempty"` // 标签查询 支持枚举查询
WorkitemTypeID *string `url:"workitem_type_id,omitempty"` // 需求类别ID 支持枚举查询
Version *string `url:"version,omitempty"` // 版本
Module *string `url:"module,omitempty"` // 模块
Feature *string `url:"feature,omitempty"` // 特性
TestFocus *string `url:"test_focus,omitempty"` // 测试重点
Size *int `url:"size,omitempty"` // 规模
Owner *string `url:"owner,omitempty"` // 处理人 支持模糊匹配
CC *string `url:"cc,omitempty"` // 抄送人 支持模糊匹配
Creator *string `url:"creator,omitempty"` // 创建人 支持多人员查询
Developer *string `url:"developer,omitempty"` // 开发人员
Begin *string `url:"begin,omitempty"` // 预计开始 支持时间查询
Due *string `url:"due,omitempty"` // 预计结束 支持时间查询
Created *string `url:"created,omitempty"` // 创建时间 支持时间查询
Modified *string `url:"modified,omitempty"` // 最后修改时间 支持时间查询
Completed *string `url:"completed,omitempty"` // 完成时间 支持时间查询
IterationID *string `url:"iteration_id,omitempty"` // 迭代ID 支持不等于查询
Effort *string `url:"effort,omitempty"` // 预估工时
EffortCompleted *string `url:"effort_completed,omitempty"` // 完成工时
Remain *float64 `url:"remain,omitempty"` // 剩余工时
Exceed *float64 `url:"exceed,omitempty"` // 超出工时
CategoryID *string `url:"category_id,omitempty"` // 需求分类 支持枚举查询
ReleaseID *string `url:"release_id,omitempty"` // 发布计划
Source *string `url:"source,omitempty"` // 需求来源
Type *string `url:"type,omitempty"` // 需求类型
ParentID *string `url:"parent_id,omitempty"` // 父需求
ChildrenID *string `url:"children_id,omitempty"` // 子需求 为空查询传:丨
Description *string `url:"description,omitempty"` // 详细描述 支持模糊匹配
WorkspaceID *int `url:"workspace_id,omitempty"` // 项目ID
Limit *int `url:"limit,omitempty"` // 设置返回数量限制,默认为30
Page *int `url:"page,omitempty"` // 返回当前数量限制下第N页的数据,默认为1(第一页)
Order *Order `url:"order,omitempty"` // 排序规则,规则:字段名 ASC或者DESC
Fields *Multi[string] `url:"fields,omitempty"` // 设置获取的字段,多个字段间以','逗号隔开
CustomFieldOne *string `url:"custom_field_one,omitempty"`
CustomFieldTwo *string `url:"custom_field_two,omitempty"`
CustomFieldThree *string `url:"custom_field_three,omitempty"`
CustomFieldFour *string `url:"custom_field_four,omitempty"`
CustomFieldFive *string `url:"custom_field_five,omitempty"`
CustomFieldSix *string `url:"custom_field_six,omitempty"`
CustomFieldSeven *string `url:"custom_field_seven,omitempty"`
CustomFieldEight *string `url:"custom_field_eight,omitempty"`
CustomField9 *string `url:"custom_field_9,omitempty"`
CustomField10 *string `url:"custom_field_10,omitempty"`
CustomField11 *string `url:"custom_field_11,omitempty"`
CustomField12 *string `url:"custom_field_12,omitempty"`
CustomField13 *string `url:"custom_field_13,omitempty"`
CustomField14 *string `url:"custom_field_14,omitempty"`
CustomField15 *string `url:"custom_field_15,omitempty"`
CustomField16 *string `url:"custom_field_16,omitempty"`
CustomField17 *string `url:"custom_field_17,omitempty"`
CustomField18 *string `url:"custom_field_18,omitempty"`
CustomField19 *string `url:"custom_field_19,omitempty"`
CustomField20 *string `url:"custom_field_20,omitempty"`
CustomField21 *string `url:"custom_field_21,omitempty"`
CustomField22 *string `url:"custom_field_22,omitempty"`
CustomField23 *string `url:"custom_field_23,omitempty"`
CustomField24 *string `url:"custom_field_24,omitempty"`
CustomField25 *string `url:"custom_field_25,omitempty"`
CustomField26 *string `url:"custom_field_26,omitempty"`
CustomField27 *string `url:"custom_field_27,omitempty"`
CustomField28 *string `url:"custom_field_28,omitempty"`
CustomField29 *string `url:"custom_field_29,omitempty"`
CustomField30 *string `url:"custom_field_30,omitempty"`
CustomField31 *string `url:"custom_field_31,omitempty"`
CustomField32 *string `url:"custom_field_32,omitempty"`
CustomField33 *string `url:"custom_field_33,omitempty"`
CustomField34 *string `url:"custom_field_34,omitempty"`
CustomField35 *string `url:"custom_field_35,omitempty"`
CustomField36 *string `url:"custom_field_36,omitempty"`
CustomField37 *string `url:"custom_field_37,omitempty"`
CustomField38 *string `url:"custom_field_38,omitempty"`
CustomField39 *string `url:"custom_field_39,omitempty"`
CustomField40 *string `url:"custom_field_40,omitempty"`
CustomField41 *string `url:"custom_field_41,omitempty"`
CustomField42 *string `url:"custom_field_42,omitempty"`
CustomField43 *string `url:"custom_field_43,omitempty"`
CustomField44 *string `url:"custom_field_44,omitempty"`
CustomField45 *string `url:"custom_field_45,omitempty"`
CustomField46 *string `url:"custom_field_46,omitempty"`
CustomField47 *string `url:"custom_field_47,omitempty"`
CustomField48 *string `url:"custom_field_48,omitempty"`
CustomField49 *string `url:"custom_field_49,omitempty"`
CustomField50 *string `url:"custom_field_50,omitempty"`
CustomField51 *string `url:"custom_field_51,omitempty"`
CustomField52 *string `url:"custom_field_52,omitempty"`
CustomField53 *string `url:"custom_field_53,omitempty"`
CustomField54 *string `url:"custom_field_54,omitempty"`
CustomField55 *string `url:"custom_field_55,omitempty"`
CustomField56 *string `url:"custom_field_56,omitempty"`
CustomField57 *string `url:"custom_field_57,omitempty"`
CustomField58 *string `url:"custom_field_58,omitempty"`
CustomField59 *string `url:"custom_field_59,omitempty"`
CustomField60 *string `url:"custom_field_60,omitempty"`
CustomField61 *string `url:"custom_field_61,omitempty"`
CustomField62 *string `url:"custom_field_62,omitempty"`
CustomField63 *string `url:"custom_field_63,omitempty"`
CustomField64 *string `url:"custom_field_64,omitempty"`
CustomField65 *string `url:"custom_field_65,omitempty"`
CustomField66 *string `url:"custom_field_66,omitempty"`
CustomField67 *string `url:"custom_field_67,omitempty"`
CustomField68 *string `url:"custom_field_68,omitempty"`
CustomField69 *string `url:"custom_field_69,omitempty"`
CustomField70 *string `url:"custom_field_70,omitempty"`
CustomField71 *string `url:"custom_field_71,omitempty"`
CustomField72 *string `url:"custom_field_72,omitempty"`
CustomField73 *string `url:"custom_field_73,omitempty"`
CustomField74 *string `url:"custom_field_74,omitempty"`
CustomField75 *string `url:"custom_field_75,omitempty"`
CustomField76 *string `url:"custom_field_76,omitempty"`
CustomField77 *string `url:"custom_field_77,omitempty"`
CustomField78 *string `url:"custom_field_78,omitempty"`
CustomField79 *string `url:"custom_field_79,omitempty"`
CustomField80 *string `url:"custom_field_80,omitempty"`
CustomField81 *string `url:"custom_field_81,omitempty"`
CustomField82 *string `url:"custom_field_82,omitempty"`
CustomField83 *string `url:"custom_field_83,omitempty"`
CustomField84 *string `url:"custom_field_84,omitempty"`
CustomField85 *string `url:"custom_field_85,omitempty"`
CustomField86 *string `url:"custom_field_86,omitempty"`
CustomField87 *string `url:"custom_field_87,omitempty"`
CustomField88 *string `url:"custom_field_88,omitempty"`
CustomField89 *string `url:"custom_field_89,omitempty"`
CustomField90 *string `url:"custom_field_90,omitempty"`
CustomField91 *string `url:"custom_field_91,omitempty"`
CustomField92 *string `url:"custom_field_92,omitempty"`
CustomField93 *string `url:"custom_field_93,omitempty"`
CustomField94 *string `url:"custom_field_94,omitempty"`
CustomField95 *string `url:"custom_field_95,omitempty"`
CustomField96 *string `url:"custom_field_96,omitempty"`
CustomField97 *string `url:"custom_field_97,omitempty"`
CustomField98 *string `url:"custom_field_98,omitempty"`
CustomField99 *string `url:"custom_field_99,omitempty"`
CustomField100 *string `url:"custom_field_100,omitempty"`
CustomField101 *string `url:"custom_field_101,omitempty"`
CustomField102 *string `url:"custom_field_102,omitempty"`
CustomField103 *string `url:"custom_field_103,omitempty"`
CustomField104 *string `url:"custom_field_104,omitempty"`
CustomField105 *string `url:"custom_field_105,omitempty"`
CustomField106 *string `url:"custom_field_106,omitempty"`
CustomField107 *string `url:"custom_field_107,omitempty"`
CustomField108 *string `url:"custom_field_108,omitempty"`
CustomField109 *string `url:"custom_field_109,omitempty"`
CustomField110 *string `url:"custom_field_110,omitempty"`
CustomField111 *string `url:"custom_field_111,omitempty"`
CustomField112 *string `url:"custom_field_112,omitempty"`
CustomField113 *string `url:"custom_field_113,omitempty"`
CustomField114 *string `url:"custom_field_114,omitempty"`
CustomField115 *string `url:"custom_field_115,omitempty"`
CustomField116 *string `url:"custom_field_116,omitempty"`
CustomField117 *string `url:"custom_field_117,omitempty"`
CustomField118 *string `url:"custom_field_118,omitempty"`
CustomField119 *string `url:"custom_field_119,omitempty"`
CustomField120 *string `url:"custom_field_120,omitempty"`
CustomField121 *string `url:"custom_field_121,omitempty"`
CustomField122 *string `url:"custom_field_122,omitempty"`
CustomField123 *string `url:"custom_field_123,omitempty"`
CustomField124 *string `url:"custom_field_124,omitempty"`
CustomField125 *string `url:"custom_field_125,omitempty"`
CustomField126 *string `url:"custom_field_126,omitempty"`
CustomField127 *string `url:"custom_field_127,omitempty"`
CustomField128 *string `url:"custom_field_128,omitempty"`
CustomField129 *string `url:"custom_field_129,omitempty"`
CustomField130 *string `url:"custom_field_130,omitempty"`
CustomField131 *string `url:"custom_field_131,omitempty"`
CustomField132 *string `url:"custom_field_132,omitempty"`
CustomField133 *string `url:"custom_field_133,omitempty"`
CustomField134 *string `url:"custom_field_134,omitempty"`
CustomField135 *string `url:"custom_field_135,omitempty"`
CustomField136 *string `url:"custom_field_136,omitempty"`
CustomField137 *string `url:"custom_field_137,omitempty"`
CustomField138 *string `url:"custom_field_138,omitempty"`
CustomField139 *string `url:"custom_field_139,omitempty"`
CustomField140 *string `url:"custom_field_140,omitempty"`
CustomField141 *string `url:"custom_field_141,omitempty"`
CustomField142 *string `url:"custom_field_142,omitempty"`
CustomField143 *string `url:"custom_field_143,omitempty"`
CustomField144 *string `url:"custom_field_144,omitempty"`
CustomField145 *string `url:"custom_field_145,omitempty"`
CustomField146 *string `url:"custom_field_146,omitempty"`
CustomField147 *string `url:"custom_field_147,omitempty"`
CustomField148 *string `url:"custom_field_148,omitempty"`
CustomField149 *string `url:"custom_field_149,omitempty"`
CustomField150 *string `url:"custom_field_150,omitempty"`
CustomField151 *string `url:"custom_field_151,omitempty"`
CustomField152 *string `url:"custom_field_152,omitempty"`
CustomField153 *string `url:"custom_field_153,omitempty"`
CustomField154 *string `url:"custom_field_154,omitempty"`
CustomField155 *string `url:"custom_field_155,omitempty"`
CustomField156 *string `url:"custom_field_156,omitempty"`
CustomField157 *string `url:"custom_field_157,omitempty"`
CustomField158 *string `url:"custom_field_158,omitempty"`
CustomField159 *string `url:"custom_field_159,omitempty"`
CustomField160 *string `url:"custom_field_160,omitempty"`
CustomField161 *string `url:"custom_field_161,omitempty"`
CustomField162 *string `url:"custom_field_162,omitempty"`
CustomField163 *string `url:"custom_field_163,omitempty"`
CustomField164 *string `url:"custom_field_164,omitempty"`
CustomField165 *string `url:"custom_field_165,omitempty"`
CustomField166 *string `url:"custom_field_166,omitempty"`
CustomField167 *string `url:"custom_field_167,omitempty"`
CustomField168 *string `url:"custom_field_168,omitempty"`
CustomField169 *string `url:"custom_field_169,omitempty"`
CustomField170 *string `url:"custom_field_170,omitempty"`
CustomField171 *string `url:"custom_field_171,omitempty"`
CustomField172 *string `url:"custom_field_172,omitempty"`
CustomField173 *string `url:"custom_field_173,omitempty"`
CustomField174 *string `url:"custom_field_174,omitempty"`
CustomField175 *string `url:"custom_field_175,omitempty"`
CustomField176 *string `url:"custom_field_176,omitempty"`
CustomField177 *string `url:"custom_field_177,omitempty"`
CustomField178 *string `url:"custom_field_178,omitempty"`
CustomField179 *string `url:"custom_field_179,omitempty"`
CustomField180 *string `url:"custom_field_180,omitempty"`
CustomField181 *string `url:"custom_field_181,omitempty"`
CustomField182 *string `url:"custom_field_182,omitempty"`
CustomField183 *string `url:"custom_field_183,omitempty"`
CustomField184 *string `url:"custom_field_184,omitempty"`
CustomField185 *string `url:"custom_field_185,omitempty"`
CustomField186 *string `url:"custom_field_186,omitempty"`
CustomField187 *string `url:"custom_field_187,omitempty"`
CustomField188 *string `url:"custom_field_188,omitempty"`
CustomField189 *string `url:"custom_field_189,omitempty"`
CustomField190 *string `url:"custom_field_190,omitempty"`
CustomField191 *string `url:"custom_field_191,omitempty"`
CustomField192 *string `url:"custom_field_192,omitempty"`
CustomField193 *string `url:"custom_field_193,omitempty"`
CustomField194 *string `url:"custom_field_194,omitempty"`
CustomField195 *string `url:"custom_field_195,omitempty"`
CustomField196 *string `url:"custom_field_196,omitempty"`
CustomField197 *string `url:"custom_field_197,omitempty"`
CustomField198 *string `url:"custom_field_198,omitempty"`
CustomField199 *string `url:"custom_field_199,omitempty"`
CustomField200 *string `url:"custom_field_200,omitempty"`
CustomPlanField1 *string `url:"custom_plan_field_1,omitempty"`
CustomPlanField2 *string `url:"custom_plan_field_2,omitempty"`
CustomPlanField3 *string `url:"custom_plan_field_3,omitempty"`
CustomPlanField4 *string `url:"custom_plan_field_4,omitempty"`
CustomPlanField5 *string `url:"custom_plan_field_5,omitempty"`
CustomPlanField6 *string `url:"custom_plan_field_6,omitempty"`
CustomPlanField7 *string `url:"custom_plan_field_7,omitempty"`
CustomPlanField8 *string `url:"custom_plan_field_8,omitempty"`
CustomPlanField9 *string `url:"custom_plan_field_9,omitempty"`
CustomPlanField10 *string `url:"custom_plan_field_10,omitempty"`
}
type GetStoryCategoriesCountRequest ¶
type GetStoryCategoriesCountRequest struct {
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]项目ID
ID *Multi[int64] `url:"id,omitempty"` // ID 支持多ID查询,多个ID用逗号分隔
Name *string `url:"name,omitempty"` // 需求分类名称 支持模糊匹配
Description *string `url:"description,omitempty"` // 需求分类描述
ParentID *int `url:"parent_id,omitempty"` // 父分类ID
Created *string `url:"created,omitempty"` // 创建时间 支持时间查询
Modified *string `url:"modified,omitempty"` // 最后修改时间 支持时间查询
}
type GetStoryCategoriesRequest ¶
type GetStoryCategoriesRequest struct {
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]项目ID
ID *Multi[int64] `url:"id,omitempty"` // ID 支持多ID查询,多个ID用逗号分隔
Name *string `url:"name,omitempty"` // 需求分类名称 支持模糊匹配
Description *string `url:"description,omitempty"` // 需求分类描述
ParentID *int `url:"parent_id,omitempty"` // 父分类ID
Created *string `url:"created,omitempty"` // 创建时间 支持时间查询
Modified *string `url:"modified,omitempty"` // 最后修改时间 支持时间查询
Limit *int `url:"limit,omitempty"` // 设置返回数量限制,默认为30
Page *int `url:"page,omitempty"` // 返回当前数量限制下第N页的数据,默认为1(第一页)
Order *Order `url:"order,omitempty"` //nolint:lll // 排序规则,规则:字段名 ASC或者DESC,然后 urlencode 如按创建时间逆序:order=created%20desc
Fields *Multi[string] `url:"fields,omitempty"` // 设置获取的字段,多个字段间以','逗号隔开
}
type GetStoryChangesCountRequest ¶ added in v0.17.0
type GetStoryChangesCountRequest struct {
ID *Multi[int64] `url:"id,omitempty"` // 支持多ID查询
StoryID *Multi[int64] `url:"story_id,omitempty"` // 需求id 支持多ID查询
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]项目ID
Creator *string `url:"creator,omitempty"` // 创建人(操作人)
Created *string `url:"created,omitempty"` // 创建时间(变更时间) 支持时间查询
ChangeType *StoreChangeType `url:"change_type,omitempty"` // 变更类型
ChangeSummary *string `url:"change_summary,omitempty"` // 需求变更描述
Comment *string `url:"comment,omitempty"` // 评论
EntityType *string `url:"entity_type,omitempty"` // 变更的对象类型
ChangeField *string `url:"change_field,omitempty"` // 设置获取变更字段如(status)
}
type GetStoryChangesRequest ¶
type GetStoryChangesRequest struct {
ID *Multi[int64] `url:"id,omitempty"`
StoryID *Multi[int64] `url:"story_id,omitempty"` // 需求id 支持多ID查询
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]项目ID
Creator *string `url:"creator,omitempty"` // 创建人(操作人)
Created *string `url:"created,omitempty"` // 创建时间(变更时间) 支持时间查询
ChangeType *StoreChangeType `url:"change_type,omitempty"` // 变更类型
ChangeSummary *string `url:"change_summary,omitempty"` // 需求变更描述
Comment *string `url:"comment,omitempty"` // 评论
EntityType *string `url:"entity_type,omitempty"` // 变更的对象类型
ChangeField *string `url:"change_field,omitempty"` // 设置获取变更字段如(status)
NeedParseChanges *int `url:"need_parse_changes,omitempty"` // 设置field_changes字段是否返回(默认取 1。取 0 则不返回)
Limit *int `url:"limit,omitempty"` // 设置返回数量限制,默认为30,最大取 100
Page *int `url:"page,omitempty"` // 返回当前数量限制下第N页的数据,默认为1(第一页)
Order *Order `url:"order,omitempty"` // 排序规则,规则:字段名 ASC或者DESC
Fields *Multi[string] `url:"fields,omitempty"` // 设置获取的字段,多个字段间以','逗号隔开
}
type GetStoryCustomFieldsSettingsRequest ¶
type GetStoryCustomFieldsSettingsRequest struct {
WorkspaceID *int `url:"workspace_id,omitempty"` // 项目ID
}
type GetStoryFieldsInfoRequest ¶ added in v0.17.0
type GetStoryFieldsInfoRequest struct {
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]项目ID
}
type GetStoryFieldsLabelRequest ¶ added in v0.15.0
type GetStoryFieldsLabelRequest struct {
WorkspaceID *int `url:"workspace_id,omitempty"` // 项目ID
}
type GetStoryLinkStoriesRequest ¶ added in v0.17.0
type GetStorySecretInfoRequest ¶ added in v0.17.0
type GetStoryStepsRequest ¶ added in v0.17.0
type GetStoryTestCaseRelationRequest ¶ added in v0.15.0
type GetStoryTimeRelationsRequest ¶ added in v0.17.0
type GetStoryWorkitemTypesRequest ¶ added in v0.17.0
type GetStoryWorkitemTypesRequest struct {
ID *Multi[int64] `url:"id,omitempty"` // ID,支持多ID查询
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]项目ID
Name *string `url:"name,omitempty"` // 需求类别名称,支持模糊匹配
EntityType *string `url:"entity_type,omitempty"` // 类别别名
EnglishName *string `url:"english_name,omitempty"` // 英文名称
WorkflowID *int64 `url:"workflow_id,omitempty"` // 工作流ID
Status *int `url:"status,omitempty"` // 状态
Created *string `url:"created,omitempty"` // 创建时间
Creator *string `url:"creator,omitempty"` // 创建人
ModifiedBy *string `url:"modified_by,omitempty"` // 最后修改人
Modified *string `url:"modified,omitempty"` // 最后修改时间
Limit *int `url:"limit,omitempty"` // 每页数量
Page *int `url:"page,omitempty"` // 页码
Order *Order `url:"order,omitempty"` // 排序规则
Fields *Multi[string] `url:"fields,omitempty"` // 返回字段列表
}
type GetSubWorkspacesRequest ¶ added in v0.17.0
type GetTaskChangesCountRequest ¶
type GetTaskChangesCountRequest struct {
ID *Multi[int64] `url:"id,omitempty"` // 支持多ID查询
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]项目ID
TaskID *int64 `url:"task_id,omitempty"` // 任务ID
Creator *string `url:"creator,omitempty"` // 创建人(操作人)
Created *string `url:"created,omitempty"` // 创建时间(变更时间) 支持时间查询
ChangeSummary *string `url:"change_summary,omitempty"` // 需求变更描述
Comment *string `url:"comment,omitempty"` // 评论
Changes *string `url:"changes,omitempty"` // 变更详细记录
EntityType *string `url:"entity_type,omitempty"` // 变更的对象类型
}
type GetTaskChangesRequest ¶
type GetTaskChangesRequest struct {
ID *Multi[int64] `url:"id,omitempty"` // 支持多ID查询
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]项目ID
TaskID *int64 `url:"task_id,omitempty"` // 任务ID
Creator *string `url:"creator,omitempty"` // 创建人(操作人)
Created *string `url:"created,omitempty"` // 创建时间(变更时间) 支持时间查询
ChangeSummary *string `url:"change_summary,omitempty"` // 需求变更描述
Comment *string `url:"comment,omitempty"` // 评论
Changes *string `url:"changes,omitempty"` // 变更详细记录
EntityType *string `url:"entity_type,omitempty"` // 变更的对象类型
NeedParseChanges *int `url:"need_parse_changes,omitempty"` // 设置field_changes字段是否返回(默认取 1。取 0 则不返回)
Limit *int `url:"limit,omitempty"` // 设置返回数量限制,默认为30
Page *int `url:"page,omitempty"` // 返回当前数量限制下第N页的数据,默认为1(第一页)
Order *Order `url:"order,omitempty"` //nolint:lll // 排序规则,规则:字段名 ASC或者DESC,然后 urlencode 如按创建时间逆序:order=created%20desc
Fields *Multi[string] `url:"fields,omitempty"` // 设置获取的字段,多个字段间以','逗号隔开
}
type GetTaskCustomFieldsSettingsRequest ¶ added in v0.17.0
type GetTaskCustomFieldsSettingsRequest struct {
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]项目ID
}
type GetTaskFieldsInfoRequest ¶
type GetTaskFieldsInfoRequest struct {
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]项目ID
}
type GetTasksCountRequest ¶
type GetTasksCountRequest struct {
ID *Multi[int64] `url:"id,omitempty"` // 支持多ID查询、模糊匹配
Name *string `url:"name,omitempty"` // 任务标题 支持模糊匹配
Description *string `url:"description,omitempty"` // 任务详细描述
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]项目ID
Creator *string `url:"creator,omitempty"` // 创建人 支持多人员查询
Created *string `url:"created,omitempty"` // 创建时间 支持时间查询
Modified *string `url:"modified,omitempty"` // 最后修改时间 支持时间查询
Status *Enum[TaskStatus] `url:"status,omitempty"` // 状态 支持枚举查询
Label *Enum[string] `url:"label,omitempty"` // 标签查询 支持枚举查询
Owner *string `url:"owner,omitempty"` // 任务当前处理人 支持模糊匹配
CC *string `url:"cc,omitempty"` // 抄送人
Begin *string `url:"begin,omitempty"` // 预计开始 支持时间查询
Due *string `url:"due,omitempty"` // 预计结束 支持时间查询
StoryID *Multi[int64] `url:"story_id,omitempty"` // 关联需求的ID 支持多ID查询
IterationID *Enum[int64] `url:"iteration_id,omitempty"` // 所属迭代的ID 支持枚举查询
Priority *string `url:"priority,omitempty"` //nolint:lll // 优先级。为了兼容自定义优先级,请使用 priority_label 字段,详情参考:如何兼容自定义优先级
PriorityLabel *PriorityLabel `url:"priority_label,omitempty"` // 优先级。推荐使用这个字段
Progress *int `url:"progress,omitempty"` // 进度
Completed *string `url:"completed,omitempty"` // 完成时间 支持时间查询
EffortCompleted *string `url:"effort_completed,omitempty"` // 完成工时
Exceed *float64 `url:"exceed,omitempty"` // 超出工时
Remain *float64 `url:"remain,omitempty"` // 剩余工时
Effort *string `url:"effort,omitempty"` // 预估工时
CustomFieldOne *string `url:"custom_field_one,omitempty"`
CustomFieldTwo *string `url:"custom_field_two,omitempty"`
CustomFieldThree *string `url:"custom_field_three,omitempty"`
CustomFieldFour *string `url:"custom_field_four,omitempty"`
CustomFieldFive *string `url:"custom_field_five,omitempty"`
CustomFieldSix *string `url:"custom_field_six,omitempty"`
CustomFieldSeven *string `url:"custom_field_seven,omitempty"`
CustomFieldEight *string `url:"custom_field_eight,omitempty"`
CustomField9 *string `url:"custom_field_9,omitempty"`
CustomField10 *string `url:"custom_field_10,omitempty"`
CustomField11 *string `url:"custom_field_11,omitempty"`
CustomField12 *string `url:"custom_field_12,omitempty"`
CustomField13 *string `url:"custom_field_13,omitempty"`
CustomField14 *string `url:"custom_field_14,omitempty"`
CustomField15 *string `url:"custom_field_15,omitempty"`
CustomField16 *string `url:"custom_field_16,omitempty"`
CustomField17 *string `url:"custom_field_17,omitempty"`
CustomField18 *string `url:"custom_field_18,omitempty"`
CustomField19 *string `url:"custom_field_19,omitempty"`
CustomField20 *string `url:"custom_field_20,omitempty"`
CustomField21 *string `url:"custom_field_21,omitempty"`
CustomField22 *string `url:"custom_field_22,omitempty"`
CustomField23 *string `url:"custom_field_23,omitempty"`
CustomField24 *string `url:"custom_field_24,omitempty"`
CustomField25 *string `url:"custom_field_25,omitempty"`
CustomField26 *string `url:"custom_field_26,omitempty"`
CustomField27 *string `url:"custom_field_27,omitempty"`
CustomField28 *string `url:"custom_field_28,omitempty"`
CustomField29 *string `url:"custom_field_29,omitempty"`
CustomField30 *string `url:"custom_field_30,omitempty"`
CustomField31 *string `url:"custom_field_31,omitempty"`
CustomField32 *string `url:"custom_field_32,omitempty"`
CustomField33 *string `url:"custom_field_33,omitempty"`
CustomField34 *string `url:"custom_field_34,omitempty"`
CustomField35 *string `url:"custom_field_35,omitempty"`
CustomField36 *string `url:"custom_field_36,omitempty"`
CustomField37 *string `url:"custom_field_37,omitempty"`
CustomField38 *string `url:"custom_field_38,omitempty"`
CustomField39 *string `url:"custom_field_39,omitempty"`
CustomField40 *string `url:"custom_field_40,omitempty"`
CustomField41 *string `url:"custom_field_41,omitempty"`
CustomField42 *string `url:"custom_field_42,omitempty"`
CustomField43 *string `url:"custom_field_43,omitempty"`
CustomField44 *string `url:"custom_field_44,omitempty"`
CustomField45 *string `url:"custom_field_45,omitempty"`
CustomField46 *string `url:"custom_field_46,omitempty"`
CustomField47 *string `url:"custom_field_47,omitempty"`
CustomField48 *string `url:"custom_field_48,omitempty"`
CustomField49 *string `url:"custom_field_49,omitempty"`
CustomField50 *string `url:"custom_field_50,omitempty"`
}
type GetTasksRequest ¶
type GetTasksRequest struct {
ID *Multi[int64] `url:"id,omitempty"` // 支持多ID查询、模糊匹配
Name *string `url:"name,omitempty"` // 任务标题 支持模糊匹配
Description *string `url:"description,omitempty"` // 任务详细描述
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]项目ID
Creator *string `url:"creator,omitempty"` // 创建人 支持多人员查询
Created *string `url:"created,omitempty"` // 创建时间 支持时间查询
Modified *string `url:"modified,omitempty"` // 最后修改时间 支持时间查询
Status *Enum[TaskStatus] `url:"status,omitempty"` // 状态 支持枚举查询
Label *Enum[string] `url:"label,omitempty"` // 标签查询 支持枚举查询
Owner *string `url:"owner,omitempty"` // 任务当前处理人 支持模糊匹配
CC *string `url:"cc,omitempty"` // 抄送人
Begin *string `url:"begin,omitempty"` // 预计开始 支持时间查询
Due *string `url:"due,omitempty"` // 预计结束 支持时间查询
StoryID *Multi[int64] `url:"story_id,omitempty"` // 关联需求的ID 支持多ID查询
IterationID *Enum[int64] `url:"iteration_id,omitempty"` // 所属迭代的ID 支持枚举查询
Priority *string `url:"priority,omitempty"` //nolint:lll // 优先级。为了兼容自定义优先级,请使用 priority_label 字段,详情参考:如何兼容自定义优先级
PriorityLabel *PriorityLabel `url:"priority_label,omitempty"` // 优先级。推荐使用这个字段
Progress *int `url:"progress,omitempty"` // 进度
Completed *string `url:"completed,omitempty"` // 完成时间 支持时间查询
EffortCompleted *string `url:"effort_completed,omitempty"` // 完成工时
Exceed *float64 `url:"exceed,omitempty"` // 超出工时
Remain *float64 `url:"remain,omitempty"` // 剩余工时
Effort *string `url:"effort,omitempty"` // 预估工时
CustomFieldOne *string `url:"custom_field_one,omitempty"`
CustomFieldTwo *string `url:"custom_field_two,omitempty"`
CustomFieldThree *string `url:"custom_field_three,omitempty"`
CustomFieldFour *string `url:"custom_field_four,omitempty"`
CustomFieldFive *string `url:"custom_field_five,omitempty"`
CustomFieldSix *string `url:"custom_field_six,omitempty"`
CustomFieldSeven *string `url:"custom_field_seven,omitempty"`
CustomFieldEight *string `url:"custom_field_eight,omitempty"`
CustomField9 *string `url:"custom_field_9,omitempty"`
CustomField10 *string `url:"custom_field_10,omitempty"`
CustomField11 *string `url:"custom_field_11,omitempty"`
CustomField12 *string `url:"custom_field_12,omitempty"`
CustomField13 *string `url:"custom_field_13,omitempty"`
CustomField14 *string `url:"custom_field_14,omitempty"`
CustomField15 *string `url:"custom_field_15,omitempty"`
CustomField16 *string `url:"custom_field_16,omitempty"`
CustomField17 *string `url:"custom_field_17,omitempty"`
CustomField18 *string `url:"custom_field_18,omitempty"`
CustomField19 *string `url:"custom_field_19,omitempty"`
CustomField20 *string `url:"custom_field_20,omitempty"`
CustomField21 *string `url:"custom_field_21,omitempty"`
CustomField22 *string `url:"custom_field_22,omitempty"`
CustomField23 *string `url:"custom_field_23,omitempty"`
CustomField24 *string `url:"custom_field_24,omitempty"`
CustomField25 *string `url:"custom_field_25,omitempty"`
CustomField26 *string `url:"custom_field_26,omitempty"`
CustomField27 *string `url:"custom_field_27,omitempty"`
CustomField28 *string `url:"custom_field_28,omitempty"`
CustomField29 *string `url:"custom_field_29,omitempty"`
CustomField30 *string `url:"custom_field_30,omitempty"`
CustomField31 *string `url:"custom_field_31,omitempty"`
CustomField32 *string `url:"custom_field_32,omitempty"`
CustomField33 *string `url:"custom_field_33,omitempty"`
CustomField34 *string `url:"custom_field_34,omitempty"`
CustomField35 *string `url:"custom_field_35,omitempty"`
CustomField36 *string `url:"custom_field_36,omitempty"`
CustomField37 *string `url:"custom_field_37,omitempty"`
CustomField38 *string `url:"custom_field_38,omitempty"`
CustomField39 *string `url:"custom_field_39,omitempty"`
CustomField40 *string `url:"custom_field_40,omitempty"`
CustomField41 *string `url:"custom_field_41,omitempty"`
CustomField42 *string `url:"custom_field_42,omitempty"`
CustomField43 *string `url:"custom_field_43,omitempty"`
CustomField44 *string `url:"custom_field_44,omitempty"`
CustomField45 *string `url:"custom_field_45,omitempty"`
CustomField46 *string `url:"custom_field_46,omitempty"`
CustomField47 *string `url:"custom_field_47,omitempty"`
CustomField48 *string `url:"custom_field_48,omitempty"`
CustomField49 *string `url:"custom_field_49,omitempty"`
CustomField50 *string `url:"custom_field_50,omitempty"`
Limit *int `url:"limit,omitempty"` // 设置返回数量限制,默认为30
Page *int `url:"page,omitempty"` // 返回当前数量限制下第N页的数据,默认为1(第一页)
Order *Order `url:"order,omitempty"` //nolint:lll // 排序规则,规则:字段名 ASC或者DESC,然后 urlencode 如按创建时间逆序:order=created%20desc
Fields *Multi[string] `url:"fields,omitempty"` // 设置获取的字段,多个字段间以','逗号隔开
}
type GetTemplateListRequest ¶ added in v0.6.0
type GetTemplateListRequest struct {
WorkspaceID *int `url:"workspace_id,omitempty"` // 项目 ID
}
type GetTestCaseCategoriesCountRequest ¶ added in v0.17.0
type GetTestCaseCategoriesCountRequest struct {
ID *Multi[int64] `url:"id,omitempty"` // 目录ID,支持多ID查询
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]项目ID
Name *string `url:"name,omitempty"` // 目录名称,支持模糊匹配
Description *string `url:"description,omitempty"` // 目录描述
ParentID *int64 `url:"parent_id,omitempty"` // 父目录ID
Modified *string `url:"modified,omitempty"` // 最后修改时间,支持时间查询
Created *string `url:"created,omitempty"` // 创建时间,支持时间查询
Creator *string `url:"creator,omitempty"` // 目录创建人
Modifier *string `url:"modifier,omitempty"` // 目录最后修改人
Sorting *int `url:"sorting,omitempty"` // 目录排序序号
}
type GetTestCaseCategoriesRequest ¶ added in v0.17.0
type GetTestCaseCategoriesRequest struct {
ID *Multi[int64] `url:"id,omitempty"` // 目录ID,支持多ID查询
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]项目ID
Name *string `url:"name,omitempty"` // 目录名称,支持模糊匹配
Description *string `url:"description,omitempty"` // 目录描述
ParentID *int64 `url:"parent_id,omitempty"` // 父目录ID
Modified *string `url:"modified,omitempty"` // 最后修改时间,支持时间查询
Created *string `url:"created,omitempty"` // 创建时间,支持时间查询
Creator *string `url:"creator,omitempty"` // 目录创建人
Modifier *string `url:"modifier,omitempty"` // 目录最后修改人
Sorting *int `url:"sorting,omitempty"` // 目录排序序号
Limit *int `url:"limit,omitempty"` // 设置返回数量限制,默认为30,最大取200
Page *int `url:"page,omitempty"` // 返回当前数量限制下第N页的数据,默认为1
Order *Order `url:"order,omitempty"` // 排序规则
Fields *Multi[string] `url:"fields,omitempty"` // 设置获取的字段,多个字段间以','逗号隔开
}
type GetTestCaseCustomFieldsSettingsRequest ¶ added in v0.17.0
type GetTestCaseCustomFieldsSettingsRequest struct {
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]项目ID
}
type GetTestCaseFieldsInfoRequest ¶ added in v0.17.0
type GetTestCaseFieldsInfoRequest struct {
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]项目ID
}
type GetTestCaseRelatedStoriesRequest ¶ added in v0.17.0
type GetTestCaseResultsRequest ¶ added in v0.17.0
type GetTestCasesCountRequest ¶ added in v0.17.0
type GetTestCasesCountRequest struct {
ID *Multi[int64] `url:"id,omitempty"` // 用例ID,支持多ID查询
Steps *string `url:"steps,omitempty"` // 用例步骤
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]项目ID
CategoryID *int64 `url:"category_id,omitempty"` // 用例目录
Created *string `url:"created,omitempty"` // 创建时间,支持时间查询
Modifier *string `url:"modifier,omitempty"` // 最后修改人
Modified *string `url:"modified,omitempty"` // 最后修改时间,支持时间查询
Creator *string `url:"creator,omitempty"` // 创建人
Status *Enum[TestCaseStatus] `url:"status,omitempty"` // 用例状态
Name *string `url:"name,omitempty"` // 用例名称,支持模糊匹配
Precondition *string `url:"precondition,omitempty"` // 前置条件
Expectation *string `url:"expectation,omitempty"` // 预期结果
Type *string `url:"type,omitempty"` // 用例类型
Priority *string `url:"priority,omitempty"` // 用例等级
IsAutomated *string `url:"is_automated,omitempty"` // 是否实现自动化
AutomationType *string `url:"automation_type,omitempty"` // 自动化测试类型
AutomationPlatform *string `url:"automation_platform,omitempty"` // 自动化测试平台
IsServing *string `url:"is_serving,omitempty"` // 是否上架
TestPlanID *int64 `url:"test_plan_id,omitempty"` // 测试计划ID
}
type GetTestCasesRequest ¶ added in v0.17.0
type GetTestCasesRequest struct {
ID *Multi[int64] `url:"id,omitempty"` // 用例ID,支持多ID查询
Steps *string `url:"steps,omitempty"` // 用例步骤
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]项目ID
CategoryID *int64 `url:"category_id,omitempty"` // 用例目录
Created *string `url:"created,omitempty"` // 创建时间,支持时间查询
Modifier *string `url:"modifier,omitempty"` // 最后修改人
Modified *string `url:"modified,omitempty"` // 最后修改时间,支持时间查询
Creator *string `url:"creator,omitempty"` // 创建人
Status *Enum[TestCaseStatus] `url:"status,omitempty"` // 用例状态
Name *string `url:"name,omitempty"` // 用例名称,支持模糊匹配
Precondition *string `url:"precondition,omitempty"` // 前置条件
Expectation *string `url:"expectation,omitempty"` // 预期结果
Type *string `url:"type,omitempty"` // 用例类型
Priority *string `url:"priority,omitempty"` // 用例等级
IsAutomated *string `url:"is_automated,omitempty"` // 是否实现自动化
AutomationType *string `url:"automation_type,omitempty"` // 自动化测试类型
AutomationPlatform *string `url:"automation_platform,omitempty"` // 自动化测试平台
IsServing *string `url:"is_serving,omitempty"` // 是否上架
Limit *int `url:"limit,omitempty"` // 设置返回数量限制,默认为30,最大取200
Page *int `url:"page,omitempty"` // 返回当前数量限制下第N页的数据,默认为1
Order *Order `url:"order,omitempty"` // 排序规则
Fields *Multi[string] `url:"fields,omitempty"` // 设置获取的字段,多个字段间以','逗号隔开
}
type GetTestPlanFieldsInfoRequest ¶ added in v0.17.0
type GetTestPlanFieldsInfoRequest struct {
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]项目ID
}
type GetTestPlanProgressRequest ¶ added in v0.17.0
type GetTestPlanRelatedBugsRequest ¶ added in v0.17.0
type GetTestPlanRelatedBugsRequest struct {
ID *int64 `url:"id,omitempty"` // [必须]测试计划ID
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]项目ID
Limit *int `url:"limit,omitempty"` // 设置返回数量限制,默认为30
Page *int `url:"page,omitempty"` // 返回当前数量限制下第N页的数据,默认为1
Order *Order `url:"order,omitempty"` // 排序规则
Fields *Multi[string] `url:"fields,omitempty"` // 设置获取的字段,多个字段间以','逗号隔开
}
type GetTestPlanRelatedStoriesRequest ¶ added in v0.17.0
type GetTestPlanResultRequest ¶ added in v0.17.0
type GetTestPlanTestCaseRelationsRequest ¶ added in v0.17.0
type GetTestPlanTestCaseRelationsRequest struct {
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]项目ID
TestPlanID *int64 `url:"test_plan_id,omitempty"` // [必须]测试计划ID
Limit *int `url:"limit,omitempty"` // 设置返回数量限制,默认为30
Page *int `url:"page,omitempty"` // 返回当前数量限制下第N页的数据,默认为1
Order *Order `url:"order,omitempty"` // 排序规则
}
type GetTestPlansCountRequest ¶ added in v0.17.0
type GetTestPlansCountRequest struct {
ID *Multi[int64] `url:"id,omitempty"` // 测试计划ID,支持多ID查询
Name *string `url:"name,omitempty"` // 测试计划标题
Description *string `url:"description,omitempty"` // 测试计划详细描述
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]项目ID
Creator *string `url:"creator,omitempty"` // 创建人
Modifier *string `url:"modifier,omitempty"` // 修改人
Owner *string `url:"owner,omitempty"` // 测试计划负责人
StartDate *string `url:"start_date,omitempty"` // 预计开始
EndDate *string `url:"end_date,omitempty"` // 预计结束
IterationID *int64 `url:"iteration_id,omitempty"` // 关联迭代ID
Version *string `url:"version,omitempty"` // 版本号
Type *string `url:"type,omitempty"` // 测试类型
Status *string `url:"status,omitempty"` // 状态,默认open
}
type GetTestPlansRequest ¶ added in v0.17.0
type GetTestPlansRequest struct {
ID *Multi[int64] `url:"id,omitempty"` // 测试计划ID,支持多ID查询
Name *string `url:"name,omitempty"` // 测试计划标题
Description *string `url:"description,omitempty"` // 测试计划详细描述
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]项目ID
Creator *string `url:"creator,omitempty"` // 创建人
Created *string `url:"created,omitempty"` // 创建时间
Modifier *string `url:"modifier,omitempty"` // 修改人
Modified *string `url:"modified,omitempty"` // 最后修改时间
Owner *string `url:"owner,omitempty"` // 测试计划负责人
StartDate *string `url:"start_date,omitempty"` // 预计开始
EndDate *string `url:"end_date,omitempty"` // 预计结束
IterationID *int64 `url:"iteration_id,omitempty"` // 关联迭代ID
Version *string `url:"version,omitempty"` // 版本号
Type *string `url:"type,omitempty"` // 测试类型
Status *string `url:"status,omitempty"` // 状态,默认open
Limit *int `url:"limit,omitempty"` // 设置返回数量限制,默认为30,最大取200
Page *int `url:"page,omitempty"` // 返回当前数量限制下第N页的数据,默认为1
Order *Order `url:"order,omitempty"` // 排序规则
Fields *Multi[string] `url:"fields,omitempty"` // 设置获取的字段,多个字段间以','逗号隔开
}
type GetTimesheetsCountRequest ¶
type GetTimesheetsCountRequest struct {
// [可选]id 支持多ID查询
ID *Multi[int64] `url:"id,omitempty"`
// [必选]项目ID
WorkspaceID *int `url:"workspace_id,omitempty"`
// [可选]对象类型,如story、task、bug等
EntityType *EntityType `url:"entity_type,omitempty"`
// [可选]对象ID
EntityID *int64 `url:"entity_id,omitempty"`
// [可选]花费工时
Timespent *string `url:"timespent,omitempty"`
// [可选]花费日期 支持时间查询
Spentdate *string `url:"spentdate,omitempty"`
// [可选]最后修改时间 支持时间查询
Modified *string `url:"modified,omitempty"`
// [可选]花费创建人
Owner *string `url:"owner,omitempty"`
// [可选]值=0不返回父需求的花费
IncludeParentStoryTimesheet *int `url:"include_parent_story_timesheet,omitempty"`
// [可选]创建时间 支持时间查询
Created *string `url:"created,omitempty"`
// [可选]花费描述
Memo *string `url:"memo,omitempty"`
// [可选]是否已删除。默认取 0,不返回已删除的工时记录。取 1 可以返回已删除的记录
IsDelete *int `url:"is_delete,omitempty"`
}
type GetTimesheetsRequest ¶
type GetTimesheetsRequest struct {
// [可选]id 支持多ID查询
ID *Multi[int64] `url:"id,omitempty"`
// [必选]项目ID
WorkspaceID *int `url:"workspace_id,omitempty"`
// [可选]对象类型,如story、task、bug等
EntityType *EntityType `url:"entity_type,omitempty"`
// [可选]对象ID
EntityID *int64 `url:"entity_id,omitempty"`
// [可选]花费工时
Timespent *string `url:"timespent,omitempty"`
// [可选]花费日期 支持时间查询
Spentdate *string `url:"spentdate,omitempty"`
// [可选]最后修改时间 支持时间查询
Modified *string `url:"modified,omitempty"`
// [可选]花费创建人
Owner *string `url:"owner,omitempty"`
// [可选]值=0不返回父需求的花费
IncludeParentStoryTimesheet *int `url:"include_parent_story_timesheet,omitempty"`
// [可选]创建时间 支持时间查询
Created *string `url:"created,omitempty"`
// [可选]花费描述
Memo *string `url:"memo,omitempty"`
// [可选]是否已删除。默认取 0,不返回已删除的工时记录。取 1 可以返回已删除的记录
IsDelete *int `url:"is_delete,omitempty"`
// [可选]设置返回数量限制,默认为30
Limit *int `url:"limit,omitempty"`
// [可选]返回当前数量限制下第N页的数据,默认为1(第一页)
Page *int `url:"page,omitempty"`
// [可选]排序规则,规则:字段名 ASC或者DESC,然后 urlencode 如按创建时间逆序
Order *Order `url:"order,omitempty"`
// [可选]设置获取的字段,多个字段间以','逗号隔开
Fields *Multi[string] `url:"fields,omitempty"`
}
type GetUserParticipantWorkspacesRequest ¶ added in v0.17.0
type GetUsersRequest ¶ added in v0.12.0
type GetWikiAttachmentsCountRequest ¶ added in v0.17.0
type GetWikiAttachmentsCountRequest struct {
ID *int64 `url:"id,omitempty"` // id
Filename *string `url:"filename,omitempty"` // 文件名
Size *int `url:"size,omitempty"` // 文件大小,字节
Owner *string `url:"owner,omitempty"` // 上传者
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]项目ID
Created *string `url:"created,omitempty"` // 创建时间,支持时间查询
Modified *string `url:"modified,omitempty"` // 最后修改时间,支持时间查询
WikiID *int64 `url:"wiki_id,omitempty"` // 关联的 wiki id
}
type GetWikiDrawioDataRequest ¶ added in v0.17.0
type GetWikiEntityPermissionsRequest ¶ added in v0.17.0
type GetWikiEntityPermissionsRequest struct {
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]项目ID
WikiID *int64 `url:"wiki_id,omitempty"` // [必须]wiki ID
TargetType *string `url:"target_type,omitempty"` // 可访问的类型
TargetID *string `url:"target_id,omitempty"` // 用户昵称或用户组ID
Limit *int `url:"limit,omitempty"` // 设置返回数量限制,默认为30,最大取200
Page *int `url:"page,omitempty"` // 返回当前数量限制下第N页的数据,默认为1
Order *Order `url:"order,omitempty"` // 排序规则
Fields *Multi[string] `url:"fields,omitempty"` // 设置获取的字段,多个字段间以','逗号隔开
}
type GetWikiFollowersCountRequest ¶ added in v0.17.0
type GetWikiFollowersRequest ¶ added in v0.17.0
type GetWikiFollowersRequest struct {
ID *int64 `url:"id,omitempty"` // id
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]项目ID
Created *string `url:"created,omitempty"` // 创建时间,支持时间查询
WikiID *int64 `url:"wiki_id,omitempty"` // 关联的 wiki id
User *string `url:"user,omitempty"` // 关注者昵称
Limit *int `url:"limit,omitempty"` // 设置返回数量限制,默认为30,最大取200
Page *int `url:"page,omitempty"` // 返回当前数量限制下第N页的数据,默认为1
Order *Order `url:"order,omitempty"` // 排序规则
Fields *Multi[string] `url:"fields,omitempty"` // 设置获取的字段,多个字段间以','逗号隔开
}
type GetWikiTagsCountRequest ¶ added in v0.17.0
type GetWikiTagsCountRequest struct {
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]项目ID
WikiID *int64 `url:"wiki_id,omitempty"` // wiki id,不传取项目下的所有 wiki
Tag *string `url:"tag,omitempty"` // 标签
Creator *string `url:"creator,omitempty"` // 标签创建人 nick
Created *string `url:"created,omitempty"` // 标签创建时间,支持时间查询
}
type GetWikiTagsRequest ¶ added in v0.17.0
type GetWikiTagsRequest struct {
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]项目ID
WikiID *int64 `url:"wiki_id,omitempty"` // wiki id,不传取项目下的所有 wiki
Tag *string `url:"tag,omitempty"` // 标签
Creator *string `url:"creator,omitempty"` // 标签创建人 nick
Created *string `url:"created,omitempty"` // 标签创建时间,支持时间查询
Limit *int `url:"limit,omitempty"` // 设置返回数量限制,默认为30,最大取200
Page *int `url:"page,omitempty"` // 返回当前数量限制下第N页的数据,默认为1
Order *Order `url:"order,omitempty"` // 排序规则
}
type GetWikisCountRequest ¶ added in v0.17.0
type GetWikisCountRequest struct {
Name *string `url:"name,omitempty"` // 标题,支持模糊匹配
Modifier *string `url:"modifier,omitempty"` // 修改人
Creator *string `url:"creator,omitempty"` // 创建人
Note *string `url:"note,omitempty"` // 备注
ViewCount *string `url:"view_count,omitempty"` // 浏览量
Created *string `url:"created,omitempty"` // 创建时间,支持时间查询
Modified *string `url:"modified,omitempty"` // 最后修改时间,支持时间查询
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]项目ID
}
type GetWikisRequest ¶ added in v0.17.0
type GetWikisRequest struct {
ID *int64 `url:"id,omitempty"` // id
Name *string `url:"name,omitempty"` // 标题
Modifier *string `url:"modifier,omitempty"` // 修改人
Creator *string `url:"creator,omitempty"` // 创建人
Note *string `url:"note,omitempty"` // 备注
ViewCount *string `url:"view_count,omitempty"` // 浏览量
Created *string `url:"created,omitempty"` // 创建时间,支持时间查询
Modified *string `url:"modified,omitempty"` // 最后修改时间,支持时间查询
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]项目ID
Limit *int `url:"limit,omitempty"` // 设置返回数量限制,默认为30,最大取200
Page *int `url:"page,omitempty"` // 返回当前数量限制下第N页的数据,默认为1
Order *Order `url:"order,omitempty"` // 排序规则
Fields *Multi[string] `url:"fields,omitempty"` // 设置获取的字段,多个字段间以','逗号隔开
}
type GetWorkCalendarSettingsRequest ¶ added in v0.17.0
type GetWorkCalendarSettingsRequest struct {
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]项目ID
}
type GetWorkItemsLongIDByShortIDsRequest ¶ added in v0.17.0
type GetWorkItemsLongIDByShortIDsRequest struct {
ShortIDs *string `url:"short_ids,omitempty"` // 短ID,多个以分号分隔;short_ids 和 long_ids 不允许都不传
LongIDs *string `url:"long_ids,omitempty"` // 长ID,多个以分号分隔
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]项目ID
EntityType *EntityType `url:"entity_type,omitempty"` // [必须]业务对象类型,story、task、bug
}
type GetWorkItemsLongIDByShortIDsResponse ¶ added in v0.17.0
type GetWorkItemsLongIDByShortIDsResponse struct {
ValidIDMap []*WorkItemIDMap `json:"valid_id_map,omitempty"` // 有效ID映射
InvalidLongIDs []string `json:"invalid_long_ids,omitempty"` // 无效长ID
InvalidShortIDs []string `json:"invalid_short_ids,omitempty"` // 无效短ID
}
type GetWorkitemTypesRequest ¶ added in v0.6.0
type GetWorkitemTypesRequest struct {
WorkspaceID *int `url:"workspace_id,omitempty"` // 项目 ID
}
type GetWorkspaceCustomFieldsSettingsRequest ¶ added in v0.17.0
type GetWorkspaceCustomFieldsSettingsRequest struct {
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]项目ID
}
type GetWorkspaceDocumentsRequest ¶ added in v0.17.0
type GetWorkspaceInfoRequest ¶ added in v0.15.0
type GetWorkspaceInfoRequest struct {
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]项目ID
}
type GetWorkspaceRolesRequest ¶ added in v0.17.0
type GetWorkspaceRolesRequest struct {
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]项目ID
}
type ImageAttachment ¶
type Iteration ¶ added in v0.6.0
type Iteration struct {
ID string `json:"id,omitempty"`
Name string `json:"name,omitempty"`
WorkspaceID string `json:"workspace_id,omitempty"`
StartDate string `json:"startdate,omitempty"`
EndDate string `json:"enddate,omitempty"`
Status string `json:"status,omitempty"`
ReleaseID string `json:"release_id,omitempty"`
Description string `json:"description,omitempty"`
Creator string `json:"creator,omitempty"`
Created string `json:"created,omitempty"`
Modified string `json:"modified,omitempty"`
Completed string `json:"completed,omitempty"`
EntityType string `json:"entity_type,omitempty"`
ParentID string `json:"parent_id,omitempty"`
AncestorID string `json:"ancestor_id,omitempty"`
Path string `json:"path,omitempty"`
WorkitemTypeID string `json:"workitem_type_id,omitempty"`
TemplatedID string `json:"templated_id,omitempty"`
PlanAppID string `json:"plan_app_id,omitempty"`
CrucialMoment string `json:"crucial_moment,omitempty"`
Label string `json:"label,omitempty"`
ReleaseOwner string `json:"releaseowner,omitempty"`
LaunchDate string `json:"launchdate,omitempty"`
Notice string `json:"notice,omitempty"`
ReleaseName string `json:"releasename,omitempty"`
CustomField1 string `json:"custom_field_1,omitempty"`
CustomField2 string `json:"custom_field_2,omitempty"`
CustomField3 string `json:"custom_field_3,omitempty"`
CustomField4 string `json:"custom_field_4,omitempty"`
CustomField5 string `json:"custom_field_5,omitempty"`
CustomField6 string `json:"custom_field_6,omitempty"`
CustomField7 string `json:"custom_field_7,omitempty"`
CustomField8 string `json:"custom_field_8,omitempty"`
CustomField9 string `json:"custom_field_9,omitempty"`
CustomField10 string `json:"custom_field_10,omitempty"`
CustomField11 string `json:"custom_field_11,omitempty"`
CustomField12 string `json:"custom_field_12,omitempty"`
CustomField13 string `json:"custom_field_13,omitempty"`
CustomField14 string `json:"custom_field_14,omitempty"`
CustomField15 string `json:"custom_field_15,omitempty"`
CustomField16 string `json:"custom_field_16,omitempty"`
CustomField17 string `json:"custom_field_17,omitempty"`
CustomField18 string `json:"custom_field_18,omitempty"`
CustomField19 string `json:"custom_field_19,omitempty"`
CustomField20 string `json:"custom_field_20,omitempty"`
CustomField21 string `json:"custom_field_21,omitempty"`
CustomField22 string `json:"custom_field_22,omitempty"`
CustomField23 string `json:"custom_field_23,omitempty"`
CustomField24 string `json:"custom_field_24,omitempty"`
CustomField25 string `json:"custom_field_25,omitempty"`
CustomField26 string `json:"custom_field_26,omitempty"`
CustomField27 string `json:"custom_field_27,omitempty"`
CustomField28 string `json:"custom_field_28,omitempty"`
CustomField29 string `json:"custom_field_29,omitempty"`
CustomField30 string `json:"custom_field_30,omitempty"`
CustomField31 string `json:"custom_field_31,omitempty"`
CustomField32 string `json:"custom_field_32,omitempty"`
CustomField33 string `json:"custom_field_33,omitempty"`
CustomField34 string `json:"custom_field_34,omitempty"`
CustomField35 string `json:"custom_field_35,omitempty"`
CustomField36 string `json:"custom_field_36,omitempty"`
CustomField37 string `json:"custom_field_37,omitempty"`
CustomField38 string `json:"custom_field_38,omitempty"`
CustomField39 string `json:"custom_field_39,omitempty"`
CustomField40 string `json:"custom_field_40,omitempty"`
CustomField41 string `json:"custom_field_41,omitempty"`
CustomField42 string `json:"custom_field_42,omitempty"`
CustomField43 string `json:"custom_field_43,omitempty"`
CustomField44 string `json:"custom_field_44,omitempty"`
CustomField45 string `json:"custom_field_45,omitempty"`
CustomField46 string `json:"custom_field_46,omitempty"`
CustomField47 string `json:"custom_field_47,omitempty"`
CustomField48 string `json:"custom_field_48,omitempty"`
CustomField49 string `json:"custom_field_49,omitempty"`
CustomField50 string `json:"custom_field_50,omitempty"`
OriginName string `json:"origin_name,omitempty"`
}
type IterationChange ¶ added in v0.17.0
type IterationChange struct {
ID string `json:"id,omitempty"` // 变更记录ID
IterationID string `json:"iteration_id,omitempty"` // 迭代ID
Author string `json:"author,omitempty"` // 变更人
Field string `json:"field,omitempty"` // 字段名称
OldValue *string `json:"old_value,omitempty"` // 变更前
NewValue *string `json:"new_value,omitempty"` // 变更后
Memo *string `json:"memo,omitempty"` // 备注
Created string `json:"created,omitempty"` // 创建时间
ModifyVersion string `json:"modifyversion,omitempty"` // 变更版本
OperaterType string `json:"operater_type,omitempty"` // 变更类型
WorkspaceID string `json:"workspace_id,omitempty"` // 项目ID
}
type IterationCustomDashBoardCard ¶ added in v0.17.0
type IterationCustomDashBoardCard struct {
ID string `json:"id,omitempty"` // 卡片ID
Template string `json:"template,omitempty"` // 卡片类型
Title string `json:"title,omitempty"` // 卡片标题
ComponentData string `json:"component_data,omitempty"` // 组件数据
Width string `json:"width,omitempty"` // 宽度
Height string `json:"height,omitempty"` // 高度
CardType string `json:"card_type,omitempty"` // 卡片内容类型
Data *IterationCustomDashBoardCardContent `json:"data,omitempty"` // 卡片内容
}
type IterationCustomDashBoardCardContent ¶ added in v0.17.0
type IterationCustomFieldsSetting ¶ added in v0.17.0
type IterationCustomFieldsSetting struct {
ID string `json:"id,omitempty"` // 自定义字段配置的ID
WorkspaceID string `json:"workspace_id,omitempty"` // 所属项目ID
AppID string `json:"app_id,omitempty"` // 应用ID
EntryType string `json:"entry_type,omitempty"` // 所属实体对象
CustomField string `json:"custom_field,omitempty"` // 自定义字段标识
Type string `json:"type,omitempty"` // 输入类型
Name string `json:"name,omitempty"` // 自定义字段显示名称
Options *string `json:"options,omitempty"` // 自定义字段可选值
ExtraConfig *string `json:"extra_config,omitempty"` // 额外配置
Enabled string `json:"enabled,omitempty"` // 是否启用
Freeze string `json:"freeze,omitempty"` // 是否冻结
Sort *string `json:"sort,omitempty"` // 显示时排序系数
Memo *string `json:"memo,omitempty"` // 备注
OpenExtensionID string `json:"open_extension_id,omitempty"`
IsOut int `json:"is_out,omitempty"`
IsUninstall int `json:"is_uninstall,omitempty"`
AppName string `json:"app_name,omitempty"`
}
type IterationService ¶
type IterationService interface {
// CreateIteration 创建迭代
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/iteration/add_iteration.html
CreateIteration(ctx context.Context, request *CreateIterationRequest, opts ...RequestOption) (*Iteration, *Response, error)
// GetIterationCustomFieldsSettings 获取迭代自定义字段配置
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/iteration/get_iteration_custom_fields_settings.html
GetIterationCustomFieldsSettings(
ctx context.Context, request *GetIterationCustomFieldsSettingsRequest, opts ...RequestOption,
) ([]*IterationCustomFieldsSetting, *Response, error)
// GetIterations 获取迭代
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/iteration/get_iterations.html
GetIterations(ctx context.Context, request *GetIterationsRequest, opts ...RequestOption) ([]*Iteration, *Response, error)
// GetIterationsCount 获取迭代数量
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/iteration/get_iterations_count.html
GetIterationsCount(ctx context.Context, request *GetIterationsCountRequest, opts ...RequestOption) (int, *Response, error)
// UpdateIteration 更新迭代
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/iteration/update_iteration.html
UpdateIteration(ctx context.Context, request *UpdateIterationRequest, opts ...RequestOption) (*Iteration, *Response, error)
// GetIterationChanges 获取迭代变更历史
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/iteration/get_iteration_changes.html
GetIterationChanges(ctx context.Context, request *GetIterationChangesRequest, opts ...RequestOption) ([]*IterationChange, *Response, error)
// GetIterationCustomDashBoardContent 获取迭代仪表盘自定义卡片内容
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/iteration/get_custom_dash_board_content.html
GetIterationCustomDashBoardContent(
ctx context.Context, request *GetIterationCustomDashBoardContentRequest, opts ...RequestOption,
) ([]*IterationCustomDashBoardCard, *Response, error)
// UpdateIterationCustomDashBoardContent 修改迭代仪表盘自定义卡片内容
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/iteration/update_custom_dash_board_content.html
UpdateIterationCustomDashBoardContent(
ctx context.Context, request *UpdateIterationCustomDashBoardContentRequest, opts ...RequestOption,
) (*UpdateIterationCustomDashBoardContentResult, *Response, error)
// LockIteration 锁定迭代
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/iteration/lock_iteration.html
LockIteration(ctx context.Context, request *LockIterationRequest, opts ...RequestOption) (string, *Response, error)
// UnlockIteration 解锁迭代
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/iteration/unlock_iteration.html
UnlockIteration(ctx context.Context, request *UnlockIterationRequest, opts ...RequestOption) (string, *Response, error)
// GetWorkitemTypes 获取迭代类别列表
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/iteration/workitem_types.html
GetWorkitemTypes(ctx context.Context, request *GetWorkitemTypesRequest, opts ...RequestOption) ([]*WorkitemType, *Response, error)
// GetTemplateList 获取迭代模板列表
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/iteration/template_list.html
GetTemplateList(ctx context.Context, request *GetTemplateListRequest, opts ...RequestOption) ([]*WorkitemTemplate, *Response, error)
// GetIterationTemplateFields 获取迭代模板字段配置
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/iteration/template_fields.html
GetIterationTemplateFields(
ctx context.Context, request *GetIterationTemplateFieldsRequest, opts ...RequestOption,
) ([]*IterationTemplateField, *Response, error)
// GetIterationDefaultTemplateFields 获取迭代类别默认模板字段配置
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/iteration/default_template_fields_by_workitem_type_id.html
GetIterationDefaultTemplateFields(
ctx context.Context, request *GetIterationDefaultTemplateFieldsRequest, opts ...RequestOption,
) ([]*IterationTemplateField, *Response, error)
}
IterationService 迭代
https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/iteration/
func NewIterationService ¶ added in v0.12.0
func NewIterationService(client *Client) IterationService
type IterationTemplateField ¶ added in v0.17.0
type IterationTemplateField struct {
ID string `json:"id,omitempty"` // 模板字段ID
WorkspaceID string `json:"workspace_id,omitempty"` // 项目ID
Type string `json:"type,omitempty"` // 类型
TemplateID string `json:"template_id,omitempty"` // 模板ID
Field string `json:"field,omitempty"` // 字段名称
Value string `json:"value,omitempty"` // 默认值
Required string `json:"required,omitempty"` // 是否必填
Sort string `json:"sort,omitempty"` // 排序
}
type IterationTestPlan ¶ added in v0.17.0
type Label ¶
type Label struct {
ID string `json:"id,omitempty"`
WorkspaceID string `json:"workspace_id,omitempty"`
Name string `json:"name,omitempty"`
Color LabelColor `json:"color,omitempty"`
Category string `json:"category,omitempty"`
Creator string `json:"creator,omitempty"`
Modifier string `json:"modifier,omitempty"`
Created string `json:"created,omitempty"`
Modified string `json:"modified,omitempty"`
ColorValue string `json:"color_value,omitempty"`
}
Label represents a label.
type LabelColor ¶
type LabelColor string
LabelColor is a type for label colors.
const ( LabelColor1 LabelColor = "1" LabelColor2 LabelColor = "2" LabelColor3 LabelColor = "3" LabelColor4 LabelColor = "4" )
type LabelService ¶
type LabelService interface {
// GetLabels 获取自定义标签
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/label/query_label.html
GetLabels(ctx context.Context, request *GetLabelsRequest, opts ...RequestOption) ([]*Label, *Response, error)
// GetLabelsCount 获取标签数量
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/label/count_label.html
GetLabelsCount(ctx context.Context, request *GetLabelCountRequest, opts ...RequestOption) (int, *Response, error)
// CreateLabel 创建标签
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/label/add_label.html
CreateLabel(ctx context.Context, request *CreateLabelRequest, opts ...RequestOption) (*Label, *Response, error)
// UpdateLabel 更新标签
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/label/update_label.html
UpdateLabel(ctx context.Context, request *UpdateLabelRequest, opts ...RequestOption) (*Label, *Response, error)
}
LabelService handles communication with the label related methods of the Tapd API.
Tapd API docs: https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/label/index.html
func NewLabelService ¶ added in v0.12.0
func NewLabelService(client *Client) LabelService
type LaunchAccessory ¶ added in v0.17.0
type LaunchAccessory struct {
ID string `json:"id,omitempty"` // 依据ID
FormID string `json:"form_id,omitempty"` // 发布评审ID
WorkspaceID string `json:"workspace_id,omitempty"` // 所属项目ID
Type string `json:"type,omitempty"` // 类型
Tag *string `json:"tag,omitempty"` // 标签
Title string `json:"title,omitempty"` // 标题
Content string `json:"content,omitempty"` // 内容
Description *string `json:"description,omitempty"` // 详细描述
ContentType *string `json:"content_type,omitempty"` // 内容类型
CreatedBy string `json:"created_by,omitempty"` // 创建人
Created string `json:"created,omitempty"` // 创建时间
GroupID *string `json:"group_id,omitempty"` // 分组ID
Source string `json:"source,omitempty"` // 来源
}
type LaunchForm ¶ added in v0.17.0
type LaunchForm struct {
ID string `json:"id,omitempty"` // 评审ID
WorkspaceID string `json:"workspace_id,omitempty"` // 所属项目ID
Created string `json:"created,omitempty"` // 创建时间
Title *string `json:"title,omitempty"` // 标题
Name string `json:"name,omitempty"` // 名称
Creator string `json:"creator,omitempty"` // 创建人
Status string `json:"status,omitempty"` // 状态
VersionType *string `json:"version_type,omitempty"` // 版本类型
Baseline *string `json:"baseline,omitempty"` // 基线
ReleaseModel *string `json:"release_model,omitempty"` // 发布模块
RoadmapVersion *string `json:"roadmap_version,omitempty"` // 路标版本
ReleaseType *string `json:"release_type,omitempty"` // 发布类型
ChangeType *string `json:"change_type,omitempty"` // 变更类型
SignedBy *string `json:"signed_by,omitempty"` // 签发人
ArchivedBy *string `json:"archived_by,omitempty"` // 发布确认人
CC *string `json:"cc,omitempty"` // 抄送人
ChangeNotifier *string `json:"change_notifier,omitempty"` // 变更通知人
Signed *string `json:"signed,omitempty"` // 签发时间
Archived *string `json:"archived,omitempty"` // 归档时间
SignerResult *string `json:"signer_result,omitempty"` // 签发结论
SignerComment *string `json:"signer_comment,omitempty"` // 签发意见
ReleaseResult *string `json:"release_result,omitempty"` // 发布结果
ReleaseComment *string `json:"release_comment,omitempty"` // 发布意见
TestPath *string `json:"test_path,omitempty"` // 测试路径
CreatedPath *string `json:"created_path,omitempty"` // 归档路径
Remark *string `json:"remark,omitempty"` // 备注
Participator *string `json:"participator,omitempty"` // 参与人
TemplateID string `json:"template_id,omitempty"` // 模板ID
IterationID *string `json:"iteration_id,omitempty"` // 迭代ID
ReleaseID *string `json:"release_id,omitempty"` // 发布计划ID
Flows string `json:"flows,omitempty"` // 流程状态
}
type LaunchFormActivityLog ¶ added in v0.17.0
type LaunchFormActivityLog struct {
ID string `json:"id,omitempty"` // 评审日志记录ID
WorkspaceID string `json:"workspace_id,omitempty"` // 所属项目ID
Type string `json:"type,omitempty"` // 类型
FormID string `json:"form_id,omitempty"` // 评审单ID
ActivityFormID *string `json:"activity_form_id,omitempty"` // 发布评审活动ID
Field string `json:"field,omitempty"` // 字段名
OldValue json.RawMessage `json:"old_value,omitempty"` // 变更前
NewValue json.RawMessage `json:"new_value,omitempty"` // 变更后
CreatedBy string `json:"created_by,omitempty"` // 创建人
Created string `json:"created,omitempty"` // 创建时间
Operation string `json:"operation,omitempty"` // 流程状态
FactorResult json.RawMessage `json:"factor_result,omitempty"` // 评审要素
}
type LaunchFormCustomFieldsSetting ¶ added in v0.17.0
type LaunchFormCustomFieldsSetting struct {
ID string `json:"id,omitempty"` // 自定义字段配置的ID
WorkspaceID string `json:"workspace_id,omitempty"` // 所属项目ID
EntryType string `json:"entry_type,omitempty"` // 所属实体对象
CustomField string `json:"custom_field,omitempty"` // 自定义字段标识
Type string `json:"type,omitempty"` // 输入类型
Name string `json:"name,omitempty"` // 自定义字段显示名称
Options *string `json:"options,omitempty"` // 自定义字段可选值
Enabled string `json:"enabled,omitempty"` // 是否启用
Sort *string `json:"sort,omitempty"` // 显示时排序系数
Memo *string `json:"memo,omitempty"` // 备注
}
type LaunchFormTemplate ¶ added in v0.17.0
type LifeTime ¶
type LifeTime struct {
ID string `json:"id"` // id
WorkspaceID string `json:"workspace_id"` // 项目ID
EntityType EntityType `json:"entity_type"` // 业务对象类型
EntityID string `json:"entity_id"` // 业务对象ID
Status string `json:"status"` // 状态
Owner string `json:"owner"` //
IsRepeated string `json:"is_repeated"` // 是否重复
BeginDate string `json:"begin_date"` // 开始时间
EndDate string `json:"end_date"` // 结束时间
TimeCost string `json:"time_cost"` // 停留时长,单位:小时
TimeCostReduced string `json:"time_cost_reduced"` // 停留时长,单位:小时
Created string `json:"created"` // 创建时间(变更时间)
Operator string `json:"operator"` // 操作人
IsLatest string `json:"is_latest"` // 是否最新
IsDelete string `json:"is_delete"` // 是否删除
}
LifeTime 状态流转时间
type LifeTimesRequest ¶
type LifeTimesRequest struct {
EntityID *int `url:"entity_id,omitempty"` // [必须]业务对象ID
EntityType *EntityType `url:"entity_type,omitempty"` // [必须]业务对象类型 目前type可选值:task,story,bug
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]项目ID
Created *string `url:"created,omitempty"` // 创建时间
Limit *int `url:"limit,omitempty"` // 设置返回数量限制,默认为30
Page *int `url:"page,omitempty"` // 返回当前数量限制下第N页的数据,默认为1(第一页)
Fields *Multi[string] `url:"fields,omitempty"` // 设置获取的字段,多个字段间以','逗号隔开
}
type LinkBugsRequest ¶ added in v0.17.0
type LockIterationRequest ¶ added in v0.17.0
type MeasureService ¶
type MeasureService interface {
// LifeTimes 获取状态流转时间
// Note: 一次插入一条数据。注意同一 entity_type、entity_id、spentdate、owner ,只能有一条工时记录
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/measure/get_life_times.html
LifeTimes(ctx context.Context, request *LifeTimesRequest, opts ...RequestOption) ([]*LifeTime, *Response, error)
}
func NewMeasureService ¶ added in v0.12.0
func NewMeasureService(client *Client) MeasureService
type MemberActivityLog ¶
type MemberActivityLog struct {
ID string `json:"id,omitempty"`
Action string `json:"action,omitempty"`
Created string `json:"created,omitempty"`
Creator string `json:"creator,omitempty"`
ProjectName string `json:"project_name,omitempty"`
OperateType OperateType `json:"operate_type,omitempty"`
OperateObject OperateObject `json:"operate_object,omitempty"`
Title string `json:"title,omitempty"`
URL string `json:"url,omitempty"`
IP string `json:"ip,omitempty"`
UA string `json:"ua,omitempty"`
}
type Multi ¶
type Multi[T any] []T
func NewMulti ¶
NewMulti creates a new multi value.
Example:
NewMulti("a", "b", "c") => "a,b,c"
NewMulti(1, 2, 3) => "1,2,3"
func (Multi[T]) MarshalJSON ¶
type OperateObject ¶
type OperateObject string
const ( OperateObjectAttachment OperateObject = "attachment" OperateObjectBoard OperateObject = "board" OperateObjectBug OperateObject = "bug" OperateObjectDocument OperateObject = "document" OperateObjectIteration OperateObject = "iteration" OperateObjectLaunch OperateObject = "launch" OperateObjectMemberActivityLog OperateObject = "member_activity_log" OperateObjectRelease OperateObject = "release" OperateObjectStory OperateObject = "story" OperateObjectTask OperateObject = "task" OperateObjectTestCase OperateObject = "tcase" OperateObjectTestPlan OperateObject = "testplan" OperateObjectWiki OperateObject = "wiki" )
type OperateType ¶
type OperateType string
const ( OperateTypeAdd OperateType = "add" OperateTypeDelete OperateType = "delete" OperateTypeDownload OperateType = "download" OperateTypeUpload OperateType = "upload" )
type Order ¶
type Order struct {
// contains filtered or unexported fields
}
Order is a type for order parameters.
func NewOrder ¶
func NewOrder(field string, opts ...OrderOption) *Order
NewOrder creates a new order parameter.
Example:
NewOrder("created") => "created asc"
NewOrder("created", OrderByAsc) => "created asc"
NewOrder("created", OrderByDesc) => "created desc"
func (*Order) MarshalJSON ¶
func (*Order) UnmarshalJSON ¶
type OrderOption ¶
type OrderOption func(*Order)
func WithOrderType ¶
func WithOrderType(orderType OrderType) OrderOption
type PriorityLabel ¶
type PriorityLabel string
const ( PriorityLabelHigh PriorityLabel = "High" PriorityLabelMiddle PriorityLabel = "Middle" PriorityLabelLow PriorityLabel = "Low" PriorityLabelNiceToHave PriorityLabel = "Nice To Have" )
func (PriorityLabel) String ¶
func (p PriorityLabel) String() string
type RawBody ¶
type RawBody struct {
Status int `json:"status"`
Data json.RawMessage `json:"data"`
Info string `json:"info"`
}
RawBody represents a raw body.
type Release ¶ added in v0.17.0
type Release struct {
ID string `json:"id,omitempty"` // ID
WorkspaceID string `json:"workspace_id,omitempty"` // 项目ID
Name string `json:"name,omitempty"` // 标题
Description *string `json:"description,omitempty"` // 详细描述
StartDate string `json:"startdate,omitempty"` // 开始时间
EndDate string `json:"enddate,omitempty"` // 结束时间
Creator string `json:"creator,omitempty"` // 创建人
Created string `json:"created,omitempty"` // 创建时间
Modified string `json:"modified,omitempty"` // 最后修改时间
Status string `json:"status,omitempty"` // 状态
}
type ReleaseService ¶ added in v0.17.0
type ReleaseService interface {
// CreateRelease 创建发布计划
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/release/add_new_release.html
CreateRelease(ctx context.Context, request *CreateReleaseRequest, opts ...RequestOption) (*Release, *Response, error)
// GetReleases 获取发布计划
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/release/get_releases.html
GetReleases(ctx context.Context, request *GetReleasesRequest, opts ...RequestOption) ([]*Release, *Response, error)
// GetReleasesCount 获取发布计划数量
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/release/get_releases_count.html
GetReleasesCount(ctx context.Context, request *GetReleasesCountRequest, opts ...RequestOption) (int, *Response, error)
// UpdateRelease 更新发布计划
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/release/update_new_release.html
UpdateRelease(ctx context.Context, request *UpdateReleaseRequest, opts ...RequestOption) (*Release, *Response, error)
// GetLaunchAccessories 获取发布评审依据
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/release/get_launch_accessories.html
GetLaunchAccessories(ctx context.Context, request *GetLaunchAccessoriesRequest, opts ...RequestOption) ([]*LaunchAccessory, *Response, error)
// GetLaunchForms 获取发布评审
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/release/get_launch_forms.html
GetLaunchForms(ctx context.Context, request *GetLaunchFormsRequest, opts ...RequestOption) ([]*LaunchForm, *Response, error)
// CreateLaunchForm 创建发布评审
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/release/add_launch_form.html
CreateLaunchForm(ctx context.Context, request *CreateLaunchFormRequest, opts ...RequestOption) (*LaunchForm, *Response, error)
// CreateLaunchAccessory 创建发布评审依据
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/release/add_launch_accessories.html
CreateLaunchAccessory(ctx context.Context, request *CreateLaunchAccessoryRequest, opts ...RequestOption) (*LaunchAccessory, *Response, error)
// GetLaunchFormsCount 获取发布评审数量
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/release/get_launch_forms_count.html
GetLaunchFormsCount(ctx context.Context, request *GetLaunchFormsCountRequest, opts ...RequestOption) (int, *Response, error)
// GetLaunchFormCustomFieldsSettings 获取发布评审自定义字段配置
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/release/get_launch_forms_custom_fields_settings.html
GetLaunchFormCustomFieldsSettings(
ctx context.Context, request *GetLaunchFormCustomFieldsSettingsRequest, opts ...RequestOption,
) ([]*LaunchFormCustomFieldsSetting, *Response, error)
// GetLaunchFormTemplates 获取发布评审模板
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/release/get_launch_forms_templates.html
GetLaunchFormTemplates(ctx context.Context, request *GetLaunchFormTemplatesRequest, opts ...RequestOption) ([]*LaunchFormTemplate, *Response, error)
// GetLaunchFormActivityLogs 获取发布评审日志
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/release/get_lauch_forms_activity_logs.html
GetLaunchFormActivityLogs(
ctx context.Context, request *GetLaunchFormActivityLogsRequest, opts ...RequestOption,
) ([]*LaunchFormActivityLog, *Response, error)
}
ReleaseService 发布服务。
https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/release/
func NewReleaseService ¶ added in v0.17.0
func NewReleaseService(client *Client) ReleaseService
type RemoveStoryBugRelationRequest ¶ added in v0.17.0
type RemoveStoryBugRelationResult ¶ added in v0.17.0
type RemoveStoryBugRelationResult struct {
Success bool `json:"success,omitempty"` // 是否解除成功
}
type RemoveTestCaseFromTestPlanRequest ¶ added in v0.17.0
type RemoveTestCaseFromTestPlanRequest struct {
TestPlanID *int64 `json:"test_plan_id,omitempty"` // [必须]测试计划ID
WorkspaceID *int `json:"workspace_id,omitempty"` // [必须]项目ID
StoryID *int64 `json:"story_id,omitempty"` // 需求ID
TestCaseID *Multi[int64] `json:"tcase_id,omitempty"` // [必须]测试用例ID,多个使用英文逗号分隔
}
type RemovedBug ¶ added in v0.17.0
type RemovedBug struct {
ID string `json:"id,omitempty"` // 缺陷ID
Title string `json:"title,omitempty"` // 标题
Reporter string `json:"reporter,omitempty"` // 创建人
Created string `json:"created,omitempty"` // 创建时间
OperationUser string `json:"operation_user,omitempty"` // 删除人
Modified string `json:"modified,omitempty"` // 删除时间
RemovedComment string `json:"removed_comment,omitempty"` // 删除附加信息
Type string `json:"type,omitempty"` // 删除操作类型
NewBugURL string `json:"new_bug_url,omitempty"` // 新缺陷链接
}
type RemovedStory ¶
type RemovedStory struct {
ID string `json:"id,omitempty"` // 需求ID
Name string `json:"name,omitempty"` // 标题
Creator string `json:"creator,omitempty"` // 创建人
Created string `json:"created,omitempty"` // 创建时间
OperationUser string `json:"operation_user,omitempty"` // 删除人
IsArchived string `json:"is_archived,omitempty"` // 是否为归档
Deleted string `json:"deleted,omitempty"` // 删除时间
}
type RemovedTask ¶ added in v0.17.0
type RemovedTask struct {
ID string `json:"id,omitempty"` // 任务ID
Name string `json:"name,omitempty"` // 标题
Creator string `json:"creator,omitempty"` // 创建人
Created string `json:"created,omitempty"` // 创建时间
OperationUser string `json:"operation_user,omitempty"` // 删除人
IsArchived string `json:"is_archived,omitempty"` // 是否为归档
Deleted string `json:"deleted,omitempty"` // 删除时间
}
type Report ¶
type Report struct {
ID string `json:"id,omitempty"`
Title string `json:"title,omitempty"`
WorkspaceID string `json:"workspace_id,omitempty"`
ReportType ReportType `json:"report_type,omitempty"`
Receiver string `json:"receiver,omitempty"`
Cc string `json:"cc,omitempty"`
ReceiverOrganizationIDs string `json:"receiver_organization_ids,omitempty"`
CcOrganizationIDs string `json:"cc_organization_ids,omitempty"`
Sender string `json:"sender,omitempty"`
SendTime string `json:"send_time,omitempty"`
Author string `json:"author,omitempty"`
Created string `json:"created,omitempty"`
Status ReportStatus `json:"status,omitempty"`
Modified string `json:"modified,omitempty"`
LastModify string `json:"last_modify,omitempty"`
}
Report 项目报告
type ReportService ¶
type ReportService interface {
// GetReports 获取项目报告
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/report/get_workspace_reports.html
GetReports(ctx context.Context, request *GetReportsRequest, opts ...RequestOption) ([]*Report, *Response, error)
}
ReportService is a service to interact with report related API
func NewReportService ¶ added in v0.12.0
func NewReportService(client *Client) ReportService
type ReportStatus ¶
type ReportStatus string
ReportStatus 报告状态(sent:已发送, draft:草稿, abandon:已删除)
const ( ReportStatusSent ReportStatus = "sent" ReportStatusDraft ReportStatus = "draft" ReportStatusAbandon ReportStatus = "abandon" )
type ReportType ¶
type ReportType string
ReportType 报告类型(normal:项目进度报告, totest:项目转测试, test:测试报告)
const ( ReportTypeNormal ReportType = "normal" ReportTypeToTest ReportType = "totest" ReportTypeTest ReportType = "test" )
type RequestOption ¶
func WithRequestAccessToken ¶ added in v0.13.0
func WithRequestAccessToken(accessToken string) RequestOption
func WithRequestBasicAuth ¶
func WithRequestBasicAuth(clientID, clientSecret string) RequestOption
func WithRequestHeader ¶
func WithRequestHeader(name, value string) RequestOption
func WithRequestHeaderFunc ¶
func WithRequestHeaderFunc(fn func(http.Header)) RequestOption
func WithRequestHeaders ¶
func WithRequestHeaders(headers map[string]string) RequestOption
func WithRequestUserAgent ¶
func WithRequestUserAgent(userAgent string) RequestOption
type RetryableHTTPClientOption ¶
type RetryableHTTPClientOption func(client *retryablehttp.Client)
func WithRetryableHTTPClientBackoff ¶
func WithRetryableHTTPClientBackoff(backoff retryablehttp.Backoff) RetryableHTTPClientOption
func WithRetryableHTTPClientCheckRetry ¶
func WithRetryableHTTPClientCheckRetry(checkRetry retryablehttp.CheckRetry) RetryableHTTPClientOption
func WithRetryableHTTPClientLogger ¶
func WithRetryableHTTPClientLogger(logger retryablehttp.Logger) RetryableHTTPClientOption
func WithRetryableHTTPClientRetryMax ¶
func WithRetryableHTTPClientRetryMax(retryMax int) RetryableHTTPClientOption
func WithRetryableHTTPClientRetryWaitMax ¶
func WithRetryableHTTPClientRetryWaitMax(waitMax time.Duration) RetryableHTTPClientOption
func WithRetryableHTTPClientRetryWaitMin ¶
func WithRetryableHTTPClientRetryWaitMin(waitMin time.Duration) RetryableHTTPClientOption
type SaveStoryTimeRelation ¶ added in v0.17.0
type SaveStoryTimeRelation struct {
WorkitemID *int64 `json:"workitem_id,omitempty"` // [必须]起点需求ID
DstWorkitemID *int64 `json:"dst_workitem_id,omitempty"` // [必须]终点需求ID
SrcField *string `json:"src_field,omitempty"` // [必须]起点字段,只能是 begin 或 due
DstField *string `json:"dst_field,omitempty"` // [必须]终点字段,只能是 begin 或 due
}
type SaveStoryTimeRelationsRequest ¶ added in v0.17.0
type SaveStoryTimeRelationsRequest struct {
WorkspaceID *int `json:"workspace_id,omitempty"` // [必须]项目ID
Relations []*SaveStoryTimeRelation `json:"relations,omitempty"` // [必须]需要新增或修改的关系列表
CurrentUser *string `json:"current_user,omitempty"` // [必须]执行此操作的用户 nick
}
type SaveStoryTimeRelationsResult ¶ added in v0.17.0
type SaveStoryTimeRelationsResult struct {
Result bool `json:"result,omitempty"` // 是否保存成功
}
type SetCustomWorkCalendarRequest ¶ added in v0.17.0
type SetCustomWorkCalendarRequest struct {
WorkspaceID *int `json:"workspace_id,omitempty"` // [必须]项目ID
Year *string `json:"year,omitempty"` // [必须]年份
Weekdays *[]int `json:"weekdays,omitempty"` // 周内工作日,1-7;不传默认周一到周五
Holidays *[]string `json:"holidays,omitempty"` // 额外假日
Workdays *[]string `json:"workdays,omitempty"` // 额外工作日
}
type SetCustomWorkCalendarResponse ¶ added in v0.17.0
type SetCustomWorkCalendarResponse struct {
Success bool `json:"success,omitempty"` // 是否设置成功
}
type SettingService ¶
type SettingService interface {
// GetWorkspaceSetting 获取项目配置开关
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/setting/get_workspace_setting.html
GetWorkspaceSetting(ctx context.Context, request *GetWorkspaceSettingRequest, opts ...RequestOption) (*GetWorkspaceSettingResponse, *Response, error)
}
SettingService 配置
https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/setting/
func NewSettingService ¶ added in v0.12.0
func NewSettingService(client *Client) SettingService
type SourceService ¶ added in v0.17.0
type SourceService interface {
// AddCodeCommitInfo 保存Commit提交数据
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/source/add_code_commit_info.html
AddCodeCommitInfo(
ctx context.Context, request *AddCodeCommitInfoRequest, opts ...RequestOption,
) (*CodeCommitInfo, *Response, error)
// GetCodeCommitInfos 获取GIT关联提交数据(GitCommit)
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/source/get_code_commit_infos.html
GetCodeCommitInfos(
ctx context.Context, request *GetCodeCommitInfosRequest, opts ...RequestOption,
) ([]*CodeCommitInfo, *Response, error)
// GetCommitObjects 获取指定commit关联的业务对象
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/source/get_commit_objects.html
GetCommitObjects(
ctx context.Context, request *GetCommitObjectsRequest, opts ...RequestOption,
) ([]*CommitObject, *Response, error)
}
func NewSourceService ¶ added in v0.17.0
func NewSourceService(client *Client) SourceService
type StoreChangeType ¶
type StoreChangeType string
StoreChangeType 变更类型
const ( StoreChangeTypeSyncCopy StoreChangeType = "sync_copy" // 同步复制联动 StoreChangeTypeStoryStatusRelation StoreChangeType = "story_status_relation" // 父子需求联动 StoreChangeTypeStoryTaskRelation StoreChangeType = "story_task_relation" // 需求任务联动 StoreChangeTypeAPI StoreChangeType = "api" // API变更 StoreChangeTypeSmartCommit StoreChangeType = "smart_commit" // Smart Commit触发 StoreChangeTypeAutoTask StoreChangeType = "auto_task" // 自动化任务触发 StoreChangeTypeAutoWorkflow StoreChangeType = "auto_workflow" // 自动化工作流触发 StoreChangeTypeManualUpdate StoreChangeType = "manual_update" // 手动变更 StoreChangeTypeImportUpdate StoreChangeType = "import_update" // 导入更新 StoreChangeTypeCodeChange StoreChangeType = "code_change" // 代码变更 StoreChangeTypeStatusDelete StoreChangeType = "status_delete" // 状态删除 StoreChangeTypeExitWorkspace StoreChangeType = "exit_workspace" // 退出项目触发 StoreChangeTypeLinkUpdate StoreChangeType = "link_update" // 更新关联 StoreChangeTypeLinkCreate StoreChangeType = "link_create" // 创建关联 StoreChangeTypeLinkDelete StoreChangeType = "link_delete" // 删除关联 StoreChangeTypeCreateStoryFromCopy StoreChangeType = "create_story_from_copy" // 复制创建 StoreChangeTypeCreateStory StoreChangeType = "create_story" // 创建需求 )
type StoriesCountByCategory ¶
type Story ¶
type Story struct {
ID string `json:"id,omitempty"`
WorkitemTypeID string `json:"workitem_type_id,omitempty"`
Name string `json:"name,omitempty"`
Description string `json:"description,omitempty"`
WorkspaceID string `json:"workspace_id,omitempty"`
Creator string `json:"creator,omitempty"`
Created string `json:"created,omitempty"`
Modified string `json:"modified,omitempty"`
Status StoryStatus `json:"status,omitempty"`
Step string `json:"step,omitempty"`
Owner string `json:"owner,omitempty"`
Cc string `json:"cc,omitempty"`
Begin *string `json:"begin,omitempty"`
Due *string `json:"due,omitempty"`
Size *string `json:"size,omitempty"`
Priority string `json:"priority,omitempty"`
Developer string `json:"developer,omitempty"`
IterationID string `json:"iteration_id,omitempty"`
TestFocus string `json:"test_focus,omitempty"`
Type string `json:"type,omitempty"`
Source string `json:"source,omitempty"`
Module string `json:"module,omitempty"`
Version string `json:"version,omitempty"`
Completed *string `json:"completed,omitempty"`
CategoryID string `json:"category_id,omitempty"`
Path string `json:"path,omitempty"`
ParentID string `json:"parent_id,omitempty"`
ChildrenID string `json:"children_id,omitempty"`
AncestorID string `json:"ancestor_id,omitempty"`
Level string `json:"level,omitempty"`
BusinessValue *string `json:"business_value,omitempty"`
Effort *string `json:"effort,omitempty"`
EffortCompleted string `json:"effort_completed,omitempty"`
Exceed string `json:"exceed,omitempty"`
Remain string `json:"remain,omitempty"`
ReleaseID string `json:"release_id,omitempty"`
BugID string `json:"bug_id,omitempty"`
TemplatedID string `json:"templated_id,omitempty"`
CreatedFrom string `json:"created_from,omitempty"`
Feature string `json:"feature,omitempty"`
Label string `json:"label,omitempty"`
Progress string `json:"progress,omitempty"`
IsArchived string `json:"is_archived,omitempty"`
TechRisk *string `json:"tech_risk,omitempty"`
Flows *string `json:"flows,omitempty"`
SecretRootID string `json:"secret_root_id,omitempty"`
PriorityLabel PriorityLabel `json:"priority_label,omitempty"`
CustomFieldOne string `json:"custom_field_one,omitempty"`
CustomFieldTwo string `json:"custom_field_two,omitempty"`
CustomFieldThree string `json:"custom_field_three,omitempty"`
CustomFieldFour string `json:"custom_field_four,omitempty"`
CustomFieldFive string `json:"custom_field_five,omitempty"`
CustomFieldSix string `json:"custom_field_six,omitempty"`
CustomFieldSeven string `json:"custom_field_seven,omitempty"`
CustomFieldEight string `json:"custom_field_eight,omitempty"`
CustomField9 string `json:"custom_field_9,omitempty"`
CustomField10 string `json:"custom_field_10,omitempty"`
CustomField11 string `json:"custom_field_11,omitempty"`
CustomField12 string `json:"custom_field_12,omitempty"`
CustomField13 string `json:"custom_field_13,omitempty"`
CustomField14 string `json:"custom_field_14,omitempty"`
CustomField15 string `json:"custom_field_15,omitempty"`
CustomField16 string `json:"custom_field_16,omitempty"`
CustomField17 string `json:"custom_field_17,omitempty"`
CustomField18 string `json:"custom_field_18,omitempty"`
CustomField19 string `json:"custom_field_19,omitempty"`
CustomField20 string `json:"custom_field_20,omitempty"`
CustomField21 string `json:"custom_field_21,omitempty"`
CustomField22 string `json:"custom_field_22,omitempty"`
CustomField23 string `json:"custom_field_23,omitempty"`
CustomField24 string `json:"custom_field_24,omitempty"`
CustomField25 string `json:"custom_field_25,omitempty"`
CustomField26 string `json:"custom_field_26,omitempty"`
CustomField27 string `json:"custom_field_27,omitempty"`
CustomField28 string `json:"custom_field_28,omitempty"`
CustomField29 string `json:"custom_field_29,omitempty"`
CustomField30 string `json:"custom_field_30,omitempty"`
CustomField31 string `json:"custom_field_31,omitempty"`
CustomField32 string `json:"custom_field_32,omitempty"`
CustomField33 string `json:"custom_field_33,omitempty"`
CustomField34 string `json:"custom_field_34,omitempty"`
CustomField35 string `json:"custom_field_35,omitempty"`
CustomField36 string `json:"custom_field_36,omitempty"`
CustomField37 string `json:"custom_field_37,omitempty"`
CustomField38 string `json:"custom_field_38,omitempty"`
CustomField39 string `json:"custom_field_39,omitempty"`
CustomField40 string `json:"custom_field_40,omitempty"`
CustomField41 string `json:"custom_field_41,omitempty"`
CustomField42 string `json:"custom_field_42,omitempty"`
CustomField43 string `json:"custom_field_43,omitempty"`
CustomField44 string `json:"custom_field_44,omitempty"`
CustomField45 string `json:"custom_field_45,omitempty"`
CustomField46 string `json:"custom_field_46,omitempty"`
CustomField47 string `json:"custom_field_47,omitempty"`
CustomField48 string `json:"custom_field_48,omitempty"`
CustomField49 string `json:"custom_field_49,omitempty"`
CustomField50 string `json:"custom_field_50,omitempty"`
CustomField51 string `json:"custom_field_51,omitempty"`
CustomField52 string `json:"custom_field_52,omitempty"`
CustomField53 string `json:"custom_field_53,omitempty"`
CustomField54 string `json:"custom_field_54,omitempty"`
CustomField55 string `json:"custom_field_55,omitempty"`
CustomField56 string `json:"custom_field_56,omitempty"`
CustomField57 string `json:"custom_field_57,omitempty"`
CustomField58 string `json:"custom_field_58,omitempty"`
CustomField59 string `json:"custom_field_59,omitempty"`
CustomField60 string `json:"custom_field_60,omitempty"`
CustomField61 string `json:"custom_field_61,omitempty"`
CustomField62 string `json:"custom_field_62,omitempty"`
CustomField63 string `json:"custom_field_63,omitempty"`
CustomField64 string `json:"custom_field_64,omitempty"`
CustomField65 string `json:"custom_field_65,omitempty"`
CustomField66 string `json:"custom_field_66,omitempty"`
CustomField67 string `json:"custom_field_67,omitempty"`
CustomField68 string `json:"custom_field_68,omitempty"`
CustomField69 string `json:"custom_field_69,omitempty"`
CustomField70 string `json:"custom_field_70,omitempty"`
CustomField71 string `json:"custom_field_71,omitempty"`
CustomField72 string `json:"custom_field_72,omitempty"`
CustomField73 string `json:"custom_field_73,omitempty"`
CustomField74 string `json:"custom_field_74,omitempty"`
CustomField75 string `json:"custom_field_75,omitempty"`
CustomField76 string `json:"custom_field_76,omitempty"`
CustomField77 string `json:"custom_field_77,omitempty"`
CustomField78 string `json:"custom_field_78,omitempty"`
CustomField79 string `json:"custom_field_79,omitempty"`
CustomField80 string `json:"custom_field_80,omitempty"`
CustomField81 string `json:"custom_field_81,omitempty"`
CustomField82 string `json:"custom_field_82,omitempty"`
CustomField83 string `json:"custom_field_83,omitempty"`
CustomField84 string `json:"custom_field_84,omitempty"`
CustomField85 string `json:"custom_field_85,omitempty"`
CustomField86 string `json:"custom_field_86,omitempty"`
CustomField87 string `json:"custom_field_87,omitempty"`
CustomField88 string `json:"custom_field_88,omitempty"`
CustomField89 string `json:"custom_field_89,omitempty"`
CustomField90 string `json:"custom_field_90,omitempty"`
CustomField91 string `json:"custom_field_91,omitempty"`
CustomField92 string `json:"custom_field_92,omitempty"`
CustomField93 string `json:"custom_field_93,omitempty"`
CustomField94 string `json:"custom_field_94,omitempty"`
CustomField95 string `json:"custom_field_95,omitempty"`
CustomField96 string `json:"custom_field_96,omitempty"`
CustomField97 string `json:"custom_field_97,omitempty"`
CustomField98 string `json:"custom_field_98,omitempty"`
CustomField99 string `json:"custom_field_99,omitempty"`
CustomField100 string `json:"custom_field_100,omitempty"`
CustomField101 string `json:"custom_field_101,omitempty"`
CustomField102 string `json:"custom_field_102,omitempty"`
CustomField103 string `json:"custom_field_103,omitempty"`
CustomField104 string `json:"custom_field_104,omitempty"`
CustomField105 string `json:"custom_field_105,omitempty"`
CustomField106 string `json:"custom_field_106,omitempty"`
CustomField107 string `json:"custom_field_107,omitempty"`
CustomField108 string `json:"custom_field_108,omitempty"`
CustomField109 string `json:"custom_field_109,omitempty"`
CustomField110 string `json:"custom_field_110,omitempty"`
CustomField111 string `json:"custom_field_111,omitempty"`
CustomField112 string `json:"custom_field_112,omitempty"`
CustomField113 string `json:"custom_field_113,omitempty"`
CustomField114 string `json:"custom_field_114,omitempty"`
CustomField115 string `json:"custom_field_115,omitempty"`
CustomField116 string `json:"custom_field_116,omitempty"`
CustomField117 string `json:"custom_field_117,omitempty"`
CustomField118 string `json:"custom_field_118,omitempty"`
CustomField119 string `json:"custom_field_119,omitempty"`
CustomField120 string `json:"custom_field_120,omitempty"`
CustomField121 string `json:"custom_field_121,omitempty"`
CustomField122 string `json:"custom_field_122,omitempty"`
CustomField123 string `json:"custom_field_123,omitempty"`
CustomField124 string `json:"custom_field_124,omitempty"`
CustomField125 string `json:"custom_field_125,omitempty"`
CustomField126 string `json:"custom_field_126,omitempty"`
CustomField127 string `json:"custom_field_127,omitempty"`
CustomField128 string `json:"custom_field_128,omitempty"`
CustomField129 string `json:"custom_field_129,omitempty"`
CustomField130 string `json:"custom_field_130,omitempty"`
CustomField131 string `json:"custom_field_131,omitempty"`
CustomField132 string `json:"custom_field_132,omitempty"`
CustomField133 string `json:"custom_field_133,omitempty"`
CustomField134 string `json:"custom_field_134,omitempty"`
CustomField135 string `json:"custom_field_135,omitempty"`
CustomField136 string `json:"custom_field_136,omitempty"`
CustomField137 string `json:"custom_field_137,omitempty"`
CustomField138 string `json:"custom_field_138,omitempty"`
CustomField139 string `json:"custom_field_139,omitempty"`
CustomField140 string `json:"custom_field_140,omitempty"`
CustomField141 string `json:"custom_field_141,omitempty"`
CustomField142 string `json:"custom_field_142,omitempty"`
CustomField143 string `json:"custom_field_143,omitempty"`
CustomField144 string `json:"custom_field_144,omitempty"`
CustomField145 string `json:"custom_field_145,omitempty"`
CustomField146 string `json:"custom_field_146,omitempty"`
CustomField147 string `json:"custom_field_147,omitempty"`
CustomField148 string `json:"custom_field_148,omitempty"`
CustomField149 string `json:"custom_field_149,omitempty"`
CustomField150 string `json:"custom_field_150,omitempty"`
CustomField151 string `json:"custom_field_151,omitempty"`
CustomField152 string `json:"custom_field_152,omitempty"`
CustomField153 string `json:"custom_field_153,omitempty"`
CustomField154 string `json:"custom_field_154,omitempty"`
CustomField155 string `json:"custom_field_155,omitempty"`
CustomField156 string `json:"custom_field_156,omitempty"`
CustomField157 string `json:"custom_field_157,omitempty"`
CustomField158 string `json:"custom_field_158,omitempty"`
CustomField159 string `json:"custom_field_159,omitempty"`
CustomField160 string `json:"custom_field_160,omitempty"`
CustomField161 string `json:"custom_field_161,omitempty"`
CustomField162 string `json:"custom_field_162,omitempty"`
CustomField163 string `json:"custom_field_163,omitempty"`
CustomField164 string `json:"custom_field_164,omitempty"`
CustomField165 string `json:"custom_field_165,omitempty"`
CustomField166 string `json:"custom_field_166,omitempty"`
CustomField167 string `json:"custom_field_167,omitempty"`
CustomField168 string `json:"custom_field_168,omitempty"`
CustomField169 string `json:"custom_field_169,omitempty"`
CustomField170 string `json:"custom_field_170,omitempty"`
CustomField171 string `json:"custom_field_171,omitempty"`
CustomField172 string `json:"custom_field_172,omitempty"`
CustomField173 string `json:"custom_field_173,omitempty"`
CustomField174 string `json:"custom_field_174,omitempty"`
CustomField175 string `json:"custom_field_175,omitempty"`
CustomField176 string `json:"custom_field_176,omitempty"`
CustomField177 string `json:"custom_field_177,omitempty"`
CustomField178 string `json:"custom_field_178,omitempty"`
CustomField179 string `json:"custom_field_179,omitempty"`
CustomField180 string `json:"custom_field_180,omitempty"`
CustomField181 string `json:"custom_field_181,omitempty"`
CustomField182 string `json:"custom_field_182,omitempty"`
CustomField183 string `json:"custom_field_183,omitempty"`
CustomField184 string `json:"custom_field_184,omitempty"`
CustomField185 string `json:"custom_field_185,omitempty"`
CustomField186 string `json:"custom_field_186,omitempty"`
CustomField187 string `json:"custom_field_187,omitempty"`
CustomField188 string `json:"custom_field_188,omitempty"`
CustomField189 string `json:"custom_field_189,omitempty"`
CustomField190 string `json:"custom_field_190,omitempty"`
CustomField191 string `json:"custom_field_191,omitempty"`
CustomField192 string `json:"custom_field_192,omitempty"`
CustomField193 string `json:"custom_field_193,omitempty"`
CustomField194 string `json:"custom_field_194,omitempty"`
CustomField195 string `json:"custom_field_195,omitempty"`
CustomField196 string `json:"custom_field_196,omitempty"`
CustomField197 string `json:"custom_field_197,omitempty"`
CustomField198 string `json:"custom_field_198,omitempty"`
CustomField199 string `json:"custom_field_199,omitempty"`
CustomField200 string `json:"custom_field_200,omitempty"`
CustomPlanField1 string `json:"custom_plan_field_1,omitempty"`
CustomPlanField2 string `json:"custom_plan_field_2,omitempty"`
CustomPlanField3 string `json:"custom_plan_field_3,omitempty"`
CustomPlanField4 string `json:"custom_plan_field_4,omitempty"`
CustomPlanField5 string `json:"custom_plan_field_5,omitempty"`
CustomPlanField6 string `json:"custom_plan_field_6,omitempty"`
CustomPlanField7 string `json:"custom_plan_field_7,omitempty"`
CustomPlanField8 string `json:"custom_plan_field_8,omitempty"`
CustomPlanField9 string `json:"custom_plan_field_9,omitempty"`
CustomPlanField10 string `json:"custom_plan_field_10,omitempty"`
}
type StoryBugRelation ¶ added in v0.17.0
type StoryBugRelation struct {
ID string `json:"id,omitempty"` // 主键ID
WorkspaceID string `json:"workspace_id,omitempty"` // 项目ID
SourceType string `json:"source_type,omitempty"` // 源对象类型
SourceID string `json:"source_id,omitempty"` // 源对象ID
TargetType string `json:"target_type,omitempty"` // 目标对象类型
TargetID string `json:"target_id,omitempty"` // 目标对象ID
Created string `json:"created,omitempty"` // 创建时间
Modified string `json:"modified,omitempty"` // 最后修改时间
}
type StoryCategory ¶
type StoryCategory struct {
ID string `json:"id,omitempty"` // ID
WorkspaceID string `json:"workspace_id,omitempty"` // 项目ID
Name string `json:"name,omitempty"` // 需求分类名称
Description string `json:"description,omitempty"` // 需求分类描述
ParentID string `json:"parent_id,omitempty"` // 父分类ID
Created string `json:"created,omitempty"` // 创建时间
Modified string `json:"modified,omitempty"` // 最后修改时间
Creator string `json:"creator,omitempty"` // 创建人
Modifier string `json:"modifier,omitempty"` // 最后修改人
}
type StoryChange ¶
type StoryChange struct {
ID string `json:"id,omitempty"`
WorkspaceID string `json:"workspace_id,omitempty"`
AppID string `json:"app_id,omitempty"`
WorkitemTypeID string `json:"workitem_type_id,omitempty"`
Creator string `json:"creator,omitempty"`
Created string `json:"created,omitempty"`
ChangeSummary string `json:"change_summary,omitempty"`
Comment *string `json:"comment,omitempty"`
Changes string `json:"changes,omitempty"`
EntityType string `json:"entity_type,omitempty"`
ChangeType StoreChangeType `json:"change_type,omitempty"`
ChangeTypeText string `json:"change_type_text,omitempty"`
Updated string `json:"updated,omitempty"`
FieldChanges []struct {
Field string `json:"field,omitempty"`
ValueBefore any `json:"value_before,omitempty"` // todo: any to string
ValueAfter any `json:"value_after,omitempty"` // todo: any to string
ValueBeforeParsed string `json:"value_before_parsed,omitempty"`
ValueAfterParsed string `json:"value_after_parsed,omitempty"`
FieldLabel string `json:"field_label,omitempty"`
} `json:"field_changes,omitempty"`
StoryID string `json:"story_id,omitempty"`
}
type StoryCustomFieldsSetting ¶
type StoryCustomFieldsSetting struct {
ID string `json:"id,omitempty"` // 自定义字段配置的ID
WorkspaceID string `json:"workspace_id,omitempty"` // 所属项目ID
AppID string `json:"app_id,omitempty"`
EntryType string `json:"entry_type,omitempty"` // 所属实体对象
CustomField string `json:"custom_field,omitempty"` // 自定义字段标识(英文名)
Type string `json:"type,omitempty"` // 输入类型
Name string `json:"name,omitempty"` // 自定义字段显示名称
Options *string `json:"options,omitempty"` // 自定义字段可选值
ExtraConfig *string `json:"extra_config,omitempty"` // 额外配置
Enabled string `json:"enabled,omitempty"` // 是否启用
Freeze string `json:"freeze,omitempty"`
Sort *string `json:"sort,omitempty"` // 显示时排序系数
Memo *string `json:"memo,omitempty"`
OpenExtensionID string `json:"open_extension_id,omitempty"`
IsOut int `json:"is_out,omitempty"`
IsUninstall int `json:"is_uninstall,omitempty"`
AppName string `json:"app_name,omitempty"`
}
type StoryFieldLabel ¶ added in v0.15.0
type StoryFieldsInfo ¶ added in v0.17.0
type StoryFieldsInfo struct {
Name string `json:"name,omitempty"` // 字段名
HTMLType StoryFieldsInfoHTMLType `json:"html_type,omitempty"` // 类型
Label string `json:"label,omitempty"` // 中文名称
Memo string `json:"memo,omitempty"` // 备注
Readonly int `json:"readonly,omitempty"` // 是否只读
Options []StoryFieldsInfoOption `json:"options,omitempty"` // 候选值
ColorOptions []StoryFieldsInfoColorOption `json:"color_options,omitempty"` // 带颜色的候选值
PureOptions []StoryFieldsInfoPureOption `json:"pure_options,omitempty"` // 原始候选值
UserOptions []StoryFieldsInfoUserOption `json:"user_options,omitempty"` // 用户候选值
RawOptions json.RawMessage `json:"raw_options,omitempty"` // 原始 options,保留级联等复杂结构
RawPureOptions json.RawMessage `json:"raw_pure_options,omitempty"` // 原始 pure_options
RawUserOptions json.RawMessage `json:"raw_user_options,omitempty"` // 原始 user_options
}
type StoryFieldsInfoColorOption ¶ added in v0.17.0
type StoryFieldsInfoHTMLType ¶ added in v0.17.0
type StoryFieldsInfoHTMLType string
StoryFieldsInfoHTMLType 需求字段控件类型。
const ( StoryFieldsInfoHTMLTypeInput StoryFieldsInfoHTMLType = "input" StoryFieldsInfoHTMLTypeSelect StoryFieldsInfoHTMLType = "select" StoryFieldsInfoHTMLTypeRichEdit StoryFieldsInfoHTMLType = "rich_edit" StoryFieldsInfoHTMLTypeUserChooser StoryFieldsInfoHTMLType = "user_chooser" StoryFieldsInfoHTMLTypeSingleUserChooser StoryFieldsInfoHTMLType = "single_user_chooser" StoryFieldsInfoHTMLTypeDatetime StoryFieldsInfoHTMLType = "datetime" StoryFieldsInfoHTMLTypeDateInput StoryFieldsInfoHTMLType = "dateinput" StoryFieldsInfoHTMLTypeText StoryFieldsInfoHTMLType = "text" StoryFieldsInfoHTMLTypeRadio StoryFieldsInfoHTMLType = "radio" StoryFieldsInfoHTMLTypeFile StoryFieldsInfoHTMLType = "file" )
type StoryFieldsInfoOption ¶ added in v0.17.0
type StoryFieldsInfoPureOption ¶ added in v0.17.0
type StoryFieldsInfoPureOption struct {
ParentID string `json:"parent_id,omitempty"` // 父选项ID
WorkspaceID string `json:"workspace_id,omitempty"` // 项目ID
Sort string `json:"sort,omitempty"` // 排序
WorkitemTypeID string `json:"workitem_type_id,omitempty"` // 需求类别ID
PlanAppID string `json:"plan_app_id,omitempty"` // 规划应用ID
OriginName string `json:"origin_name,omitempty"` // 原始名称
Value string `json:"value,omitempty"` // 值
Label string `json:"label,omitempty"` // 中文名称
Panel int `json:"panel,omitempty"` // 面板
}
type StoryFieldsInfoUserOption ¶ added in v0.17.0
type StoryLinkRelation ¶ added in v0.17.0
type StoryLinkRelation struct {
Type string `json:"type,omitempty"` // 关系类型
ID string `json:"id,omitempty"` // 关联的需求ID
StoryID string `json:"story_id,omitempty"` // 原需求ID
WorkspaceID string `json:"workspace_id,omitempty"` // 项目ID
ActAs string `json:"actas,omitempty"` // 角色
Created string `json:"created,omitempty"` // 创建时间
Modified string `json:"modified,omitempty"` // 最后修改时间
LinkedWorkspaceID int `json:"linked_workspace_id,omitempty"` // 关联项目ID
}
type StoryRelatedBug ¶
type StorySecretInfo ¶ added in v0.17.0
type StorySecretInfo struct {
Creator string `json:"creator,omitempty"` // 需求创建人
AllowList string `json:"allow_list,omitempty"` // 保密需求树白名单
SecretRootID string `json:"secret_root_id,omitempty"` // 保密需求树根节点,公开时为0
AddParticipantFields string `json:"add_participant_fields,omitempty"` // 保密范围是否纳入参与人
SecretScope string `json:"secret_scrope,omitempty"` // 保密范围,secret 为保密,public 为公开
}
type StoryService ¶
type StoryService interface {
// CreateStory 创建需求
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/story/add_story.html
CreateStory(ctx context.Context, request *CreateStoryRequest, opts ...RequestOption) (*Story, *Response, error)
// CreateStoryCategory 创建需求分类
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/story/add_story_category.html
CreateStoryCategory(ctx context.Context, request *CreateStoryCategoryRequest, opts ...RequestOption) (*StoryCategory, *Response, error)
// CopyStory 复制需求
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/story/copy_story.html
CopyStory(ctx context.Context, request *CopyStoryRequest, opts ...RequestOption) (*Story, *Response, error)
// GetStoryLinkStories 获取需求与其它需求的所有关联关系
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/story/get_link_stories.html
GetStoryLinkStories(ctx context.Context, request *GetStoryLinkStoriesRequest, opts ...RequestOption) ([]*StoryLinkRelation, *Response, error)
// GetStories 获取需求
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/story/get_stories.html
GetStories(ctx context.Context, request *GetStoriesRequest, opts ...RequestOption) ([]*Story, *Response, error)
// GetStoriesCount 获取需求数量
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/story/get_stories_count.html
GetStoriesCount(ctx context.Context, request *GetStoriesCountRequest, opts ...RequestOption) (int, *Response, error)
// GetSecretStories 获取保密需求
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/story/get_secret_stories.html
GetSecretStories(ctx context.Context, request *GetSecretStoriesRequest, opts ...RequestOption) ([]string, *Response, error)
// GetSecretStoriesCount 获取保密需求数量
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/story/get_secret_stories_count.html
GetSecretStoriesCount(ctx context.Context, request *GetSecretStoriesCountRequest, opts ...RequestOption) (int, *Response, error)
// GetStoryCategories 获取需求分类
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/story/get_story_categories.html
GetStoryCategories(ctx context.Context, request *GetStoryCategoriesRequest, opts ...RequestOption) ([]*StoryCategory, *Response, error)
// GetStoryCategoriesCount 获取需求分类数量
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/story/get_story_categories_count.html
GetStoryCategoriesCount(ctx context.Context, request *GetStoryCategoriesCountRequest, opts ...RequestOption) (int, *Response, error)
// GetStoriesCountByCategories 获取指定分类下需求数量
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/story/count_by_categories.html
GetStoriesCountByCategories(ctx context.Context, request *GetStoriesCountByCategoriesRequest, opts ...RequestOption) ([]*StoriesCountByCategory, *Response, error)
// GetStoryChanges 获取需求变更历史
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/story/get_story_changes.html
GetStoryChanges(ctx context.Context, request *GetStoryChangesRequest, opts ...RequestOption) ([]*StoryChange, *Response, error)
// GetStoryChangesCount 获取需求变更次数
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/story/get_story_changes_count.html
GetStoryChangesCount(ctx context.Context, request *GetStoryChangesCountRequest, opts ...RequestOption) (int, *Response, error)
// GetStoryCustomFieldsSettings 获取需求自定义字段配置
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/story/get_story_custom_fields_settings.html
GetStoryCustomFieldsSettings(ctx context.Context, request *GetStoryCustomFieldsSettingsRequest, opts ...RequestOption) ([]*StoryCustomFieldsSetting, *Response, error)
// GetStoryTestCaseRelation 获取需求与测试用例关联关系
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/story/get_story_tcase.html
GetStoryTestCaseRelation(ctx context.Context, request *GetStoryTestCaseRelationRequest, opts ...RequestOption) ([]*StoryTestCaseRelation, *Response, error)
// GetStoryTimeRelations 获取需求前后置关系
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/story/get_time_relative_stories.html
GetStoryTimeRelations(ctx context.Context, request *GetStoryTimeRelationsRequest, opts ...RequestOption) ([]*StoryTimeRelation, *Response, error)
// SaveStoryTimeRelations 批量新增或修改需求前后置关系
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/story/save_time_relations.html
SaveStoryTimeRelations(ctx context.Context, request *SaveStoryTimeRelationsRequest, opts ...RequestOption) (*SaveStoryTimeRelationsResult, *Response, error)
// DeleteStoryTimeRelations 批量删除需求前后置关系
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/story/delete_time_relations.html
DeleteStoryTimeRelations(ctx context.Context, request *DeleteStoryTimeRelationsRequest, opts ...RequestOption) (*DeleteStoryTimeRelationsResult, *Response, error)
// GetStorySecretInfo 获取需求保密信息
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/story/get_secret_info.html
GetStorySecretInfo(ctx context.Context, request *GetStorySecretInfoRequest, opts ...RequestOption) (*StorySecretInfo, *Response, error)
// BatchUpdateStorySecretInfo 批量修改保密信息
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/story/batch_update_secret_info.html
BatchUpdateStorySecretInfo(ctx context.Context, request *BatchUpdateStorySecretInfoRequest, opts ...RequestOption) (*BatchUpdateStorySecretInfoResult, *Response, error)
// GetStoryWorkitemTypes 获取需求类别
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/story/get_workitem_types.html
GetStoryWorkitemTypes(ctx context.Context, request *GetStoryWorkitemTypesRequest, opts ...RequestOption) ([]*StoryWorkitemType, *Response, error)
// UpdateStory 更新需求
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/story/update_story.html
UpdateStory(ctx context.Context, request *UpdateStoryRequest, opts ...RequestOption) (*Story, *Response, error)
// BatchUpdateStories 批量更新需求
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/story/batch_update_story.html
BatchUpdateStories(ctx context.Context, request *BatchUpdateStoriesRequest, opts ...RequestOption) (*BatchUpdateStoriesResponse, *Response, error)
// UpdateStoryWorkitemType 更新需求的需求类别
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/story/change_workitem_type.html
UpdateStoryWorkitemType(ctx context.Context, request *UpdateStoryWorkitemTypeRequest, opts ...RequestOption) (*Story, *Response, error)
// GetStoryFieldsInfo 获取需求所有字段及候选值
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/story/get_story_fields_info.html
GetStoryFieldsInfo(ctx context.Context, request *GetStoryFieldsInfoRequest, opts ...RequestOption) ([]*StoryFieldsInfo, *Response, error)
// GetStorySteps 使用并行工作流的需求,获取其节点信息
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/story/get_story_steps.html
GetStorySteps(ctx context.Context, request *GetStoryStepsRequest, opts ...RequestOption) ([]*StoryStepInfo, *Response, error)
// GetStoryFieldsLabel 获取需求所有字段的中英文
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/story/get_story_fields_lable.html
GetStoryFieldsLabel(ctx context.Context, request *GetStoryFieldsLabelRequest, opts ...RequestOption) ([]*StoryFieldLabel, *Response, error)
// GetStoryTemplates 获取需求模板列表
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/story/get_story_template_list.html
GetStoryTemplates(ctx context.Context, request *GetStoryTemplatesRequest, opts ...RequestOption) ([]*StoryTemplate, *Response, error)
// GetStoryTemplateFields 获取需求模板字段
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/story/get_default_story_template.html
GetStoryTemplateFields(ctx context.Context, request *GetStoryTemplateFieldsRequest, opts ...RequestOption) ([]*StoryTemplateField, *Response, error)
// UpdateStoryCategory 更新需求分类
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/story/update_story_category.html
UpdateStoryCategory(ctx context.Context, request *UpdateStoryCategoryRequest, opts ...RequestOption) (*UpdatedStoryCategory, *Response, error)
// GetRemovedStories 获取回收站中的需求
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/story/get_removed_stories.html
GetRemovedStories(ctx context.Context, request *GetRemovedStoriesRequest, opts ...RequestOption) ([]*RemovedStory, *Response, error)
// GetStoryRelatedBugs 获取需求关联的缺陷
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/story/get_story_related_bugs.html
GetStoryRelatedBugs(ctx context.Context, request *GetStoryRelatedBugsRequest, opts ...RequestOption) ([]*StoryRelatedBug, *Response, error)
// RemoveStoryBugRelation 解除需求缺陷关联关系
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/story/remove_story_bug_raletions.html
RemoveStoryBugRelation(ctx context.Context, request *RemoveStoryBugRelationRequest, opts ...RequestOption) (*RemoveStoryBugRelationResult, *Response, error)
// UpdateStoryParent 更新父需求
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/story/update_story_parent.html
UpdateStoryParent(ctx context.Context, request *UpdateStoryParentRequest, opts ...RequestOption) (*Story, *Response, error)
// CreateStoryBugRelation 创建需求与缺陷关联关系
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/story/create_story_bug.html
CreateStoryBugRelation(ctx context.Context, request *CreateStoryBugRelationRequest, opts ...RequestOption) (*StoryBugRelation, *Response, error)
// CreateStoryTestCaseRelation 创建需求与测试用例关联关系
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/story/create_story_tcase.html
CreateStoryTestCaseRelation(ctx context.Context, request *CreateStoryTestCaseRelationRequest, opts ...RequestOption) (*CreateStoryTestCaseRelationResult, *Response, error)
// GetStoriesByViewConfID 获取视图对应的需求列表
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/story/get_stories_by_view_conf_id.html
GetStoriesByViewConfID(ctx context.Context, request *GetStoriesByViewConfIDRequest, opts ...RequestOption) ([]*Story, *Response, error)
// GetConvertStoryIDsToQueryToken 转换需求ID成列表queryToken
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/story/story_ids_to_query_token.html
GetConvertStoryIDsToQueryToken(ctx context.Context, request *GetConvertStoryIDsToQueryTokenRequest, opts ...RequestOption) (*GetConvertStoryIDsToQueryTokenResponse, *Response, error)
// CreateStoryLinkRelation 创建需求关联关系
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/story/add_story_link_relations.html
CreateStoryLinkRelation(ctx context.Context, request *CreateStoryLinkRelationRequest, opts ...RequestOption) (*CreateStoryLinkRelationResult, *Response, error)
}
func NewStoryService ¶ added in v0.12.0
func NewStoryService(client *Client) StoryService
type StoryStatus ¶
type StoryStatus string
const ( StoryStatusAudited StoryStatus = "audited" // 已评审 StoryStatusDeveloping StoryStatus = "developing" // 开发中 StoryStatusForTest StoryStatus = "for_test" // 待测试 StoryStatusInProgress StoryStatus = "in_progress" // 处理中 StoryStatusPlanning StoryStatus = "planning" // 规划中 StoryStatusRejected StoryStatus = "rejected" // 已拒绝 StoryStatusResolved StoryStatus = "resolved" // 已处理 StoryStatusTesting StoryStatus = "testing" // 测试中 )
func (StoryStatus) String ¶ added in v0.12.0
func (s StoryStatus) String() string
type StoryStepInfo ¶ added in v0.17.0
type StoryStepInfo struct {
ID string `json:"id,omitempty"` // 节点记录ID
WorkspaceID string `json:"workspace_id,omitempty"` // 项目ID
EntityType string `json:"entity_type,omitempty"` // 对象类型
WorkitemID string `json:"workitem_id,omitempty"` // 需求ID
Step string `json:"step,omitempty"` // 节点原名
Status string `json:"status,omitempty"` // 节点状态
Owner string `json:"owner,omitempty"` // 节点负责人
Begin *string `json:"begin,omitempty"` // 节点预计开始
Due *string `json:"due,omitempty"` // 节点预计结束时间
Effort string `json:"effort,omitempty"` // 节点预估工时
IterationID string `json:"iteration_id,omitempty"` // 节点迭代
BeginTime string `json:"begin_time,omitempty"` // 实际开始时间
CompleteTime string `json:"complete_time,omitempty"` // 实际完成时间
TimeCost string `json:"time_cost,omitempty"` // 节点停留时长
Completer string `json:"completer,omitempty"` // 操作完成人
}
type StoryTemplate ¶
type StoryTemplate struct {
ID string `json:"id,omitempty"` // 模板ID
Name string `json:"name,omitempty"` // 标题
Description string `json:"description,omitempty"` // 详细描述
Sort string `json:"sort,omitempty"` // 排序
Default string `json:"default,omitempty"` // 是否启用
Creator string `json:"creator,omitempty"` // 提交人
EditorType string `json:"editor_type,omitempty"` // 编辑器类型
}
type StoryTemplateField ¶
type StoryTemplateField struct {
ID string `json:"id,omitempty"` // 模板字段ID
WorkspaceID string `json:"workspace_id,omitempty"` // 项目ID
Type string `json:"type,omitempty"` // 类型
TemplateID string `json:"template_id,omitempty"` // 模板ID
Field string `json:"field,omitempty"` // 字段名称
Value string `json:"value,omitempty"` // 默认值
Required string `json:"required,omitempty"` // 是否必填
Sort string `json:"sort,omitempty"` // 排序
LinkageRules string `json:"linkage_rules,omitempty"`
}
type StoryTestCaseRelation ¶ added in v0.15.0
type StoryTestCaseRelation struct {
ID string `json:"id,omitempty"`
WorkspaceID string `json:"workspace_id,omitempty"`
TestPlanID string `json:"test_plan_id,omitempty"`
StoryID string `json:"story_id,omitempty"`
TcaseID string `json:"tcase_id,omitempty"`
Sort string `json:"sort,omitempty"`
Creator string `json:"creator,omitempty"`
Created string `json:"created,omitempty"`
}
type StoryTimeRelation ¶ added in v0.17.0
type StoryTimeRelation struct {
ID string `json:"id,omitempty"` // 前后置关系ID
WorkspaceID string `json:"workspace_id,omitempty"` // 源项目ID
WorkitemType string `json:"workitem_type,omitempty"` // 业务对象类型,固定为 story
WorkitemID string `json:"workitem_id,omitempty"` // 源需求ID
SrcField string `json:"src_field,omitempty"` // 源需求被依赖的字段
DstWorkspaceID string `json:"dst_workspace_id,omitempty"` // 被依赖的项目ID
DstWorkitemType string `json:"dst_workitem_type,omitempty"` // 被依赖的业务对象类型,固定为 story
DstWorkitemID string `json:"dst_workitem_id,omitempty"` // 被依赖的需求ID
DstField string `json:"dst_field,omitempty"` // 被依赖的字段
RelationType string `json:"relation_type,omitempty"` // 依赖类型。before 为前置依赖,after 为后置依赖
}
type StoryWorkitemType ¶ added in v0.17.0
type StoryWorkitemType struct {
ID string `json:"id,omitempty"` // 需求类别ID
WorkspaceID string `json:"workspace_id,omitempty"` // 项目ID
AppID string `json:"app_id,omitempty"` // 应用ID
EntityType string `json:"entity_type,omitempty"` // 类别别名
Name string `json:"name,omitempty"` // 需求类别名称
EnglishName string `json:"english_name,omitempty"` // 英文名称
Status string `json:"status,omitempty"` // 状态
Color string `json:"color,omitempty"` // 颜色
WorkflowID string `json:"workflow_id,omitempty"` // 工作流ID
ChildrenIDs string `json:"children_ids,omitempty"` // 子类别ID
ParentIDs string `json:"parent_ids,omitempty"` // 父类别ID
Icon string `json:"icon,omitempty"` // 图标
IconSmall string `json:"icon_small,omitempty"` // 小图标
Creator string `json:"creator,omitempty"` // 创建人
Created string `json:"created,omitempty"` // 创建时间
ModifiedBy string `json:"modified_by,omitempty"` // 最后修改人
Modified string `json:"modified,omitempty"` // 最后修改时间
IconViper string `json:"icon_viper,omitempty"` // Viper图标
IconSmallViper string `json:"icon_small_viper,omitempty"` // Viper小图标
}
type StringNumber ¶ added in v0.17.0
type StringNumber string
StringNumber 兼容官方响应中同一字段可能返回字符串或数字的 ID。
func (StringNumber) String ¶ added in v0.17.0
func (s StringNumber) String() string
func (*StringNumber) UnmarshalJSON ¶ added in v0.17.0
func (s *StringNumber) UnmarshalJSON(data []byte) error
type Task ¶
type Task struct {
ID string `json:"id,omitempty"` // 任务ID
Name string `json:"name,omitempty"` // 任务标题
Description string `json:"description,omitempty"` // 任务详细描述
WorkspaceID string `json:"workspace_id,omitempty"` // 项目ID
Creator string `json:"creator,omitempty"` // 创建人
Created string `json:"created,omitempty"` // 创建时间
Modified string `json:"modified,omitempty"` // 最后修改时间
Status TaskStatus `json:"status,omitempty"` // 状态
Owner string `json:"owner,omitempty"` // 任务当前处理人
CC string `json:"cc,omitempty"` // 抄送人
Begin string `json:"begin,omitempty"` // 预计开始
Due string `json:"due,omitempty"` // 预计结束
StoryID string `json:"story_id,omitempty"` // 关联需求的ID
IterationID string `json:"iteration_id,omitempty"` // 所属迭代的ID
Priority string `json:"priority,omitempty"` // 优先级
Progress string `json:"progress,omitempty"` // 进度
Completed string `json:"completed,omitempty"` // 完成时间
EffortCompleted string `json:"effort_completed,omitempty"` // 完成工时
Exceed string `json:"exceed,omitempty"` // 超出工时
Remain string `json:"remain,omitempty"` // 剩余工时
Effort string `json:"effort,omitempty"` // 预估工时
HasAttachment string `json:"has_attachment,omitempty"` // 是否有附件
ReleaseID string `json:"release_id,omitempty"` // 发布计划ID
Label string `json:"label,omitempty"` // 标签
CustomFieldOne string `json:"custom_field_one,omitempty"` // 自定义字段
CustomFieldTwo string `json:"custom_field_two,omitempty"`
CustomFieldThree string `json:"custom_field_three,omitempty"`
CustomFieldFour string `json:"custom_field_four,omitempty"`
CustomFieldFive string `json:"custom_field_five,omitempty"`
CustomFieldSix string `json:"custom_field_six,omitempty"`
CustomFieldSeven string `json:"custom_field_seven,omitempty"`
CustomFieldEight string `json:"custom_field_eight,omitempty"`
CustomField9 string `json:"custom_field_9,omitempty"`
CustomField10 string `json:"custom_field_10,omitempty"`
CustomField11 string `json:"custom_field_11,omitempty"`
CustomField12 string `json:"custom_field_12,omitempty"`
CustomField13 string `json:"custom_field_13,omitempty"`
CustomField14 string `json:"custom_field_14,omitempty"`
CustomField15 string `json:"custom_field_15,omitempty"`
CustomField16 string `json:"custom_field_16,omitempty"`
CustomField17 string `json:"custom_field_17,omitempty"`
CustomField18 string `json:"custom_field_18,omitempty"`
CustomField19 string `json:"custom_field_19,omitempty"`
CustomField20 string `json:"custom_field_20,omitempty"`
CustomField21 string `json:"custom_field_21,omitempty"`
CustomField22 string `json:"custom_field_22,omitempty"`
CustomField23 string `json:"custom_field_23,omitempty"`
CustomField24 string `json:"custom_field_24,omitempty"`
CustomField25 string `json:"custom_field_25,omitempty"`
CustomField26 string `json:"custom_field_26,omitempty"`
CustomField27 string `json:"custom_field_27,omitempty"`
CustomField28 string `json:"custom_field_28,omitempty"`
CustomField29 string `json:"custom_field_29,omitempty"`
CustomField30 string `json:"custom_field_30,omitempty"`
CustomField31 string `json:"custom_field_31,omitempty"`
CustomField32 string `json:"custom_field_32,omitempty"`
CustomField33 string `json:"custom_field_33,omitempty"`
CustomField34 string `json:"custom_field_34,omitempty"`
CustomField35 string `json:"custom_field_35,omitempty"`
CustomField36 string `json:"custom_field_36,omitempty"`
CustomField37 string `json:"custom_field_37,omitempty"`
CustomField38 string `json:"custom_field_38,omitempty"`
CustomField39 string `json:"custom_field_39,omitempty"`
CustomField40 string `json:"custom_field_40,omitempty"`
CustomField41 string `json:"custom_field_41,omitempty"`
CustomField42 string `json:"custom_field_42,omitempty"`
CustomField43 string `json:"custom_field_43,omitempty"`
CustomField44 string `json:"custom_field_44,omitempty"`
CustomField45 string `json:"custom_field_45,omitempty"`
CustomField46 string `json:"custom_field_46,omitempty"`
CustomField47 string `json:"custom_field_47,omitempty"`
CustomField48 string `json:"custom_field_48,omitempty"`
CustomField49 string `json:"custom_field_49,omitempty"`
CustomField50 string `json:"custom_field_50,omitempty"`
CustomPlanField1 string `json:"custom_plan_field_1,omitempty"`
CustomPlanField2 string `json:"custom_plan_field_2,omitempty"`
CustomPlanField3 string `json:"custom_plan_field_3,omitempty"`
CustomPlanField4 string `json:"custom_plan_field_4,omitempty"`
CustomPlanField5 string `json:"custom_plan_field_5,omitempty"`
CustomPlanField6 string `json:"custom_plan_field_6,omitempty"`
CustomPlanField7 string `json:"custom_plan_field_7,omitempty"`
CustomPlanField8 string `json:"custom_plan_field_8,omitempty"`
CustomPlanField9 string `json:"custom_plan_field_9,omitempty"`
CustomPlanField10 string `json:"custom_plan_field_10,omitempty"`
PriorityLabel PriorityLabel `json:"priority_label,omitempty"` // 优先级
}
Task 任务
type TaskChange ¶
type TaskChange struct {
ID string `json:"id,omitempty"`
WorkspaceID string `json:"workspace_id,omitempty"`
AppID string `json:"app_id,omitempty"`
WorkitemTypeID string `json:"workitem_type_id,omitempty"`
Creator string `json:"creator,omitempty"`
Created string `json:"created,omitempty"`
ChangeSummary string `json:"change_summary,omitempty"`
Comment string `json:"comment,omitempty"`
Changes string `json:"changes,omitempty"`
EntityType string `json:"entity_type,omitempty"`
ChangeType string `json:"change_type,omitempty"`
ChangeTypeText string `json:"change_type_text,omitempty"`
FieldChanges []TaskChangeFieldChange `json:"field_changes,omitempty"`
TaskID string `json:"task_id,omitempty"`
}
type TaskChangeFieldChange ¶
type TaskChangeFieldChange struct {
Field string `json:"field,omitempty"`
ValueBefore string `json:"value_before,omitempty"`
ValueAfter string `json:"value_after,omitempty"`
ValueBeforeParsed string `json:"value_before_parsed,omitempty"`
ValueAfterParsed string `json:"value_after_parsed,omitempty"`
FieldLabel string `json:"field_label,omitempty"`
}
type TaskCustomFieldsSetting ¶ added in v0.17.0
type TaskCustomFieldsSetting struct {
ID string `json:"id,omitempty"` // 自定义字段配置的ID
WorkspaceID string `json:"workspace_id,omitempty"` // 所属项目ID
AppID string `json:"app_id,omitempty"`
EntryType string `json:"entry_type,omitempty"` // 所属实体对象
CustomField string `json:"custom_field,omitempty"` // 自定义字段标识(英文名)
Type string `json:"type,omitempty"` // 输入类型
Name string `json:"name,omitempty"` // 自定义字段显示名称
Options *string `json:"options,omitempty"` // 自定义字段可选值
ExtraConfig *string `json:"extra_config,omitempty"` // 额外配置
Enabled string `json:"enabled,omitempty"` // 是否启用
Freeze string `json:"freeze,omitempty"`
Sort *string `json:"sort,omitempty"` // 显示时排序系数
Memo *string `json:"memo,omitempty"`
OpenExtensionID string `json:"open_extension_id,omitempty"`
IsOut int `json:"is_out,omitempty"`
IsUninstall int `json:"is_uninstall,omitempty"`
AppName string `json:"app_name,omitempty"`
}
type TaskFieldsInfo ¶
type TaskFieldsInfo struct {
Name string `json:"name,omitempty"` // name
HTMLType TaskFieldsInfoHTMLType `json:"html_type,omitempty"` // 类型
Label string `json:"label,omitempty"` // 中文名称
Options []TaskFieldsInfoOption `json:"options,omitempty"` // 候选值
ColorOptions []TaskFieldsInfoColorOption `json:"color_options,omitempty"`
PureOptions []TaskFieldsInfoPureOption `json:"pure_options,omitempty"`
}
type TaskFieldsInfoHTMLType ¶
type TaskFieldsInfoHTMLType string
const ( TaskFieldsInfoHTMLTypeInput TaskFieldsInfoHTMLType = "input" TaskFieldsInfoHTMLTypeSelect TaskFieldsInfoHTMLType = "select" TaskFieldsInfoHTMLTypeRichEdit TaskFieldsInfoHTMLType = "rich_edit" TaskFieldsInfoHTMLTypeUserChooser TaskFieldsInfoHTMLType = "user_chooser" TaskFieldsInfoHTMLTypeDatetime TaskFieldsInfoHTMLType = "datetime" TaskFieldsInfoHTMLTypeFloat TaskFieldsInfoHTMLType = "float" TaskFieldsInfoHTMLTypeMixChooser TaskFieldsInfoHTMLType = "mix_chooser" TaskFieldsInfoHTMLTypeDateInput TaskFieldsInfoHTMLType = "dateinput" TaskFieldsInfoHTMLTypeCheckbox TaskFieldsInfoHTMLType = "checkbox" TaskFieldsInfoHTMLTypeMultiSelect TaskFieldsInfoHTMLType = "multi_select" )
type TaskFieldsInfoOption ¶
type TaskFieldsInfoPureOption ¶
type TaskFieldsInfoPureOption struct {
ParentID string `json:"parent_id,omitempty"`
WorkspaceID string `json:"workspace_id,omitempty"`
Sort string `json:"sort,omitempty"`
OriginName string `json:"origin_name,omitempty"`
Value string `json:"value,omitempty"`
Label string `json:"label,omitempty"`
Panel int `json:"panel,omitempty"`
}
type TaskService ¶
type TaskService interface {
// CreateTask 创建任务
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/task/add_task.html
CreateTask(ctx context.Context, request *CreateTaskRequest, opts ...RequestOption) (*Task, *Response, error)
// GetTaskChanges 获取任务变更历史
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/task/get_task_changes.html
GetTaskChanges(ctx context.Context, request *GetTaskChangesRequest, opts ...RequestOption) ([]*TaskChange, *Response, error)
// GetTaskChangesCount 获取任务变更次数
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/task/get_task_changes_count.html
GetTaskChangesCount(ctx context.Context, request *GetTaskChangesCountRequest, opts ...RequestOption) (int, *Response, error)
// GetTaskCustomFieldsSettings 获取任务自定义字段配置
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/task/get_task_custom_fields_settings.html
GetTaskCustomFieldsSettings(ctx context.Context, request *GetTaskCustomFieldsSettingsRequest, opts ...RequestOption) ([]*TaskCustomFieldsSetting, *Response, error)
// GetTasks 获取任务
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/task/get_tasks.html
GetTasks(ctx context.Context, request *GetTasksRequest, opts ...RequestOption) ([]*Task, *Response, error)
// GetTasksCount 获取任务数量
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/task/get_tasks_count.html
GetTasksCount(ctx context.Context, request *GetTasksCountRequest, opts ...RequestOption) (int, *Response, error)
// UpdateTask 更新任务
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/task/update_task.html
UpdateTask(ctx context.Context, request *UpdateTaskRequest, opts ...RequestOption) (*Task, *Response, error)
// BatchUpdateTasks 批量更新任务
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/task/batch_update_task.html
BatchUpdateTasks(ctx context.Context, request *BatchUpdateTasksRequest, opts ...RequestOption) (*BatchUpdateTasksResponse, *Response, error)
// GetRemovedTasks 获取回收站下的任务
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/task/get_removed_tasks.html
GetRemovedTasks(ctx context.Context, request *GetRemovedTasksRequest, opts ...RequestOption) ([]*RemovedTask, *Response, error)
// GetTaskFieldsInfo 获取任务字段信息
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/task/get_task_fields_info.html
GetTaskFieldsInfo(ctx context.Context, request *GetTaskFieldsInfoRequest, opts ...RequestOption) ([]*TaskFieldsInfo, *Response, error)
}
TaskService 任务服务
func NewTaskService ¶ added in v0.12.0
func NewTaskService(client *Client) TaskService
type TaskStatus ¶
type TaskStatus string
TaskStatus 任务状态
const ( TaskStatusOpen TaskStatus = "open" // 未开始 TaskStatusProgressing TaskStatus = "progressing" // 进行中 TaskStatusDone TaskStatus = "done" // 已完成 )
func (TaskStatus) String ¶ added in v0.7.0
func (s TaskStatus) String() string
type TestCase ¶ added in v0.17.0
type TestCase struct {
ID string `json:"id,omitempty"` // 测试用例ID
MID string `json:"mid,omitempty"` // 测试用例MID
Steps *string `json:"steps,omitempty"` // 用例步骤
WorkspaceID string `json:"workspace_id,omitempty"` // 项目ID
CategoryID string `json:"category_id,omitempty"` // 用例目录
Version string `json:"version,omitempty"` // 版本
Created string `json:"created,omitempty"` // 创建时间
Modifier string `json:"modifier,omitempty"` // 最后修改人
Modified string `json:"modified,omitempty"` // 最后修改时间
Creator string `json:"creator,omitempty"` // 创建人
Status TestCaseStatus `json:"status,omitempty"` // 用例状态
Name string `json:"name,omitempty"` // 用例名称
Precondition *string `json:"precondition,omitempty"` // 前置条件
Expectation *string `json:"expectation,omitempty"` // 预期结果
Sort string `json:"sort,omitempty"` // 排序
IndexCode string `json:"indexcode,omitempty"` // 编号
Type string `json:"type,omitempty"` // 用例类型
Priority string `json:"priority,omitempty"` // 用例等级
IsAutomated string `json:"is_automated,omitempty"` // 是否自动化
AutomationType string `json:"automation_type,omitempty"` // 自动化类型
AutomationPlatform string `json:"automation_platform,omitempty"` // 自动化平台
IsServing string `json:"is_serving,omitempty"` // 是否服务中
TemplateID string `json:"template_id,omitempty"` // 模板ID
CreatedFrom string `json:"created_from,omitempty"` // 创建来源
Result *TestCaseResult `json:"TcaseResult,omitempty"` // 测试结果
CustomField1 *string `json:"custom_field_1,omitempty"` // 自定义字段
CustomField2 *string `json:"custom_field_2,omitempty"`
CustomField3 *string `json:"custom_field_3,omitempty"`
CustomField4 *string `json:"custom_field_4,omitempty"`
CustomField5 *string `json:"custom_field_5,omitempty"`
CustomField6 *string `json:"custom_field_6,omitempty"`
CustomField7 *string `json:"custom_field_7,omitempty"`
CustomField8 *string `json:"custom_field_8,omitempty"`
CustomField9 *string `json:"custom_field_9,omitempty"`
CustomField10 *string `json:"custom_field_10,omitempty"`
CustomField11 *string `json:"custom_field_11,omitempty"`
CustomField12 *string `json:"custom_field_12,omitempty"`
CustomField13 *string `json:"custom_field_13,omitempty"`
CustomField14 *string `json:"custom_field_14,omitempty"`
CustomField15 *string `json:"custom_field_15,omitempty"`
CustomField16 *string `json:"custom_field_16,omitempty"`
CustomField17 *string `json:"custom_field_17,omitempty"`
CustomField18 *string `json:"custom_field_18,omitempty"`
CustomField19 *string `json:"custom_field_19,omitempty"`
CustomField20 *string `json:"custom_field_20,omitempty"`
CustomField21 *string `json:"custom_field_21,omitempty"`
CustomField22 *string `json:"custom_field_22,omitempty"`
CustomField23 *string `json:"custom_field_23,omitempty"`
CustomField24 *string `json:"custom_field_24,omitempty"`
CustomField25 *string `json:"custom_field_25,omitempty"`
CustomField26 *string `json:"custom_field_26,omitempty"`
CustomField27 *string `json:"custom_field_27,omitempty"`
CustomField28 *string `json:"custom_field_28,omitempty"`
CustomField29 *string `json:"custom_field_29,omitempty"`
CustomField30 *string `json:"custom_field_30,omitempty"`
CustomField31 *string `json:"custom_field_31,omitempty"`
CustomField32 *string `json:"custom_field_32,omitempty"`
CustomField33 *string `json:"custom_field_33,omitempty"`
CustomField34 *string `json:"custom_field_34,omitempty"`
CustomField35 *string `json:"custom_field_35,omitempty"`
CustomField36 *string `json:"custom_field_36,omitempty"`
CustomField37 *string `json:"custom_field_37,omitempty"`
CustomField38 *string `json:"custom_field_38,omitempty"`
CustomField39 *string `json:"custom_field_39,omitempty"`
CustomField40 *string `json:"custom_field_40,omitempty"`
CustomField41 *string `json:"custom_field_41,omitempty"`
CustomField42 *string `json:"custom_field_42,omitempty"`
CustomField43 *string `json:"custom_field_43,omitempty"`
CustomField44 *string `json:"custom_field_44,omitempty"`
CustomField45 *string `json:"custom_field_45,omitempty"`
CustomField46 *string `json:"custom_field_46,omitempty"`
CustomField47 *string `json:"custom_field_47,omitempty"`
CustomField48 *string `json:"custom_field_48,omitempty"`
CustomField49 *string `json:"custom_field_49,omitempty"`
CustomField50 *string `json:"custom_field_50,omitempty"`
}
TestCase 测试用例
type TestCaseCategory ¶ added in v0.17.0
type TestCaseCategory struct {
ID string `json:"id,omitempty"` // 目录ID
WorkspaceID string `json:"workspace_id,omitempty"` // 项目ID
Name string `json:"name,omitempty"` // 目录名称
Description *string `json:"description,omitempty"` // 目录描述
ParentID string `json:"parent_id,omitempty"` // 父目录ID
Modified string `json:"modified,omitempty"` // 最后修改时间
Created string `json:"created,omitempty"` // 创建时间
Creator *string `json:"creator,omitempty"` // 目录创建人
Modifier *string `json:"modifier,omitempty"` // 目录最后修改人
Sorting *string `json:"sorting,omitempty"` // 目录排序序号
}
type TestCaseCustomFieldsSetting ¶ added in v0.17.0
type TestCaseCustomFieldsSetting struct {
ID string `json:"id,omitempty"` // 自定义字段配置的ID
WorkspaceID string `json:"workspace_id,omitempty"` // 所属项目ID
AppID string `json:"app_id,omitempty"` // 应用ID
EntryType string `json:"entry_type,omitempty"` // 所属实体对象
CustomField string `json:"custom_field,omitempty"` // 自定义字段标识
Type string `json:"type,omitempty"` // 输入类型
Name string `json:"name,omitempty"` // 自定义字段显示名称
Options *string `json:"options,omitempty"` // 自定义字段可选值
ExtraConfig *string `json:"extra_config,omitempty"` // 额外配置
Enabled string `json:"enabled,omitempty"` // 是否启用
Freeze string `json:"freeze,omitempty"` // 是否冻结
Sort *string `json:"sort,omitempty"` // 显示时排序系数
Memo *string `json:"memo,omitempty"` // 备注
OpenExtensionID string `json:"open_extension_id,omitempty"`
IsOut int `json:"is_out,omitempty"`
IsUninstall int `json:"is_uninstall,omitempty"`
AppName string `json:"app_name,omitempty"`
}
type TestCaseFieldsInfo ¶ added in v0.17.0
type TestCaseFieldsInfo struct {
Name string `json:"name,omitempty"` // 字段名
HTMLType TestCaseFieldsInfoHTMLType `json:"html_type,omitempty"` // 类型
Label string `json:"label,omitempty"` // 中文名称
Options []TestCaseFieldsInfoOption `json:"options,omitempty"` // 候选值
Default string `json:"default,omitempty"` // 默认值
}
type TestCaseFieldsInfoHTMLType ¶ added in v0.17.0
type TestCaseFieldsInfoHTMLType string
TestCaseFieldsInfoHTMLType 测试用例字段控件类型。
const ( TestCaseFieldsInfoHTMLTypeInput TestCaseFieldsInfoHTMLType = "input" TestCaseFieldsInfoHTMLTypeSelect TestCaseFieldsInfoHTMLType = "select" TestCaseFieldsInfoHTMLTypeQMEditor TestCaseFieldsInfoHTMLType = "qmeditor" TestCaseFieldsInfoHTMLTypeDialog TestCaseFieldsInfoHTMLType = "dialog" TestCaseFieldsInfoHTMLTypeUserChooser TestCaseFieldsInfoHTMLType = "user_chooser" TestCaseFieldsInfoHTMLTypeDateInput TestCaseFieldsInfoHTMLType = "dateinput" TestCaseFieldsInfoHTMLTypeMultiSelect TestCaseFieldsInfoHTMLType = "multi_select" TestCaseFieldsInfoHTMLTypeText TestCaseFieldsInfoHTMLType = "text" )
type TestCaseFieldsInfoOption ¶ added in v0.17.0
type TestCaseRelatedStory ¶ added in v0.17.0
type TestCaseResult ¶ added in v0.17.0
type TestCaseResult struct {
ID string `json:"id,omitempty"` // 测试结果ID
TestCaseID string `json:"tcase_id,omitempty"` // 测试用例ID
Created string `json:"created,omitempty"` // 创建时间
TestPlanID string `json:"test_plan_id,omitempty"` // 测试计划ID
ResultStatus TestCaseResultStatus `json:"result_status,omitempty"` // 结果状态
ResultRemark *string `json:"result_remark,omitempty"` // 结果备注
WorkspaceID string `json:"workspace_id,omitempty"` // 项目ID
Status string `json:"status,omitempty"` // 状态
Executor string `json:"executor,omitempty"` // 执行人
ExecutedAt string `json:"executed_at,omitempty"` // 执行时间
BugID []string `json:"bug_id,omitempty"` // 关联缺陷ID
Bugs []*Bug `json:"Bug,omitempty"` // 关联缺陷详情
}
func (*TestCaseResult) UnmarshalJSON ¶ added in v0.17.0
func (r *TestCaseResult) UnmarshalJSON(data []byte) error
type TestCaseResultItem ¶ added in v0.17.0
type TestCaseResultItem struct {
ID string `json:"id,omitempty"` // 测试结果ID
Result *TestCaseResult `json:"result,omitempty"` // 测试结果
}
type TestCaseResultStatus ¶ added in v0.17.0
type TestCaseResultStatus string
TestCaseResultStatus 测试用例执行结果
const ( TestCaseResultStatusPass TestCaseResultStatus = "pass" // 通过 TestCaseResultStatusNoPass TestCaseResultStatus = "no_pass" // 不通过 TestCaseResultStatusBlock TestCaseResultStatus = "block" // 阻塞 TestCaseResultStatusUnexecuted TestCaseResultStatus = "unexecuted" // 未执行 )
func (TestCaseResultStatus) String ¶ added in v0.17.0
func (s TestCaseResultStatus) String() string
type TestCaseStatus ¶ added in v0.17.0
type TestCaseStatus string
TestCaseStatus 测试用例状态
const ( TestCaseStatusNormal TestCaseStatus = "normal" // 正常 TestCaseStatusUpdating TestCaseStatus = "updating" // 待更新 TestCaseStatusAbandon TestCaseStatus = "abandon" // 已废弃 )
func (TestCaseStatus) String ¶ added in v0.17.0
func (s TestCaseStatus) String() string
type TestPlan ¶ added in v0.17.0
type TestPlan struct {
ID string `json:"id,omitempty"` // 测试计划ID
WorkspaceID string `json:"workspace_id,omitempty"` // 项目ID
Name string `json:"name,omitempty"` // 测试计划标题
Description string `json:"description,omitempty"` // 测试计划详细描述
Version string `json:"version,omitempty"` // 版本号
Owner string `json:"owner,omitempty"` // 测试计划负责人
Status string `json:"status,omitempty"` // 状态
Type string `json:"type,omitempty"` // 测试类型
StartDate *string `json:"start_date,omitempty"` // 预计开始
EndDate *string `json:"end_date,omitempty"` // 预计结束
Creator string `json:"creator,omitempty"` // 创建人
Created string `json:"created,omitempty"` // 创建时间
Modified string `json:"modified,omitempty"` // 最后修改时间
Modifier string `json:"modifier,omitempty"` // 修改人
IterationID string `json:"iteration_id,omitempty"` // 关联迭代ID
TemplateID string `json:"template_id,omitempty"` // 模板ID
CreatedFrom string `json:"created_from,omitempty"` // 创建来源
CustomField1 *string `json:"custom_field_1,omitempty"` // 自定义字段
CustomField2 *string `json:"custom_field_2,omitempty"`
CustomField3 *string `json:"custom_field_3,omitempty"`
CustomField4 *string `json:"custom_field_4,omitempty"`
CustomField5 *string `json:"custom_field_5,omitempty"`
CustomField6 *string `json:"custom_field_6,omitempty"`
CustomField7 *string `json:"custom_field_7,omitempty"`
CustomField8 *string `json:"custom_field_8,omitempty"`
CustomField9 *string `json:"custom_field_9,omitempty"`
CustomField10 *string `json:"custom_field_10,omitempty"`
}
TestPlan 测试计划
type TestPlanFieldsInfo ¶ added in v0.17.0
type TestPlanFieldsInfo struct {
Name string `json:"name,omitempty"` // 字段名
HTMLType TestCaseFieldsInfoHTMLType `json:"html_type,omitempty"` // 类型
Label string `json:"label,omitempty"` // 中文名称
Options []TestCaseFieldsInfoOption `json:"options,omitempty"` // 候选值
}
type TestPlanProgress ¶ added in v0.17.0
type TestPlanProgress struct {
StoryCount int `json:"story_count,omitempty"` // 需求数量
TestCaseCount int `json:"tcase_count,omitempty"` // 测试用例数量
StatusCounter map[TestCaseResultStatus]int `json:"status_counter,omitempty"` // 各结果状态数量
ExecutedRate string `json:"executed_rate,omitempty"` // 执行率
}
func (*TestPlanProgress) UnmarshalJSON ¶ added in v0.17.0
func (p *TestPlanProgress) UnmarshalJSON(data []byte) error
type TestPlanRelatedBug ¶ added in v0.17.0
type TestPlanRelatedBug struct {
ID string `json:"id,omitempty"` // 测试用例ID
Name string `json:"name,omitempty"` // 测试用例名称
TestCaseResultRelatedBugs []*TestCaseResultItem `json:"tcase_result_relate_bugs,omitempty"` // 测试结果关联缺陷
}
func (*TestPlanRelatedBug) UnmarshalJSON ¶ added in v0.17.0
func (r *TestPlanRelatedBug) UnmarshalJSON(data []byte) error
type TestPlanTestCaseRelation ¶ added in v0.17.0
type TestPlanTestCaseRelation struct {
ID string `json:"id,omitempty"` // 关系ID
WorkspaceID string `json:"workspace_id,omitempty"` // 项目ID
TestPlanID string `json:"test_plan_id,omitempty"` // 测试计划ID
StoryID string `json:"story_id,omitempty"` // 需求ID
TestCaseID string `json:"tcase_id,omitempty"` // 测试用例ID
Sort string `json:"sort,omitempty"` // 排序
Creator string `json:"creator,omitempty"` // 创建人
Created string `json:"created,omitempty"` // 创建时间
}
type TestService ¶ added in v0.17.0
type TestService interface {
// CreateTestCase 创建测试用例
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/tcase/add_tcase.html
CreateTestCase(ctx context.Context, request *CreateTestCaseRequest, opts ...RequestOption) (*TestCase, *Response, error)
// BatchCreateTestCases 批量创建测试用例
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/tcase/batch_add_tcase.html
BatchCreateTestCases(
ctx context.Context, request *BatchCreateTestCasesRequest, opts ...RequestOption,
) ([]*TestCase, *Response, error)
// CreateTestCaseCategory 创建测试用例目录
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/tcase/add_tcase_category.html
CreateTestCaseCategory(
ctx context.Context, request *CreateTestCaseCategoryRequest, opts ...RequestOption,
) (*TestCaseCategory, *Response, error)
// CreateTestPlan 创建测试计划
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/tcase/add_test_plan.html
CreateTestPlan(ctx context.Context, request *CreateTestPlanRequest, opts ...RequestOption) (*TestPlan, *Response, error)
// AssignTestCase 分配测试用例
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/tcase/assign_tcase_instance.html
AssignTestCase(ctx context.Context, request *AssignTestCaseRequest, opts ...RequestOption) (bool, *Response, error)
// CreateTestPlanStoryRelation 创建测试计划和需求关联关系
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/tcase/create_story_relation.html
CreateTestPlanStoryRelation(
ctx context.Context, request *CreateTestPlanStoryRelationRequest, opts ...RequestOption,
) (bool, *Response, error)
// CreateTestPlanTestCaseRelation 创建测试计划和测试用例关联关系
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/tcase/create_tcase_relation.html
CreateTestPlanTestCaseRelation(
ctx context.Context, request *CreateTestPlanTestCaseRelationRequest, opts ...RequestOption,
) (bool, *Response, error)
// DeleteTestPlanStoryRelation 解除测试计划和需求关联关系
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/tcase/delete_story_relation.html
DeleteTestPlanStoryRelation(
ctx context.Context, request *DeleteTestPlanStoryRelationRequest, opts ...RequestOption,
) (bool, *Response, error)
// DeleteTestCaseStoryRelation 解除测试用例关联并移出测试计划
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/tcase/delete_tcase_story_relation.html
DeleteTestCaseStoryRelation(
ctx context.Context, request *DeleteTestCaseStoryRelationRequest, opts ...RequestOption,
) (bool, *Response, error)
// ExecuteTestCase 执行测试用例
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/tcase/execute_tcase_instance.html
ExecuteTestCase(ctx context.Context, request *ExecuteTestCaseRequest, opts ...RequestOption) (bool, *Response, error)
// GetTestCaseRelatedStories 获取测试用例关联的需求
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/tcase/get_story_by_tcase_id.html
GetTestCaseRelatedStories(
ctx context.Context, request *GetTestCaseRelatedStoriesRequest, opts ...RequestOption,
) ([]*TestCaseRelatedStory, *Response, error)
// GetTestCaseCategories 获取测试用例目录
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/tcase/get_tcase_categories.html
GetTestCaseCategories(
ctx context.Context, request *GetTestCaseCategoriesRequest, opts ...RequestOption,
) ([]*TestCaseCategory, *Response, error)
// GetTestCaseCategoriesCount 获取测试用例目录数量
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/tcase/get_tcase_categories_count.html
GetTestCaseCategoriesCount(
ctx context.Context, request *GetTestCaseCategoriesCountRequest, opts ...RequestOption,
) (int, *Response, error)
// GetTestCaseCustomFieldsSettings 获取测试用例自定义字段配置
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/tcase/get_tcase_custom_fields_settings.html
GetTestCaseCustomFieldsSettings(
ctx context.Context, request *GetTestCaseCustomFieldsSettingsRequest, opts ...RequestOption,
) ([]*TestCaseCustomFieldsSetting, *Response, error)
// GetTestCaseFieldsInfo 获取测试用例字段所有字段及候选值
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/tcase/get_tcase_fields_info.html
GetTestCaseFieldsInfo(
ctx context.Context, request *GetTestCaseFieldsInfoRequest, opts ...RequestOption,
) ([]*TestCaseFieldsInfo, *Response, error)
// GetTestCaseResults 获取测试用例执行结果
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/tcase/get_tcase_result.html
GetTestCaseResults(
ctx context.Context, request *GetTestCaseResultsRequest, opts ...RequestOption,
) ([]*TestCaseResultItem, *Response, error)
// GetTestCases 获取测试用例
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/tcase/get_tcases.html
GetTestCases(ctx context.Context, request *GetTestCasesRequest, opts ...RequestOption) ([]*TestCase, *Response, error)
// GetTestCasesCount 获取测试用例数量
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/tcase/get_tcases_count.html
GetTestCasesCount(ctx context.Context, request *GetTestCasesCountRequest, opts ...RequestOption) (int, *Response, error)
// GetTestPlanRelatedBugs 获取测试计划关联bug
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/tcase/get_test_plan_bugs.html
GetTestPlanRelatedBugs(
ctx context.Context, request *GetTestPlanRelatedBugsRequest, opts ...RequestOption,
) ([]*TestPlanRelatedBug, *Response, error)
// GetIterationTestPlans 获取迭代下测试计划
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/tcase/get_by_iteration_id.html
GetIterationTestPlans(
ctx context.Context, request *GetIterationTestPlansRequest, opts ...RequestOption,
) ([]*IterationTestPlan, *Response, error)
// GetTestPlanResult 获取测试计划测试结果
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/tcase/get_test_plan_details.html
GetTestPlanResult(
ctx context.Context, request *GetTestPlanResultRequest, opts ...RequestOption,
) ([]*TestCase, *Response, error)
// GetTestPlanProgress 获取测试计划执行进度
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/tcase/get_test_plan_progress.html
GetTestPlanProgress(
ctx context.Context, request *GetTestPlanProgressRequest, opts ...RequestOption,
) (*TestPlanProgress, *Response, error)
// GetTestPlanTestCaseRelations 获取测试计划与测试用例关联关系
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/tcase/get_test_plan_tcases.html
GetTestPlanTestCaseRelations(
ctx context.Context, request *GetTestPlanTestCaseRelationsRequest, opts ...RequestOption,
) ([]*TestPlanTestCaseRelation, *Response, error)
// GetTestPlans 获取测试计划
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/tcase/get_test_plans.html
GetTestPlans(ctx context.Context, request *GetTestPlansRequest, opts ...RequestOption) ([]*TestPlan, *Response, error)
// GetTestPlansCount 获取测试计划数量
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/tcase/get_test_plans_count.html
GetTestPlansCount(ctx context.Context, request *GetTestPlansCountRequest, opts ...RequestOption) (int, *Response, error)
// RemoveTestCaseFromTestPlan 测试用例移出测试计划
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/tcase/remove_tcase_instance.html
RemoveTestCaseFromTestPlan(
ctx context.Context, request *RemoveTestCaseFromTestPlanRequest, opts ...RequestOption,
) (bool, *Response, error)
// UpdateTestCase 更新测试用例
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/tcase/update_tcase.html
UpdateTestCase(ctx context.Context, request *UpdateTestCaseRequest, opts ...RequestOption) (*TestCase, *Response, error)
// UpdateTestPlan 编辑测试计划
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/tcase/update_test_plan.html
UpdateTestPlan(ctx context.Context, request *UpdateTestPlanRequest, opts ...RequestOption) (*TestPlan, *Response, error)
// GetTestPlanFieldsInfo 获取测试计划所有字段及候选值
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/tcase/get_test_plan_fields_info.html
GetTestPlanFieldsInfo(
ctx context.Context, request *GetTestPlanFieldsInfoRequest, opts ...RequestOption,
) ([]*TestPlanFieldsInfo, *Response, error)
// GetTestPlanRelatedStories 获取测试计划关联的需求
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/tcase/get_test_plan_relative_stories.html
GetTestPlanRelatedStories(
ctx context.Context, request *GetTestPlanRelatedStoriesRequest, opts ...RequestOption,
) ([]string, *Response, error)
}
TestService 测试
https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/tcase/
func NewTestService ¶ added in v0.17.0
func NewTestService(client *Client) TestService
type Timesheet ¶
type Timesheet struct {
ID string `json:"id,omitempty"` // id
EntityType EntityType `json:"entity_type,omitempty"` // 对象类型,如story、task、bug等
EntityID string `json:"entity_id,omitempty"` // 对象ID
Timespent string `json:"timespent,omitempty"` // 花费工时
Spentdate string `json:"spentdate,omitempty"` // 花费日期
Owner string `json:"owner,omitempty"` // 花费创建人
Created string `json:"created,omitempty"` // 创建时间
Modified string `json:"modified,omitempty"` // 最后修改时间
WorkspaceID string `json:"workspace_id,omitempty"` // 项目ID
Memo string `json:"memo,omitempty"` // 花费描述
IsDelete string `json:"is_delete,omitempty"` // 是否已删除
}
type TimesheetService ¶
type TimesheetService interface {
// CreateTimesheet 创建工时花费
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/timesheet/add_timesheet.html
CreateTimesheet(ctx context.Context, request *CreateTimesheetRequest, opts ...RequestOption) (*Timesheet, *Response, error)
// GetTimesheets 获取工时花费
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/timesheet/get_timesheets.html
GetTimesheets(ctx context.Context, request *GetTimesheetsRequest, opts ...RequestOption) ([]*Timesheet, *Response, error)
// GetTimesheetsCount 获取工时花费的数量
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/timesheet/get_timesheets_count.html
GetTimesheetsCount(ctx context.Context, request *GetTimesheetsCountRequest, opts ...RequestOption) (int, *Response, error)
// UpdateTimesheet 更新工时花费
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/timesheet/update_timesheet.html
UpdateTimesheet(ctx context.Context, request *UpdateTimesheetRequest, opts ...RequestOption) (*Timesheet, *Response, error)
// DeleteTimesheets 删除工时花费
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/timesheet/delete_timesheets.html
DeleteTimesheets(ctx context.Context, request *DeleteTimesheetsRequest, opts ...RequestOption) (*DeleteTimesheetsResponse, *Response, error)
}
func NewTimesheetService ¶ added in v0.12.0
func NewTimesheetService(client *Client) TimesheetService
type UnlockIterationRequest ¶ added in v0.17.0
type UpdateBoardCardRequest ¶ added in v0.17.0
type UpdateBoardCardRequest struct {
ID *int64 `json:"id,omitempty"` // [必须]工作项ID
WorkspaceID *int `json:"workspace_id,omitempty"` // [必须]项目ID
BoardID *int64 `json:"b_board_id,omitempty"` // 看板ID
ColumnID *int64 `json:"b_column_id,omitempty"` // 板块ID
Name *string `json:"name,omitempty"` // 工作项标题
Owner *string `json:"owner,omitempty"` // 负责人
CC *string `json:"cc,omitempty"` // 参与人
Status *string `json:"status,omitempty"` // 状态
Begin *string `json:"begin,omitempty"` // 开始时间
Due *string `json:"due,omitempty"` // 截止时间
Label *int64 `json:"b_label,omitempty"` // 标签ID
Description *string `json:"description,omitempty"` // 详细描述
}
type UpdateBugRequest ¶ added in v0.8.0
type UpdateBugRequest struct {
ID *int64 `json:"id,omitempty"` // ID 支持多ID查询
Title *string `json:"title,omitempty"` // 标题 支持模糊匹配
Priority *string `json:"priority,omitempty"` // 优先级。为了兼容自定义优先级,请使用 priority_label 字段,详情参考:如何兼容自定义优先级
PriorityLabel *PriorityLabel `json:"priority_label,omitempty"` // 优先级。推荐使用这个字段
Severity *Enum[BugSeverity] `json:"severity,omitempty"` // 严重程度 支持枚举查询
Status *Enum[string] `json:"status,omitempty"` // 状态 支持不等于查询、枚举查询
VStatus *string `json:"v_status,omitempty"` // 状态(支持传入中文状态名称)
Label *Enum[string] `json:"label,omitempty"` // 标签查询 支持枚举查询
IterationID *Enum[string] `json:"iteration_id,omitempty"` // 迭代 支持枚举查询
Module *Enum[string] `json:"module,omitempty"` // 模块 支持枚举查询
ReleaseID *int `json:"release_id,omitempty"` // 发布计划
VersionReport *Enum[string] `json:"version_report,omitempty"` // 发现版本 枚举查询
VersionTest *string `json:"version_test,omitempty"` // 验证版本
VersionFix *string `json:"version_fix,omitempty"` // 合入版本
VersionClose *string `json:"version_close,omitempty"` // 关闭版本
BaselineFind *string `json:"baseline_find,omitempty"` // 发现基线
BaselineJoin *string `json:"baseline_join,omitempty"` // 合入基线
BaselineTest *string `json:"baseline_test,omitempty"` // 验证基线
BaselineClose *string `json:"baseline_close,omitempty"` // 关闭基线
Feature *string `json:"feature,omitempty"` // 特性
CurrentOwner *string `json:"current_owner,omitempty"` // 处理人 支持模糊匹配
CC *string `json:"cc,omitempty"` // 抄送人
Reporter *Multi[string] `json:"reporter,omitempty"` // 创建人 支持多人员查询
Participator *Multi[string] `json:"participator,omitempty"` // 参与人 支持多人员查询
TE *string `json:"te,omitempty"` // 测试人员 支持模糊匹配
DE *string `json:"de,omitempty"` // 开发人员 支持模糊匹配
Auditer *string `json:"auditer,omitempty"` // 审核人
Confirmer *string `json:"confirmer,omitempty"` // 验证人
Fixer *string `json:"fixer,omitempty"` // 修复人
Closer *string `json:"closer,omitempty"` // 关闭人
LastModify *string `json:"lastmodify,omitempty"` // 最后修改人
Created *string `json:"created,omitempty"` // 创建时间 支持时间查询
InProgressTime *string `json:"in_progress_time,omitempty"` // 接受处理时间 支持时间查询
Resolved *string `json:"resolved,omitempty"` // 解决时间 支持时间查询
VerifyTime *string `json:"verify_time,omitempty"` // 验证时间 支持时间查询
Closed *string `json:"closed,omitempty"` // 关闭时间 支持时间查询
RejectTime *string `json:"reject_time,omitempty"` // 拒绝时间 支持时间查询
Modified *string `json:"modified,omitempty"` // 最后修改时间 支持时间查询
Begin *string `json:"begin,omitempty"` // 预计开始
Due *string `json:"due,omitempty"` // 预计结束
Deadline *string `json:"deadline,omitempty"` // 解决期限
OS *string `json:"os,omitempty"` // 操作系统
Platform *string `json:"platform,omitempty"` // 软件平台
TestMode *string `json:"testmode,omitempty"` // 测试方式
TestPhase *string `json:"testphase,omitempty"` // 测试阶段
TestType *string `json:"testtype,omitempty"` // 测试类型
Source *Enum[string] `json:"source,omitempty"` // 缺陷根源 支持枚举查询
BugType *string `json:"bugtype,omitempty"` // 缺陷类型
Frequency *Enum[string] `json:"frequency,omitempty"` // 重现规律 支持枚举查询
OriginPhase *string `json:"originphase,omitempty"` // 发现阶段
SourcePhase *string `json:"sourcephase,omitempty"` // 引入阶段
Resolution *Enum[string] `json:"resolution,omitempty"` // 解决方法 支持枚举查询
Estimate *int `json:"estimate,omitempty"` // 预计解决时间
Description *string `json:"description,omitempty"` // 详细描述 支持模糊匹配
WorkspaceID *int `json:"workspace_id,omitempty"` // 项目ID
CustomFieldOne *string `json:"custom_field_one,omitempty"` // 自定义字段参数,具体字段名通过接口 获取缺陷自定义字段配置 获取 支持枚举查询
CustomFieldTwo *string `json:"custom_field_two,omitempty"`
CustomFieldThree *string `json:"custom_field_three,omitempty"`
CustomFieldFour *string `json:"custom_field_four,omitempty"`
CustomFieldFive *string `json:"custom_field_five,omitempty"`
CustomField6 *string `json:"custom_field_6,omitempty"`
CustomField7 *string `json:"custom_field_7,omitempty"`
CustomField8 *string `json:"custom_field_8,omitempty"`
CustomField9 *string `json:"custom_field_9,omitempty"`
CustomField10 *string `json:"custom_field_10,omitempty"`
CustomField11 *string `json:"custom_field_11,omitempty"`
CustomField12 *string `json:"custom_field_12,omitempty"`
CustomField13 *string `json:"custom_field_13,omitempty"`
CustomField14 *string `json:"custom_field_14,omitempty"`
CustomField15 *string `json:"custom_field_15,omitempty"`
CustomField16 *string `json:"custom_field_16,omitempty"`
CustomField17 *string `json:"custom_field_17,omitempty"`
CustomField18 *string `json:"custom_field_18,omitempty"`
CustomField19 *string `json:"custom_field_19,omitempty"`
CustomField20 *string `json:"custom_field_20,omitempty"`
CustomField21 *string `json:"custom_field_21,omitempty"`
CustomField22 *string `json:"custom_field_22,omitempty"`
CustomField23 *string `json:"custom_field_23,omitempty"`
CustomField24 *string `json:"custom_field_24,omitempty"`
CustomField25 *string `json:"custom_field_25,omitempty"`
CustomField26 *string `json:"custom_field_26,omitempty"`
CustomField27 *string `json:"custom_field_27,omitempty"`
CustomField28 *string `json:"custom_field_28,omitempty"`
CustomField29 *string `json:"custom_field_29,omitempty"`
CustomField30 *string `json:"custom_field_30,omitempty"`
CustomField31 *string `json:"custom_field_31,omitempty"`
CustomField32 *string `json:"custom_field_32,omitempty"`
CustomField33 *string `json:"custom_field_33,omitempty"`
CustomField34 *string `json:"custom_field_34,omitempty"`
CustomField35 *string `json:"custom_field_35,omitempty"`
CustomField36 *string `json:"custom_field_36,omitempty"`
CustomField37 *string `json:"custom_field_37,omitempty"`
CustomField38 *string `json:"custom_field_38,omitempty"`
CustomField39 *string `json:"custom_field_39,omitempty"`
CustomField40 *string `json:"custom_field_40,omitempty"`
CustomField41 *string `json:"custom_field_41,omitempty"`
CustomField42 *string `json:"custom_field_42,omitempty"`
CustomField43 *string `json:"custom_field_43,omitempty"`
CustomField44 *string `json:"custom_field_44,omitempty"`
CustomField45 *string `json:"custom_field_45,omitempty"`
CustomField46 *string `json:"custom_field_46,omitempty"`
CustomField47 *string `json:"custom_field_47,omitempty"`
CustomField48 *string `json:"custom_field_48,omitempty"`
CustomField49 *string `json:"custom_field_49,omitempty"`
CustomField50 *string `json:"custom_field_50,omitempty"`
CustomField51 *string `json:"custom_field_51,omitempty"`
CustomField52 *string `json:"custom_field_52,omitempty"`
CustomField53 *string `json:"custom_field_53,omitempty"`
CustomField54 *string `json:"custom_field_54,omitempty"`
CustomField55 *string `json:"custom_field_55,omitempty"`
CustomField56 *string `json:"custom_field_56,omitempty"`
CustomField57 *string `json:"custom_field_57,omitempty"`
CustomField58 *string `json:"custom_field_58,omitempty"`
CustomField59 *string `json:"custom_field_59,omitempty"`
CustomField60 *string `json:"custom_field_60,omitempty"`
CustomField61 *string `json:"custom_field_61,omitempty"`
CustomField62 *string `json:"custom_field_62,omitempty"`
CustomField63 *string `json:"custom_field_63,omitempty"`
CustomField64 *string `json:"custom_field_64,omitempty"`
CustomField65 *string `json:"custom_field_65,omitempty"`
CustomField66 *string `json:"custom_field_66,omitempty"`
CustomField67 *string `json:"custom_field_67,omitempty"`
CustomField68 *string `json:"custom_field_68,omitempty"`
CustomField69 *string `json:"custom_field_69,omitempty"`
CustomField70 *string `json:"custom_field_70,omitempty"`
CustomField71 *string `json:"custom_field_71,omitempty"`
CustomField72 *string `json:"custom_field_72,omitempty"`
CustomField73 *string `json:"custom_field_73,omitempty"`
CustomField74 *string `json:"custom_field_74,omitempty"`
CustomField75 *string `json:"custom_field_75,omitempty"`
CustomField76 *string `json:"custom_field_76,omitempty"`
CustomField77 *string `json:"custom_field_77,omitempty"`
CustomField78 *string `json:"custom_field_78,omitempty"`
CustomField79 *string `json:"custom_field_79,omitempty"`
CustomField80 *string `json:"custom_field_80,omitempty"`
CustomField81 *string `json:"custom_field_81,omitempty"`
CustomField82 *string `json:"custom_field_82,omitempty"`
CustomField83 *string `json:"custom_field_83,omitempty"`
CustomField84 *string `json:"custom_field_84,omitempty"`
CustomField85 *string `json:"custom_field_85,omitempty"`
CustomField86 *string `json:"custom_field_86,omitempty"`
CustomField87 *string `json:"custom_field_87,omitempty"`
CustomField88 *string `json:"custom_field_88,omitempty"`
CustomField89 *string `json:"custom_field_89,omitempty"`
CustomField90 *string `json:"custom_field_90,omitempty"`
CustomField91 *string `json:"custom_field_91,omitempty"`
CustomField92 *string `json:"custom_field_92,omitempty"`
CustomField93 *string `json:"custom_field_93,omitempty"`
CustomField94 *string `json:"custom_field_94,omitempty"`
CustomField95 *string `json:"custom_field_95,omitempty"`
CustomField96 *string `json:"custom_field_96,omitempty"`
CustomField97 *string `json:"custom_field_97,omitempty"`
CustomField98 *string `json:"custom_field_98,omitempty"`
CustomField99 *string `json:"custom_field_99,omitempty"`
CustomField100 *string `json:"custom_field_100,omitempty"`
CustomField101 *string `json:"custom_field_101,omitempty"`
CustomField102 *string `json:"custom_field_102,omitempty"`
CustomField103 *string `json:"custom_field_103,omitempty"`
CustomField104 *string `json:"custom_field_104,omitempty"`
CustomField105 *string `json:"custom_field_105,omitempty"`
CustomField106 *string `json:"custom_field_106,omitempty"`
CustomField107 *string `json:"custom_field_107,omitempty"`
CustomField108 *string `json:"custom_field_108,omitempty"`
CustomField109 *string `json:"custom_field_109,omitempty"`
CustomField110 *string `json:"custom_field_110,omitempty"`
CustomField111 *string `json:"custom_field_111,omitempty"`
CustomField112 *string `json:"custom_field_112,omitempty"`
CustomField113 *string `json:"custom_field_113,omitempty"`
CustomField114 *string `json:"custom_field_114,omitempty"`
CustomField115 *string `json:"custom_field_115,omitempty"`
CustomField116 *string `json:"custom_field_116,omitempty"`
CustomField117 *string `json:"custom_field_117,omitempty"`
CustomField118 *string `json:"custom_field_118,omitempty"`
CustomField119 *string `json:"custom_field_119,omitempty"`
CustomField120 *string `json:"custom_field_120,omitempty"`
CustomField121 *string `json:"custom_field_121,omitempty"`
CustomField122 *string `json:"custom_field_122,omitempty"`
CustomField123 *string `json:"custom_field_123,omitempty"`
CustomField124 *string `json:"custom_field_124,omitempty"`
CustomField125 *string `json:"custom_field_125,omitempty"`
CustomField126 *string `json:"custom_field_126,omitempty"`
CustomField127 *string `json:"custom_field_127,omitempty"`
CustomField128 *string `json:"custom_field_128,omitempty"`
CustomField129 *string `json:"custom_field_129,omitempty"`
CustomField130 *string `json:"custom_field_130,omitempty"`
CustomField131 *string `json:"custom_field_131,omitempty"`
CustomField132 *string `json:"custom_field_132,omitempty"`
CustomField133 *string `json:"custom_field_133,omitempty"`
CustomField134 *string `json:"custom_field_134,omitempty"`
CustomField135 *string `json:"custom_field_135,omitempty"`
CustomField136 *string `json:"custom_field_136,omitempty"`
CustomField137 *string `json:"custom_field_137,omitempty"`
CustomField138 *string `json:"custom_field_138,omitempty"`
CustomField139 *string `json:"custom_field_139,omitempty"`
CustomField140 *string `json:"custom_field_140,omitempty"`
CustomField141 *string `json:"custom_field_141,omitempty"`
CustomField142 *string `json:"custom_field_142,omitempty"`
CustomField143 *string `json:"custom_field_143,omitempty"`
CustomField144 *string `json:"custom_field_144,omitempty"`
CustomField145 *string `json:"custom_field_145,omitempty"`
CustomField146 *string `json:"custom_field_146,omitempty"`
CustomField147 *string `json:"custom_field_147,omitempty"`
CustomField148 *string `json:"custom_field_148,omitempty"`
CustomField149 *string `json:"custom_field_149,omitempty"`
CustomField150 *string `json:"custom_field_150,omitempty"`
CustomPlanField1 *string `json:"custom_plan_field_1,omitempty"` // 自定义计划应用参数,具体字段名通过接口 获取自定义计划应用 获取
CustomPlanField2 *string `json:"custom_plan_field_2,omitempty"`
CustomPlanField3 *string `json:"custom_plan_field_3,omitempty"`
CustomPlanField4 *string `json:"custom_plan_field_4,omitempty"`
CustomPlanField5 *string `json:"custom_plan_field_5,omitempty"`
CustomPlanField6 *string `json:"custom_plan_field_6,omitempty"`
CustomPlanField7 *string `json:"custom_plan_field_7,omitempty"`
CustomPlanField8 *string `json:"custom_plan_field_8,omitempty"`
CustomPlanField9 *string `json:"custom_plan_field_9,omitempty"`
CustomPlanField10 *string `json:"custom_plan_field_10,omitempty"`
}
type UpdateBugSystemSelectFieldOptionsRequest ¶ added in v0.17.0
type UpdateBugSystemSelectFieldOptionsRequest struct {
WorkspaceID *int `json:"workspace_id,omitempty"` // [必须]项目ID
Field *string `json:"field,omitempty"` // [必须]字段,目前支持 bugtype
Options []*BugSystemSelectFieldOption `json:"options,omitempty"` // [必须]选项列表,会覆盖原有选项
}
type UpdateCommentRequest ¶
type UpdateIterationCustomDashBoardContentRequest ¶ added in v0.17.0
type UpdateIterationCustomDashBoardContentRequest struct {
WorkspaceID *int `json:"workspace_id,omitempty"` // [必须]源项目ID
IterationID *int64 `json:"iteration_id,omitempty"` // [必须]迭代ID
CardID *int64 `json:"card_id,omitempty"` // [必须]卡片ID
Content *string `json:"content,omitempty"` // [必须]卡片内容,支持富文本
PlanAppID *int64 `json:"plan_app_id,omitempty"` // 计划应用ID,默认为0代表迭代应用
}
type UpdateIterationCustomDashBoardContentResult ¶ added in v0.17.0
type UpdateIterationCustomDashBoardContentResult struct {
ID string `json:"id,omitempty"` // 卡片ID
}
type UpdateIterationRequest ¶ added in v0.7.0
type UpdateIterationRequest struct {
ID *int64 `json:"id,omitempty"` // [必须] ID
WorkspaceID *int `json:"workspace_id,omitempty"` // [必须] 项目 ID
CurrentUser *string `json:"current_user,omitempty"` // [必须]变更人
Name *string `json:"name,omitempty"` // 标题 支持模糊匹配
Description *string `json:"description,omitempty"` // 详细描述
StartDate *string `json:"startdate,omitempty"` // 开始时间 支持时间查询
EndDate *string `json:"enddate,omitempty"` // 结束时间 支持时间查询
Creator *string `json:"creator,omitempty"` // 创建人
Status *string `json:"status,omitempty"` // 状态(系统状态 open/done,自定义状态可传中文)
Label *Enum[string] `json:"label,omitempty"` // 标签, 可传多个
CustomField1 *string `json:"custom_field_1,omitempty"` // 自定义字段参数
CustomField2 *string `json:"custom_field_2,omitempty"` // 自定义字段参数
CustomField3 *string `json:"custom_field_3,omitempty"` // 自定义字段参数
CustomField4 *string `json:"custom_field_4,omitempty"` // 自定义字段参数
CustomField5 *string `json:"custom_field_5,omitempty"` // 自定义字段参数
CustomField6 *string `json:"custom_field_6,omitempty"` // 自定义字段参数
CustomField7 *string `json:"custom_field_7,omitempty"` // 自定义字段参数
CustomField8 *string `json:"custom_field_8,omitempty"` // 自定义字段参数
CustomField9 *string `json:"custom_field_9,omitempty"` // 自定义字段参数
CustomField10 *string `json:"custom_field_10,omitempty"` // 自定义字段参数
CustomField11 *string `json:"custom_field_11,omitempty"` // 自定义字段参数
CustomField12 *string `json:"custom_field_12,omitempty"` // 自定义字段参数
CustomField13 *string `json:"custom_field_13,omitempty"` // 自定义字段参数
CustomField14 *string `json:"custom_field_14,omitempty"` // 自定义字段参数
CustomField15 *string `json:"custom_field_15,omitempty"` // 自定义字段参数
CustomField16 *string `json:"custom_field_16,omitempty"` // 自定义字段参数
CustomField17 *string `json:"custom_field_17,omitempty"` // 自定义字段参数
CustomField18 *string `json:"custom_field_18,omitempty"` // 自定义字段参数
CustomField19 *string `json:"custom_field_19,omitempty"` // 自定义字段参数
CustomField20 *string `json:"custom_field_20,omitempty"` // 自定义字段参数
CustomField21 *string `json:"custom_field_21,omitempty"` // 自定义字段参数
CustomField22 *string `json:"custom_field_22,omitempty"` // 自定义字段参数
CustomField23 *string `json:"custom_field_23,omitempty"` // 自定义字段参数
CustomField24 *string `json:"custom_field_24,omitempty"` // 自定义字段参数
CustomField25 *string `json:"custom_field_25,omitempty"` // 自定义字段参数
CustomField26 *string `json:"custom_field_26,omitempty"` // 自定义字段参数
CustomField27 *string `json:"custom_field_27,omitempty"` // 自定义字段参数
CustomField28 *string `json:"custom_field_28,omitempty"` // 自定义字段参数
CustomField29 *string `json:"custom_field_29,omitempty"` // 自定义字段参数
CustomField30 *string `json:"custom_field_30,omitempty"` // 自定义字段参数
CustomField31 *string `json:"custom_field_31,omitempty"` // 自定义字段参数
CustomField32 *string `json:"custom_field_32,omitempty"` // 自定义字段参数
CustomField33 *string `json:"custom_field_33,omitempty"` // 自定义字段参数
CustomField34 *string `json:"custom_field_34,omitempty"` // 自定义字段参数
CustomField35 *string `json:"custom_field_35,omitempty"` // 自定义字段参数
CustomField36 *string `json:"custom_field_36,omitempty"` // 自定义字段参数
CustomField37 *string `json:"custom_field_37,omitempty"` // 自定义字段参数
CustomField38 *string `json:"custom_field_38,omitempty"` // 自定义字段参数
CustomField39 *string `json:"custom_field_39,omitempty"` // 自定义字段参数
CustomField40 *string `json:"custom_field_40,omitempty"` // 自定义字段参数
CustomField41 *string `json:"custom_field_41,omitempty"` // 自定义字段参数
CustomField42 *string `json:"custom_field_42,omitempty"` // 自定义字段参数
CustomField43 *string `json:"custom_field_43,omitempty"` // 自定义字段参数
CustomField44 *string `json:"custom_field_44,omitempty"` // 自定义字段参数
CustomField45 *string `json:"custom_field_45,omitempty"` // 自定义字段参数
CustomField46 *string `json:"custom_field_46,omitempty"` // 自定义字段参数
CustomField47 *string `json:"custom_field_47,omitempty"` // 自定义字段参数
CustomField48 *string `json:"custom_field_48,omitempty"` // 自定义字段参数
CustomField49 *string `json:"custom_field_49,omitempty"` // 自定义字段参数
CustomField50 *string `json:"custom_field_50,omitempty"` // 自定义字段参数
}
type UpdateLabelRequest ¶
type UpdateLabelRequest struct {
ID *int `json:"id"` // [必选]ID
WorkspaceID *int `json:"workspace_id"` // [必选]项目ID
Color *LabelColor `json:"color"` // 标签颜色
Modifier *string `json:"modifier"` // 更新人
}
type UpdateReleaseRequest ¶ added in v0.17.0
type UpdateReleaseRequest struct {
WorkspaceID *int `json:"workspace_id,omitempty"` // [必须]项目ID
ID *int64 `json:"id,omitempty"` // [必须]发布计划ID
Name *string `json:"name,omitempty"` // 标题
Description *string `json:"description,omitempty"` // 详细描述
StartDate *string `json:"startdate,omitempty"` // 开始时间
EndDate *string `json:"enddate,omitempty"` // 结束时间
Status *string `json:"status,omitempty"` // 状态
}
type UpdateStoryCategoryRequest ¶ added in v0.17.0
type UpdateStoryCategoryRequest struct {
WorkspaceID *int `json:"workspace_id,omitempty"` // [必须]项目ID
ID *int64 `json:"id,omitempty"` // [必须]需求分类ID
Name *string `json:"name,omitempty"` // 分类名称
Description *string `json:"description,omitempty"` // 分类描述
ParentID *int64 `json:"parent_id,omitempty"` // 父分类ID
}
type UpdateStoryParentRequest ¶ added in v0.17.0
type UpdateStoryRequest ¶
type UpdateStoryRequest struct {
ID *int64 `json:"id,omitempty"` // 必须
WorkspaceID *int `json:"workspace_id,omitempty"` // 必须
Name *string `json:"name,omitempty"` // 标题
Priority *string `json:"priority,omitempty"` // 优先级。
PriorityLabel *PriorityLabel `json:"priority_label,omitempty"` // 优先级。推荐使用这个字段
BusinessValue *int `json:"business_value,omitempty"` // 业务价值
Status *string `json:"status,omitempty"` // 状态
VStatus *string `json:"v_status,omitempty"` // 中文状态名称
Version *string `json:"version,omitempty"` // 版本
Module *string `json:"module,omitempty"` // 模块
TestFocus *string `json:"test_focus,omitempty"` // 测试重点
Size *int `json:"size,omitempty"` // 规模
Owner *string `json:"owner,omitempty"` // 处理人
CurrentUser *string `json:"current_user,omitempty"` // 变更人
CC *string `json:"cc,omitempty"` // 抄送人
Developer *string `json:"developer,omitempty"` // 开发人员
Begin *string `json:"begin,omitempty"` // 预计开始
Due *string `json:"due,omitempty"` // 预计结束
IterationID *string `json:"iteration_id,omitempty"` // 迭代ID
Effort *string `json:"effort,omitempty"` // 预估工时
EffortCompleted *string `json:"effort_completed,omitempty"` // 完成工时
Remain *float64 `json:"remain,omitempty"` // 剩余工时
Exceed *float64 `json:"exceed,omitempty"` // 超出工时
CategoryID *int64 `json:"category_id,omitempty"` // 需求分类ID
ReleaseID *int `json:"release_id,omitempty"` // 发布计划ID
Source *string `json:"source,omitempty"` // 来源
Type *string `json:"type,omitempty"` // 类型
Description *string `json:"description,omitempty"` // 详细描述
IsAutoCloseTask *int `json:"is_auto_close_task,omitempty"` // 自动关闭关联任务
Label *string `json:"label,omitempty"` // 标签
CustomFieldOne *string `json:"custom_field_one,omitempty"`
CustomFieldTwo *string `json:"custom_field_two,omitempty"`
CustomFieldThree *string `json:"custom_field_three,omitempty"`
CustomFieldFour *string `json:"custom_field_four,omitempty"`
CustomFieldFive *string `json:"custom_field_five,omitempty"`
CustomFieldSix *string `json:"custom_field_six,omitempty"`
CustomFieldSeven *string `json:"custom_field_seven,omitempty"`
CustomFieldEight *string `json:"custom_field_eight,omitempty"`
CustomField9 *string `json:"custom_field_9,omitempty"`
CustomField10 *string `json:"custom_field_10,omitempty"`
CustomField11 *string `json:"custom_field_11,omitempty"`
CustomField12 *string `json:"custom_field_12,omitempty"`
CustomField13 *string `json:"custom_field_13,omitempty"`
CustomField14 *string `json:"custom_field_14,omitempty"`
CustomField15 *string `json:"custom_field_15,omitempty"`
CustomField16 *string `json:"custom_field_16,omitempty"`
CustomField17 *string `json:"custom_field_17,omitempty"`
CustomField18 *string `json:"custom_field_18,omitempty"`
CustomField19 *string `json:"custom_field_19,omitempty"`
CustomField20 *string `json:"custom_field_20,omitempty"`
CustomField21 *string `json:"custom_field_21,omitempty"`
CustomField22 *string `json:"custom_field_22,omitempty"`
CustomField23 *string `json:"custom_field_23,omitempty"`
CustomField24 *string `json:"custom_field_24,omitempty"`
CustomField25 *string `json:"custom_field_25,omitempty"`
CustomField26 *string `json:"custom_field_26,omitempty"`
CustomField27 *string `json:"custom_field_27,omitempty"`
CustomField28 *string `json:"custom_field_28,omitempty"`
CustomField29 *string `json:"custom_field_29,omitempty"`
CustomField30 *string `json:"custom_field_30,omitempty"`
CustomField31 *string `json:"custom_field_31,omitempty"`
CustomField32 *string `json:"custom_field_32,omitempty"`
CustomField33 *string `json:"custom_field_33,omitempty"`
CustomField34 *string `json:"custom_field_34,omitempty"`
CustomField35 *string `json:"custom_field_35,omitempty"`
CustomField36 *string `json:"custom_field_36,omitempty"`
CustomField37 *string `json:"custom_field_37,omitempty"`
CustomField38 *string `json:"custom_field_38,omitempty"`
CustomField39 *string `json:"custom_field_39,omitempty"`
CustomField40 *string `json:"custom_field_40,omitempty"`
CustomField41 *string `json:"custom_field_41,omitempty"`
CustomField42 *string `json:"custom_field_42,omitempty"`
CustomField43 *string `json:"custom_field_43,omitempty"`
CustomField44 *string `json:"custom_field_44,omitempty"`
CustomField45 *string `json:"custom_field_45,omitempty"`
CustomField46 *string `json:"custom_field_46,omitempty"`
CustomField47 *string `json:"custom_field_47,omitempty"`
CustomField48 *string `json:"custom_field_48,omitempty"`
CustomField49 *string `json:"custom_field_49,omitempty"`
CustomField50 *string `json:"custom_field_50,omitempty"`
CustomField51 *string `json:"custom_field_51,omitempty"`
CustomField52 *string `json:"custom_field_52,omitempty"`
CustomField53 *string `json:"custom_field_53,omitempty"`
CustomField54 *string `json:"custom_field_54,omitempty"`
CustomField55 *string `json:"custom_field_55,omitempty"`
CustomField56 *string `json:"custom_field_56,omitempty"`
CustomField57 *string `json:"custom_field_57,omitempty"`
CustomField58 *string `json:"custom_field_58,omitempty"`
CustomField59 *string `json:"custom_field_59,omitempty"`
CustomField60 *string `json:"custom_field_60,omitempty"`
CustomField61 *string `json:"custom_field_61,omitempty"`
CustomField62 *string `json:"custom_field_62,omitempty"`
CustomField63 *string `json:"custom_field_63,omitempty"`
CustomField64 *string `json:"custom_field_64,omitempty"`
CustomField65 *string `json:"custom_field_65,omitempty"`
CustomField66 *string `json:"custom_field_66,omitempty"`
CustomField67 *string `json:"custom_field_67,omitempty"`
CustomField68 *string `json:"custom_field_68,omitempty"`
CustomField69 *string `json:"custom_field_69,omitempty"`
CustomField70 *string `json:"custom_field_70,omitempty"`
CustomField71 *string `json:"custom_field_71,omitempty"`
CustomField72 *string `json:"custom_field_72,omitempty"`
CustomField73 *string `json:"custom_field_73,omitempty"`
CustomField74 *string `json:"custom_field_74,omitempty"`
CustomField75 *string `json:"custom_field_75,omitempty"`
CustomField76 *string `json:"custom_field_76,omitempty"`
CustomField77 *string `json:"custom_field_77,omitempty"`
CustomField78 *string `json:"custom_field_78,omitempty"`
CustomField79 *string `json:"custom_field_79,omitempty"`
CustomField80 *string `json:"custom_field_80,omitempty"`
CustomField81 *string `json:"custom_field_81,omitempty"`
CustomField82 *string `json:"custom_field_82,omitempty"`
CustomField83 *string `json:"custom_field_83,omitempty"`
CustomField84 *string `json:"custom_field_84,omitempty"`
CustomField85 *string `json:"custom_field_85,omitempty"`
CustomField86 *string `json:"custom_field_86,omitempty"`
CustomField87 *string `json:"custom_field_87,omitempty"`
CustomField88 *string `json:"custom_field_88,omitempty"`
CustomField89 *string `json:"custom_field_89,omitempty"`
CustomField90 *string `json:"custom_field_90,omitempty"`
CustomField91 *string `json:"custom_field_91,omitempty"`
CustomField92 *string `json:"custom_field_92,omitempty"`
CustomField93 *string `json:"custom_field_93,omitempty"`
CustomField94 *string `json:"custom_field_94,omitempty"`
CustomField95 *string `json:"custom_field_95,omitempty"`
CustomField96 *string `json:"custom_field_96,omitempty"`
CustomField97 *string `json:"custom_field_97,omitempty"`
CustomField98 *string `json:"custom_field_98,omitempty"`
CustomField99 *string `json:"custom_field_99,omitempty"`
CustomField100 *string `json:"custom_field_100,omitempty"`
CustomField101 *string `json:"custom_field_101,omitempty"`
CustomField102 *string `json:"custom_field_102,omitempty"`
CustomField103 *string `json:"custom_field_103,omitempty"`
CustomField104 *string `json:"custom_field_104,omitempty"`
CustomField105 *string `json:"custom_field_105,omitempty"`
CustomField106 *string `json:"custom_field_106,omitempty"`
CustomField107 *string `json:"custom_field_107,omitempty"`
CustomField108 *string `json:"custom_field_108,omitempty"`
CustomField109 *string `json:"custom_field_109,omitempty"`
CustomField110 *string `json:"custom_field_110,omitempty"`
CustomField111 *string `json:"custom_field_111,omitempty"`
CustomField112 *string `json:"custom_field_112,omitempty"`
CustomField113 *string `json:"custom_field_113,omitempty"`
CustomField114 *string `json:"custom_field_114,omitempty"`
CustomField115 *string `json:"custom_field_115,omitempty"`
CustomField116 *string `json:"custom_field_116,omitempty"`
CustomField117 *string `json:"custom_field_117,omitempty"`
CustomField118 *string `json:"custom_field_118,omitempty"`
CustomField119 *string `json:"custom_field_119,omitempty"`
CustomField120 *string `json:"custom_field_120,omitempty"`
CustomField121 *string `json:"custom_field_121,omitempty"`
CustomField122 *string `json:"custom_field_122,omitempty"`
CustomField123 *string `json:"custom_field_123,omitempty"`
CustomField124 *string `json:"custom_field_124,omitempty"`
CustomField125 *string `json:"custom_field_125,omitempty"`
CustomField126 *string `json:"custom_field_126,omitempty"`
CustomField127 *string `json:"custom_field_127,omitempty"`
CustomField128 *string `json:"custom_field_128,omitempty"`
CustomField129 *string `json:"custom_field_129,omitempty"`
CustomField130 *string `json:"custom_field_130,omitempty"`
CustomField131 *string `json:"custom_field_131,omitempty"`
CustomField132 *string `json:"custom_field_132,omitempty"`
CustomField133 *string `json:"custom_field_133,omitempty"`
CustomField134 *string `json:"custom_field_134,omitempty"`
CustomField135 *string `json:"custom_field_135,omitempty"`
CustomField136 *string `json:"custom_field_136,omitempty"`
CustomField137 *string `json:"custom_field_137,omitempty"`
CustomField138 *string `json:"custom_field_138,omitempty"`
CustomField139 *string `json:"custom_field_139,omitempty"`
CustomField140 *string `json:"custom_field_140,omitempty"`
CustomField141 *string `json:"custom_field_141,omitempty"`
CustomField142 *string `json:"custom_field_142,omitempty"`
CustomField143 *string `json:"custom_field_143,omitempty"`
CustomField144 *string `json:"custom_field_144,omitempty"`
CustomField145 *string `json:"custom_field_145,omitempty"`
CustomField146 *string `json:"custom_field_146,omitempty"`
CustomField147 *string `json:"custom_field_147,omitempty"`
CustomField148 *string `json:"custom_field_148,omitempty"`
CustomField149 *string `json:"custom_field_149,omitempty"`
CustomField150 *string `json:"custom_field_150,omitempty"`
CustomField151 *string `json:"custom_field_151,omitempty"`
CustomField152 *string `json:"custom_field_152,omitempty"`
CustomField153 *string `json:"custom_field_153,omitempty"`
CustomField154 *string `json:"custom_field_154,omitempty"`
CustomField155 *string `json:"custom_field_155,omitempty"`
CustomField156 *string `json:"custom_field_156,omitempty"`
CustomField157 *string `json:"custom_field_157,omitempty"`
CustomField158 *string `json:"custom_field_158,omitempty"`
CustomField159 *string `json:"custom_field_159,omitempty"`
CustomField160 *string `json:"custom_field_160,omitempty"`
CustomField161 *string `json:"custom_field_161,omitempty"`
CustomField162 *string `json:"custom_field_162,omitempty"`
CustomField163 *string `json:"custom_field_163,omitempty"`
CustomField164 *string `json:"custom_field_164,omitempty"`
CustomField165 *string `json:"custom_field_165,omitempty"`
CustomField166 *string `json:"custom_field_166,omitempty"`
CustomField167 *string `json:"custom_field_167,omitempty"`
CustomField168 *string `json:"custom_field_168,omitempty"`
CustomField169 *string `json:"custom_field_169,omitempty"`
CustomField170 *string `json:"custom_field_170,omitempty"`
CustomField171 *string `json:"custom_field_171,omitempty"`
CustomField172 *string `json:"custom_field_172,omitempty"`
CustomField173 *string `json:"custom_field_173,omitempty"`
CustomField174 *string `json:"custom_field_174,omitempty"`
CustomField175 *string `json:"custom_field_175,omitempty"`
CustomField176 *string `json:"custom_field_176,omitempty"`
CustomField177 *string `json:"custom_field_177,omitempty"`
CustomField178 *string `json:"custom_field_178,omitempty"`
CustomField179 *string `json:"custom_field_179,omitempty"`
CustomField180 *string `json:"custom_field_180,omitempty"`
CustomField181 *string `json:"custom_field_181,omitempty"`
CustomField182 *string `json:"custom_field_182,omitempty"`
CustomField183 *string `json:"custom_field_183,omitempty"`
CustomField184 *string `json:"custom_field_184,omitempty"`
CustomField185 *string `json:"custom_field_185,omitempty"`
CustomField186 *string `json:"custom_field_186,omitempty"`
CustomField187 *string `json:"custom_field_187,omitempty"`
CustomField188 *string `json:"custom_field_188,omitempty"`
CustomField189 *string `json:"custom_field_189,omitempty"`
CustomField190 *string `json:"custom_field_190,omitempty"`
CustomField191 *string `json:"custom_field_191,omitempty"`
CustomField192 *string `json:"custom_field_192,omitempty"`
CustomField193 *string `json:"custom_field_193,omitempty"`
CustomField194 *string `json:"custom_field_194,omitempty"`
CustomField195 *string `json:"custom_field_195,omitempty"`
CustomField196 *string `json:"custom_field_196,omitempty"`
CustomField197 *string `json:"custom_field_197,omitempty"`
CustomField198 *string `json:"custom_field_198,omitempty"`
CustomField199 *string `json:"custom_field_199,omitempty"`
CustomField200 *string `json:"custom_field_200,omitempty"`
CustomPlanField1 *string `json:"custom_plan_field_1,omitempty"`
CustomPlanField2 *string `json:"custom_plan_field_2,omitempty"`
CustomPlanField3 *string `json:"custom_plan_field_3,omitempty"`
CustomPlanField4 *string `json:"custom_plan_field_4,omitempty"`
CustomPlanField5 *string `json:"custom_plan_field_5,omitempty"`
CustomPlanField6 *string `json:"custom_plan_field_6,omitempty"`
CustomPlanField7 *string `json:"custom_plan_field_7,omitempty"`
CustomPlanField8 *string `json:"custom_plan_field_8,omitempty"`
CustomPlanField9 *string `json:"custom_plan_field_9,omitempty"`
CustomPlanField10 *string `json:"custom_plan_field_10,omitempty"`
}
type UpdateStoryWorkitemTypeRequest ¶ added in v0.17.0
type UpdateTaskRequest ¶ added in v0.17.0
type UpdateTaskRequest struct {
ID *int64 `json:"id,omitempty"` // [必须]任务ID
WorkspaceID *int `json:"workspace_id,omitempty"` // [必须]项目ID
CurrentUser *string `json:"current_user,omitempty"` // 当前操作人
Name *string `json:"name,omitempty"` // 任务标题
Description *string `json:"description,omitempty"` // 任务详细描述
Creator *string `json:"creator,omitempty"` // 创建人
Status *TaskStatus `json:"status,omitempty"` // 状态
Label *Enum[string] `json:"label,omitempty"` // 标签
Owner *string `json:"owner,omitempty"` // 任务当前处理人
CC *string `json:"cc,omitempty"` // 抄送人
Begin *string `json:"begin,omitempty"` // 预计开始
Due *string `json:"due,omitempty"` // 预计结束
StoryID *int64 `json:"story_id,omitempty"` // 关联需求的ID
IterationID *int64 `json:"iteration_id,omitempty"` // 所属迭代的ID
Priority *string `json:"priority,omitempty"` // 优先级。为了兼容自定义优先级,请使用 priority_label 字段
PriorityLabel *PriorityLabel `json:"priority_label,omitempty"` // 优先级。推荐使用这个字段
Progress *int `json:"progress,omitempty"` // 进度
Effort *string `json:"effort,omitempty"` // 预估工时
AutoCompleteEffort *int `json:"auto_complete_effort,omitempty"` // 完成任务时是否自动填写完成工时
CustomFieldOne *string `json:"custom_field_one,omitempty"`
CustomFieldTwo *string `json:"custom_field_two,omitempty"`
CustomFieldThree *string `json:"custom_field_three,omitempty"`
CustomFieldFour *string `json:"custom_field_four,omitempty"`
CustomFieldFive *string `json:"custom_field_five,omitempty"`
CustomFieldSix *string `json:"custom_field_six,omitempty"`
CustomFieldSeven *string `json:"custom_field_seven,omitempty"`
CustomFieldEight *string `json:"custom_field_eight,omitempty"`
CustomField9 *string `json:"custom_field_9,omitempty"`
CustomField10 *string `json:"custom_field_10,omitempty"`
CustomField11 *string `json:"custom_field_11,omitempty"`
CustomField12 *string `json:"custom_field_12,omitempty"`
CustomField13 *string `json:"custom_field_13,omitempty"`
CustomField14 *string `json:"custom_field_14,omitempty"`
CustomField15 *string `json:"custom_field_15,omitempty"`
CustomField16 *string `json:"custom_field_16,omitempty"`
CustomField17 *string `json:"custom_field_17,omitempty"`
CustomField18 *string `json:"custom_field_18,omitempty"`
CustomField19 *string `json:"custom_field_19,omitempty"`
CustomField20 *string `json:"custom_field_20,omitempty"`
CustomField21 *string `json:"custom_field_21,omitempty"`
CustomField22 *string `json:"custom_field_22,omitempty"`
CustomField23 *string `json:"custom_field_23,omitempty"`
CustomField24 *string `json:"custom_field_24,omitempty"`
CustomField25 *string `json:"custom_field_25,omitempty"`
CustomField26 *string `json:"custom_field_26,omitempty"`
CustomField27 *string `json:"custom_field_27,omitempty"`
CustomField28 *string `json:"custom_field_28,omitempty"`
CustomField29 *string `json:"custom_field_29,omitempty"`
CustomField30 *string `json:"custom_field_30,omitempty"`
CustomField31 *string `json:"custom_field_31,omitempty"`
CustomField32 *string `json:"custom_field_32,omitempty"`
CustomField33 *string `json:"custom_field_33,omitempty"`
CustomField34 *string `json:"custom_field_34,omitempty"`
CustomField35 *string `json:"custom_field_35,omitempty"`
CustomField36 *string `json:"custom_field_36,omitempty"`
CustomField37 *string `json:"custom_field_37,omitempty"`
CustomField38 *string `json:"custom_field_38,omitempty"`
CustomField39 *string `json:"custom_field_39,omitempty"`
CustomField40 *string `json:"custom_field_40,omitempty"`
CustomField41 *string `json:"custom_field_41,omitempty"`
CustomField42 *string `json:"custom_field_42,omitempty"`
CustomField43 *string `json:"custom_field_43,omitempty"`
CustomField44 *string `json:"custom_field_44,omitempty"`
CustomField45 *string `json:"custom_field_45,omitempty"`
CustomField46 *string `json:"custom_field_46,omitempty"`
CustomField47 *string `json:"custom_field_47,omitempty"`
CustomField48 *string `json:"custom_field_48,omitempty"`
CustomField49 *string `json:"custom_field_49,omitempty"`
CustomField50 *string `json:"custom_field_50,omitempty"`
CustomPlanField1 *string `json:"custom_plan_field_1,omitempty"` // 自定义计划应用参数
CustomPlanField2 *string `json:"custom_plan_field_2,omitempty"`
CustomPlanField3 *string `json:"custom_plan_field_3,omitempty"`
CustomPlanField4 *string `json:"custom_plan_field_4,omitempty"`
CustomPlanField5 *string `json:"custom_plan_field_5,omitempty"`
CustomPlanField6 *string `json:"custom_plan_field_6,omitempty"`
CustomPlanField7 *string `json:"custom_plan_field_7,omitempty"`
CustomPlanField8 *string `json:"custom_plan_field_8,omitempty"`
CustomPlanField9 *string `json:"custom_plan_field_9,omitempty"`
CustomPlanField10 *string `json:"custom_plan_field_10,omitempty"`
}
type UpdateTestCaseRequest ¶ added in v0.17.0
type UpdateTestCaseRequest = CreateTestCaseRequest
type UpdateTestPlanRequest ¶ added in v0.17.0
type UpdateTestPlanRequest struct {
ID *int64 `json:"id,omitempty"` // [必须]测试计划ID
Name *string `json:"name,omitempty"` // 测试计划标题
Description *string `json:"description,omitempty"` // 测试计划详细描述
WorkspaceID *int `json:"workspace_id,omitempty"` // [必须]项目ID
Modifier *string `json:"modifier,omitempty"` // 修改人
Owner *string `json:"owner,omitempty"` // 测试计划负责人
StartDate *string `json:"start_date,omitempty"` // 预计开始
EndDate *string `json:"end_date,omitempty"` // 预计结束
Version *string `json:"version,omitempty"` // 版本号
Type *string `json:"type,omitempty"` // 测试类型
Status *string `json:"status,omitempty"` // 状态,默认open
TemplateID *int64 `json:"template_id,omitempty"` // 模板ID
CustomField1 *string `json:"custom_field_1,omitempty"` // 自定义字段
CustomField2 *string `json:"custom_field_2,omitempty"`
CustomField3 *string `json:"custom_field_3,omitempty"`
CustomField4 *string `json:"custom_field_4,omitempty"`
CustomField5 *string `json:"custom_field_5,omitempty"`
CustomField6 *string `json:"custom_field_6,omitempty"`
CustomField7 *string `json:"custom_field_7,omitempty"`
CustomField8 *string `json:"custom_field_8,omitempty"`
CustomField9 *string `json:"custom_field_9,omitempty"`
CustomField10 *string `json:"custom_field_10,omitempty"`
}
type UpdateTimesheetRequest ¶
type UpdateTimesheetRequest struct {
ID *int64 `json:"id"` // [必须]工时花费ID
Timespent *string `json:"timespent,omitempty"` // [可选]花费工时
Timeremain *string `json:"timeremain,omitempty"` // [可选]剩余工时
WorkspaceID *int `json:"workspace_id,omitempty"` // [必须]项目ID
Memo *string `json:"memo,omitempty"` // [可选]花费描述
}
type UpdateWikiRequest ¶ added in v0.17.0
type UpdateWikiRequest struct {
ID *int64 `json:"id,omitempty"` // [必须]ID
Name *string `json:"name,omitempty"` // 标题
MarkdownDescription *string `json:"markdown_description,omitempty"` // Markdown
Description *string `json:"description,omitempty"` // 富文本
Note *string `json:"note,omitempty"` // 备注
WorkspaceID *int `json:"workspace_id,omitempty"` // [必须]项目ID
ParentWikiID *string `json:"parent_wiki_id,omitempty"` // 父wiki ID
}
type UpdateWorkspaceInfoRequest ¶ added in v0.17.0
type UpdatedStoryCategory ¶ added in v0.17.0
type UpdatedStoryCategory struct {
ID string `json:"id,omitempty"` // ID
WorkspaceID string `json:"workspace_id,omitempty"` // 项目ID
Name string `json:"name,omitempty"` // 需求分类名称
Description *string `json:"description,omitempty"` // 需求分类描述
ParentID string `json:"parent_id,omitempty"` // 父分类ID
Created string `json:"created,omitempty"` // 创建时间
Modified string `json:"modified,omitempty"` // 最后修改时间
Creator string `json:"creator,omitempty"` // 创建人
Modifier string `json:"modifier,omitempty"` // 最后修改人
}
type UploadAttachmentRequest ¶ added in v0.17.1
type UploadAttachmentRequest struct {
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]空间ID
Type *string `url:"type,omitempty"` // [必须]类型,固定为 story_custom_field
CustomField *string `url:"custom_field,omitempty"` // [必须]字段英文名
EntryID *int64 `url:"entry_id,omitempty"` // [必须]工作项ID
Owner *string `url:"owner,omitempty"` // [可选]附件创建人
Filename *string `url:"-"` // [必须]上传文件名
File io.Reader `url:"-"` // [必须]文件内容
}
type UploadImageBase64Request ¶ added in v0.17.1
type UploadImageBase64Request struct {
WorkspaceID *int `url:"workspace_id,omitempty"` // [必须]空间ID
Base64Data *string `url:"base64_data,omitempty"` // [必须]图片 base64 格式数据
Type *string `url:"type,omitempty"` // [必须]类型,固定为 story_custom_field
CustomField *string `url:"custom_field,omitempty"` // [必须]字段英文名
EntryID *int64 `url:"entry_id,omitempty"` // [必须]工作项ID
Owner *string `url:"owner,omitempty"` // [可选]附件创建人
}
type User ¶ added in v0.12.0
type User struct {
User string `json:"user"`
UserID string `json:"user_id,omitempty"`
RoleID []string `json:"role_id"`
Name string `json:"name"`
Email string `json:"email,omitempty"`
JoinProjectTime *string `json:"join_project_time"`
RealJoinTime string `json:"real_join_time"`
Status string `json:"status"`
Allocation string `json:"allocation"`
LeaveProjectTime *string `json:"leave_project_time"`
}
type UserService ¶
type UserService interface {
// GetRoles 获取角色ID对照关系
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/user/get_roles.html
GetRoles(ctx context.Context, request *GetRolesRequest, opts ...RequestOption) ([]*UserRole, *Response, error)
}
func NewUserService ¶ added in v0.12.0
func NewUserService(client *Client) UserService
type Wiki ¶ added in v0.17.0
type Wiki struct {
ID string `json:"id,omitempty"` // ID
Name string `json:"name,omitempty"` // 标题
WorkspaceID string `json:"workspace_id,omitempty"` // 项目ID
Description string `json:"description,omitempty"` // 富文本
MarkdownDescription string `json:"markdown_description,omitempty"` // Markdown
IsRich string `json:"is_rich,omitempty"` // 是否富文本
ParentWikiID string `json:"parent_wiki_id,omitempty"` // 父wiki ID
Author string `json:"author,omitempty"` // 修改人
Creator string `json:"creator,omitempty"` // 创建人
Note string `json:"note,omitempty"` // 备注
ViewCount string `json:"view_count,omitempty"` // 浏览量
Created string `json:"created,omitempty"` // 创建时间
Modified string `json:"modified,omitempty"` // 最后修改时间
Modifier string `json:"modifier,omitempty"` // 最后修改人
}
type WikiDrawioData ¶ added in v0.17.0
type WikiEntityPermission ¶ added in v0.17.0
type WikiEntityPermission struct {
ID string `json:"id,omitempty"` // 记录ID
WorkspaceID string `json:"workspace_id,omitempty"` // 项目ID
EntryType string `json:"entry_type,omitempty"` // 固定值 wiki
TargetType string `json:"target_type,omitempty"` // 可访问的类型
TargetID string `json:"target_id,omitempty"` // 用户昵称或用户组ID
WikiID string `json:"wiki_id,omitempty"` // wiki ID
}
type WikiFollower ¶ added in v0.17.0
type WikiService ¶ added in v0.17.0
type WikiService interface {
// CreateWiki 创建 wiki
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/wiki/add_tapd_wiki.html
CreateWiki(ctx context.Context, request *CreateWikiRequest, opts ...RequestOption) (*Wiki, *Response, error)
// GetWikis 获取 wiki
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/wiki/get_tapd_wikis.html
GetWikis(ctx context.Context, request *GetWikisRequest, opts ...RequestOption) ([]*Wiki, *Response, error)
// GetWikisCount 获取 Wiki 数量
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/wiki/get_tapd_wikis_count.html
GetWikisCount(ctx context.Context, request *GetWikisCountRequest, opts ...RequestOption) (int, *Response, error)
// UpdateWiki 更新 wiki
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/wiki/update_tapd_wiki.html
UpdateWiki(ctx context.Context, request *UpdateWikiRequest, opts ...RequestOption) (*Wiki, *Response, error)
// GetWikiDrawioData 获取 wiki drawio 数据
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/wiki/get_tapd_wikis_drawios.html
GetWikiDrawioData(ctx context.Context, request *GetWikiDrawioDataRequest, opts ...RequestOption) (*WikiDrawioData, *Response, error)
// GetWikiFollowers 获取 wiki 关注人数据
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/wiki/get_tapd_wikis_followers.html
GetWikiFollowers(ctx context.Context, request *GetWikiFollowersRequest, opts ...RequestOption) ([]*WikiFollower, *Response, error)
// GetWikiFollowersCount 获取 wiki 关注人数量
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/wiki/get_tapd_wikis_followers_count.html
GetWikiFollowersCount(ctx context.Context, request *GetWikiFollowersCountRequest, opts ...RequestOption) (int, *Response, error)
// GetWikiEntityPermissions 获取 wiki 可访问范围人员及用户组
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/wiki/get_tapd_wikis_entity_permissions.html
GetWikiEntityPermissions(ctx context.Context, request *GetWikiEntityPermissionsRequest, opts ...RequestOption) ([]*WikiEntityPermission, *Response, error)
// GetWikiTags 获取 wiki 标签信息
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/wiki/get_tapd_wikis_tags.html
GetWikiTags(ctx context.Context, request *GetWikiTagsRequest, opts ...RequestOption) ([]*WikiTag, *Response, error)
// GetWikiTagsCount 获取 wiki 标签信息数量
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/wiki/get_tapd_wikis_tags_count.html
GetWikiTagsCount(ctx context.Context, request *GetWikiTagsCountRequest, opts ...RequestOption) (int, *Response, error)
// GetWikiAttachmentsCount 获取 wiki 附件数量
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/wiki/get_tapd_wikis_attachments_count.html
GetWikiAttachmentsCount(ctx context.Context, request *GetWikiAttachmentsCountRequest, opts ...RequestOption) (int, *Response, error)
}
WikiService Wiki 服务。
https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/wiki/
func NewWikiService ¶ added in v0.17.0
func NewWikiService(client *Client) WikiService
type WorkCalendarSetting ¶ added in v0.17.0
type WorkCalendarSetting struct {
Name string `json:"name,omitempty"` // 工作日历名称
Type WorkCalendarType `json:"type,omitempty"` // 工作日历类型
Enable bool `json:"enable,omitempty"` // 是否启用
}
type WorkCalendarType ¶ added in v0.17.0
type WorkCalendarType string
WorkCalendarType 工作日历类型。
const ( WorkCalendarTypeSystem WorkCalendarType = "system" WorkCalendarTypeCustom WorkCalendarType = "custom" )
type WorkItemIDMap ¶ added in v0.17.0
type WorkItemIDMap struct {
ShortID string `json:"short_id,omitempty"` // 短ID
LongID string `json:"long_id,omitempty"` // 长ID
EntityType EntityType `json:"entity_type,omitempty"` // 业务对象类型
WorkspaceID string `json:"workspace_id,omitempty"` // 项目ID
CompanyID string `json:"company_id,omitempty"` // 公司ID
}
type WorkflowAllLastStep ¶ added in v0.7.0
type WorkflowAllLastStep struct {
Key string `json:"key,omitempty"` // 工作流ID 或者 需求类别ID , 根据group_key确定
Status []*WorkflowAllLastStepStatus `json:"status,omitempty"` // 状态列表
}
type WorkflowAllLastStepStatus ¶ added in v0.7.0
type WorkflowService ¶ added in v0.7.0
type WorkflowService interface {
// GetAllLastSteps 获取所有结束状态
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/workflow/get_workflow_all_last_steps.html
GetAllLastSteps(ctx context.Context, request *GetAllLastStepsRequest, opts ...RequestOption) ([]*WorkflowAllLastStep, *Response, error)
}
WorkflowService 工作流
func NewWorkflowService ¶ added in v0.12.0
func NewWorkflowService(client *Client) WorkflowService
type WorkitemTemplate ¶ added in v0.6.0
type WorkitemType ¶ added in v0.6.0
type Workspace ¶ added in v0.15.0
type Workspace struct {
ID string `json:"id,omitempty"` // 项目ID
Name string `json:"name,omitempty"` // 项目名称
PrettyName string `json:"pretty_name,omitempty"` // 项目显示名称
Category string `json:"category,omitempty"` // 项目类型
Status string `json:"status,omitempty"` // 项目状态
Description string `json:"description,omitempty"` // 项目描述
Creator string `json:"creator,omitempty"` // 创建人
CreatorID string `json:"creator_id,omitempty"` // 创建人ID
Created string `json:"created,omitempty"` // 创建时间
BeginDate *string `json:"begin_date,omitempty"` // 开始日期
EndDate *string `json:"end_date,omitempty"` // 结束日期
Secrecy string `json:"secrecy,omitempty"` // 是否保密
ExternalOn string `json:"external_on,omitempty"` // 是否开启外部协作
NewTask string `json:"new_task,omitempty"` // 是否启用新任务
CompanyID string `json:"company_id,omitempty"` // 公司ID
ParentID string `json:"parent_id,omitempty"` // 父项目ID
TemplateID string `json:"template_id,omitempty"` // 模板ID
ProductType *string `json:"product_type,omitempty"` // 产品类型
PlatformType *string `json:"platform_type,omitempty"` // 平台类型
IsSelfDevelopment *string `json:"is_self_development,omitempty"` // 是否自研
Objective string `json:"objective,omitempty"` // 项目目标
Schedule *string `json:"schedule,omitempty"` // 项目计划
Milestone *string `json:"milestone,omitempty"` // 里程碑
Risk *string `json:"risk,omitempty"` // 风险
Closed *string `json:"closed,omitempty"` // 是否关闭
MemberCount int `json:"member_count,omitempty"` // 成员数量
WorkspaceExtends map[string]any `json:"WorkspaceExtends,omitempty"` // 项目扩展信息
}
type WorkspaceCustomFieldsSetting ¶ added in v0.17.0
type WorkspaceCustomFieldsSetting struct {
ID string `json:"id,omitempty"` // 自定义字段配置的ID
WorkspaceID string `json:"workspace_id,omitempty"` // 所属项目ID
AppID string `json:"app_id,omitempty"` // 应用ID
EntryType string `json:"entry_type,omitempty"` // 所属实体对象
CustomField string `json:"custom_field,omitempty"` // 自定义字段标识
Type string `json:"type,omitempty"` // 输入类型
Name string `json:"name,omitempty"` // 自定义字段显示名称
Options *string `json:"options,omitempty"` // 自定义字段可选值
ExtraConfig *string `json:"extra_config,omitempty"` // 额外配置
Enabled string `json:"enabled,omitempty"` // 是否启用
Freeze string `json:"freeze,omitempty"` // 是否冻结
Sort *string `json:"sort,omitempty"` // 显示时排序系数
Memo *string `json:"memo,omitempty"` // 备注
OpenExtensionID string `json:"open_extension_id,omitempty"`
IsOut int `json:"is_out,omitempty"`
IsUninstall int `json:"is_uninstall,omitempty"`
AppName string `json:"app_name,omitempty"`
}
type WorkspaceDocument ¶ added in v0.17.0
type WorkspaceDocument struct {
ID string `json:"id,omitempty"` // ID
WorkspaceID string `json:"workspace_id,omitempty"` // 项目ID
Name string `json:"name,omitempty"` // 标题
Type string `json:"type,omitempty"` // 文档类型
FolderID string `json:"folder_id,omitempty"` // 文件夹ID
Creator string `json:"creator,omitempty"` // 创建人
Modifier string `json:"modifier,omitempty"` // 最后修改人
Status *string `json:"status,omitempty"` // 状态
Created string `json:"created,omitempty"` // 创建时间
Modified string `json:"modified,omitempty"` // 最后修改时间
}
type WorkspaceRole ¶ added in v0.17.0
type WorkspaceService ¶
type WorkspaceService interface {
// GetSubWorkspaces 获取子项目信息
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/workspace/get_sub_workspaces.html
GetSubWorkspaces(
ctx context.Context, request *GetSubWorkspacesRequest, opts ...RequestOption,
) ([]*Workspace, *Response, error)
// GetWorkspaceInfo 获取项目信息
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/workspace/get_workspace_info.html
GetWorkspaceInfo(
ctx context.Context, request *GetWorkspaceInfoRequest, opts ...RequestOption,
) (*Workspace, *Response, error)
// GetUsers 获取项目成员列表/指定项目成员
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/workspace/users.html
GetUsers(
ctx context.Context, request *GetUsersRequest, opts ...RequestOption,
) ([]*User, *Response, error)
// AddWorkspaceMember 添加项目成员
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/workspace/add_workspace_member.html
AddWorkspaceMember(
ctx context.Context, request *AddWorkspaceMemberRequest, opts ...RequestOption,
) (*AddWorkspaceMemberResponse, *Response, error)
// GetCompanyWorkspaces 获取公司项目列表
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/workspace/projects.html
GetCompanyWorkspaces(
ctx context.Context, request *GetCompanyWorkspacesRequest, opts ...RequestOption,
) ([]*Workspace, *Response, error)
// GetWorkspaceRoles 获取用户组ID对照关系
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/workspace/roles.html
GetWorkspaceRoles(
ctx context.Context, request *GetWorkspaceRolesRequest, opts ...RequestOption,
) ([]*WorkspaceRole, *Response, error)
// GetUserParticipantWorkspaces 获取用户参与的项目列表
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/workspace/user_participant_projects.html
GetUserParticipantWorkspaces(
ctx context.Context, request *GetUserParticipantWorkspacesRequest, opts ...RequestOption,
) ([]*Workspace, *Response, error)
// GetWorkspaceCustomFieldsSettings 获取项目自定义字段
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/workspace/workspace_custom_field_settings.html
GetWorkspaceCustomFieldsSettings(
ctx context.Context, request *GetWorkspaceCustomFieldsSettingsRequest, opts ...RequestOption,
) ([]*WorkspaceCustomFieldsSetting, *Response, error)
// UpdateWorkspaceInfo 更新项目信息
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/workspace/update_workspace_info.html
UpdateWorkspaceInfo(
ctx context.Context, request *UpdateWorkspaceInfoRequest, opts ...RequestOption,
) (string, *Response, error)
// GetWorkspaceDocuments 获取项目文档
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/workspace/get_workspace_documents.html
GetWorkspaceDocuments(
ctx context.Context, request *GetWorkspaceDocumentsRequest, opts ...RequestOption,
) ([]*WorkspaceDocument, *Response, error)
// SetCustomWorkCalendar 设置自定义工作日历
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/workspace/set_custom_work_calendar.html
SetCustomWorkCalendar(
ctx context.Context, request *SetCustomWorkCalendarRequest, opts ...RequestOption,
) (*SetCustomWorkCalendarResponse, *Response, error)
// EnableWorkCalendar 设置启用工作日历
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/workspace/enable_work_calendar.html
EnableWorkCalendar(
ctx context.Context, request *EnableWorkCalendarRequest, opts ...RequestOption,
) (*EnableWorkCalendarResponse, *Response, error)
// GetCustomWorkCalendar 获取自定义工作日历详情
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/workspace/get_custom_work_calendar.html
GetCustomWorkCalendar(
ctx context.Context, request *GetCustomWorkCalendarRequest, opts ...RequestOption,
) (*CustomWorkCalendar, *Response, error)
// GetWorkCalendarSettings 获取工作日历设置列表及启用选项
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/workspace/get_work_calendar_settings.html
GetWorkCalendarSettings(
ctx context.Context, request *GetWorkCalendarSettingsRequest, opts ...RequestOption,
) ([]*WorkCalendarSetting, *Response, error)
// GetWorkItemsLongIDByShortIDs 通过工作项短id换长id
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/workspace/get_workitems_long_id_by_short_ids.html
GetWorkItemsLongIDByShortIDs(
ctx context.Context, request *GetWorkItemsLongIDByShortIDsRequest, opts ...RequestOption,
) (*GetWorkItemsLongIDByShortIDsResponse, *Response, error)
// GetMemberActivityLog 获取成员活动日志
//
// https://open.tapd.cn/document/api-doc/API%E6%96%87%E6%A1%A3/api_reference/workspace/member_activity_log.html
GetMemberActivityLog(
ctx context.Context, request *GetMemberActivityLogRequest, opts ...RequestOption,
) (*GetMemberActivityLogResponse, *Response, error)
}
func NewWorkspaceService ¶ added in v0.12.0
func NewWorkspaceService(client *Client) WorkspaceService
Source Files
¶
- api_attachment.go
- api_board.go
- api_bug.go
- api_comment.go
- api_iteration.go
- api_label.go
- api_measure.go
- api_release.go
- api_report.go
- api_setting.go
- api_source.go
- api_story.go
- api_task.go
- api_tcase.go
- api_timesheet.go
- api_types.go
- api_user.go
- api_wiki.go
- api_workflow.go
- api_workspace.go
- client.go
- client_options.go
- client_options_http_client.go
- helpers.go
- request.go
- response.go