import Api from './Api'; interface IIssue { summary: string; epicName?: string; typeCode: string; priorityId: number; priorityCode: string; projectId: number; programId?: number; assigneeId?: number; componentIssueRelVOList?: Array; description?: string; epicId?: number; featureVO?: object; issueLinkCreateVOList?: Array; issueTypeId?: number; labelIssueRelVOList?: Array; parentIssueId?: number; piId?: number; relateIssueId?: number; sprintId?: number; storyPoints?: number | string; versionIssueRelVOList?: Array; wsjfVO?: object; } interface UIssue { issueId: string; objectVersionNumber: number; [propName: string]: any; } interface UTypeAndStatus { issueId: string; issueTypeId: string; objectVersionNumber: number; projectId?: string; typeCode: string; statusId?: string; parentIssueId?: string; epicName?: string; batchUpdateFieldsValueVo?: { issueIds: string[]; predefinedFields: object; customFields: { fieldId: string; fieldType: string; value: any; }[]; }; } interface UIssueParent { issueId: string; parentIssueId: string; objectVersionNumber: number; } interface SearchVO { advancedSearchArgs: object; } interface CopyCondition { issueLink: boolean; subTask: boolean; summary: string; epicName?: string; predefinedFieldNames: string[]; customFieldIds: string[]; } interface ICustomFieldData { option: Array<{ fieldId: string; value: any; }>; date: Array; date_hms: Array; number: Array; string: Array; text: Array; } interface IExportSearch { advancedSearchArgs?: { issueTypeId?: number; reporterIds?: Array; statusId?: number; priorityId?: number; estimateTime?: number; remainingTime?: number; storyPoints?: number; }; otherArgs: { customField?: ICustomFieldData; assigneeId?: number; issueIds?: Array; component?: any; epic?: any; feature?: any; label?: any; sprint?: any; summary?: string; fixVersion?: any; influenceVersion?: any; starBeacon?: boolean; myAssigned?: boolean; userId?: string; testResponsibleIds?: string[]; mainResponsibleIds?: string[]; environment?: string[]; creatorIds?: string; updatorIds?: string[]; tags?: any[]; participantIds?: []; }; searchArgs?: { estimatedStartTimeScopeStart?: string; estimatedStartTimeScopeEnd?: string; estimatedEndTimeScopeStart?: string; estimatedEndTimeScopeEnd?: string; actualStartTimeScopeStart?: string; actualStartTimeScopeEnd?: string; actualEndTimeScopeStart?: string; actualEndTimeScopeEnd?: string; createStartDate: string; createEndDate: string; updateStartDate: string; updateEndDate: string; }; exportFieldCodes: Array; quickFilterIds?: Array; contents?: string | string[]; } interface IImportOrExportRecord { action: null | string; creationDate: null | string; failCount: null | number; fileUrl: null | string; id: null | string; lastUpdateDate: null | string; objectVersionNumber: null | number; organizationId: null | string; projectId: null | string; status: null | string; successCount: null | number; userId: null | string; } export { IExportSearch, ICustomFieldData, IImportOrExportRecord }; declare class IssueApi extends Api { get prefix(): string; get outPrefix(): string; get isOutside(): boolean; outside(outside: boolean): IssueApi; /** * 创建工作项 敏捷/测试 * @param issueObj * @param applyType */ create(issueObj: IIssue, applyType?: string): any; /** * 更新工作项 * @param issueObj * @param projectId */ update(issueObj: UIssue): Promise; /** * 更新工作项状态 * @param transformId 转换的状态id * @param issueId 工作项id * @param objectVersionNumber 版本号 * @param applyType 应用类型 */ updateStatus(transformId: number, issueId: number, objectVersionNumber: number, applyType?: string): any; getRequiredField(issueId: string, issueTypeId: string): any; /** * 更新工作项类型 * @param data */ updateType(data: UTypeAndStatus): any; /** * 克隆工作项 * @param issueId * @param applyType * @param copyCondition */ clone(issueId: string, applyType: string | undefined, copyCondition: CopyCondition): any; /** * 根据工作项id加载工作项 * @param issueId */ load(issueId: string, projectId?: string): any; /** * 项目层中加载工作项(项目群) * @param issueId 工作项id * @param programId 项目群id */ loadUnderProgram(issueId: number, programId: number): any; /** * 删除工作项 * @param issueId//工作项id * @param creatorId//工作项创建者id */ delete(issueId: number, creatorId: string): any; /** * 导出工作项列表 * @param searchVO * @param sort */ export(searchVO: IExportSearch, sort?: string): any; /** * 导入issue * @param data * @returns {*} */ import(data: any): any; /** * 取消导入 * @param id 导入id */ cancelImport(id: number | string, objectVersionNumber: number): any; /** * 查询最新的导入导出记录 * @returns {V|*} */ loadLastImportOrExport(action: 'upload_file' | 'download_file' | 'upload_file_customer_field' | 'upload_file_backlog' | 'download_file_publish_version'): Promise; /** *下载导入模板 * * @export * @returns */ downloadTemplateForImport(data: { systemFields: string[]; customFields: string[]; }): any; /** * 创建子任务 * @param obj * @param applyType */ createSubtask(issueObj: object): any; /** * 根据子任务工作项id 进行加载这个子任务(废弃,不再使用) * @param issueId */ loadSubtask(issueId: number): any; /** * 子任务转换为任务 * @param data */ subtaskTransformTask(data: UTypeAndStatus): any; /** * 任务转换为子任务 * @param data */ taskTransformSubTask(data: UTypeAndStatus): any; /** * 更改子任务所属的父任务 * @param issueUpdateParentIdVO */ subTaskChangeParent(issueUpdateParentIdVO: UIssueParent): any; /** * 查询故事和任务 关联工作项时 (对于BUG管理工作项) * @param {*} page * @param {*} size * @param {*} searchVO */ loadStroyAndTask(page?: number, size?: number, searchVO?: SearchVO): any; /** * 分页搜索查询issue列表 * @param page * @param size * @param issueId * @param content */ loadIssuesInLink(page?: number, size?: number, issueId?: string, content?: string, excludeIssueIds?: string[]): any; encryptIssueId(issueId: number): any; loadParentIssues(page: number, size: number | undefined, issueType: 'bug' | 'sub_task', param?: string): any; star(issueId: string): any; unstar(issueId: string): any; batchDelete(issueIds: string[]): any; loadIssues(page: number, size: number, sort: string | undefined, search: SearchVO): any; decrypt(issueId: string): any; getUnLinkedIssues(issueId: string, data: any): any; checkRequiredFields(issueTypeId: string, data: string[]): any; getComments(issueId: string, page?: number, size?: number): any; getCommentsUnderProgram(issueId: number, programId: number, page?: number, size?: number): any; } declare const issueApi: IssueApi; declare const issueApiConfig: IssueApi; export { issueApi, issueApiConfig };