Options
All
  • Public
  • Public/Protected
  • All
Menu

Class default

禅道 API 请求类

example
import {ZentaoApi} from 'zentao-api';
const zentao = new ZentaoApi({
    url: 'https://pro.demo.zentao.net/', account: 'demo', password: '123456'
});
// TODO: 使用 zentao 调用其他 API

Hierarchy

Index

Constructors

constructor

  • 构造一个禅道 API 请求对象

    example

    import { Zentao } from 'zentao-api'; const zentao = new Zentao({ url: 'https://pro.demo.zentao.net/', // 禅道服务器地址 account: 'demo', // 用户账号 password: '123456', // 用户密码 accessMode: 'GET', // 请求方式 preserveToken: true, // 是否将 token 存储到本地,如果设置为 false,则每次创建新的 Zentao 实例都会在首次调用 API 之前重新获取 Token debug: true, // 如果设置为 true,则会在控制台输出详细日志 }); // TODO: 使用 zentao 调用其他 API

    Parameters

    Returns default

Accessors

account

  • get account(): string

identifier

  • get identifier(): string
  • 当前服务器和账号标识

    Returns string

password

  • get password(): string

requestType

sessionName

  • get sessionName(): string

token

  • get token(): string
  • 当前用于验证的 Token 字符串

    Returns string

url

  • get url(): string

Methods

addBug

  • addBug(params: { assignedTo?: string; browser?: "all" | "ie" | "ie11" | "ie10" | "ie9" | "ie8" | "ie7" | "ie6" | "chrome" | "firefox" | "firefox4" | "firefox3" | "firefox2" | "opera" | "oprea11" | "oprea10" | "safari" | "maxthon" | "uc" | "other"; color?: string; deadline?: string; keywords?: string; mailto?: string[]; module?: number; openedBuild?: any[]; os?: "all" | "others" | "windows" | "win10" | "win8" | "win7" | "vista" | "winxp" | "win2012" | "win2008" | "win2003" | "win2000" | "android" | "ios" | "wp8" | "wp7" | "symbian" | "linux" | "freebsd" | "osx" | "unix"; pri?: number; product: number; project?: number; severity?: number; steps?: string; story?: number; task?: number; title: string; type?: "codeerror" | "config" | "install" | "security" | "performance" | "standard" | "automation" | "designdefect" | "others" }): Promise<ZentaoApiResult>
  • 向系统添加一个 Bug

    example
    import { ZentaoApi } from 'zentao-api';
    const zentao = new ZentaoApi({
        url: 'https://pro.demo.zentao.net/', account: 'demo', password: '123456'
    });
    const result = await zentao.addBug({
        product:         1,               // 必填参数 所属产品ID
        module:          2,               // 选填参数 所属模块ID
        project:         1,               // 选填参数 所属项目ID
        openedBuild:     ['trunk', 3, 2], // 选填参数 影响版本ID【添加单个 Bug 可选信息结果中 builds 记录的 key 值】
        assignedTo:      'lisi',          // 选填参数 当前指派【用户账号】
        deadline:        '2019-11-21',    // 选填参数 截止日期【格式示例:2019-11-11】
        type:            'codeerror',     // 选填参数 BUG类型【codeerror代码错误|config配置相关|install安装部署|security安全相关|performance性能问题|standard标准规范|automation测试脚本|designdefect设计缺陷|others其他
        os:              'windows',       // 选填参数 选填参数|操作系统【all-全部|windows-Windows|win10-Windows 10|win8-Windows 8|win7-Windows 7|vista-Windows Vista|winxp-Windows XP|win2012-Windows 2012|win2008-Windows 2008|win2003-Windows 2003|win2000-Windows 2000|android-Android|ios-IOS|wp8-WP8|wp7-WP7|symbian-Symbian|linux-Linux|freebsd-FreeBSD|osx-OS X|unix-Unix|others-其他】
        browser:         'ie11',          // 选填参数|浏览器【all-全部|ie-IE系列|ie11-IE11|ie10-IE10|ie9-IE9|ie8-IE8|ie7-IE7|ie6-IE6|chrome-Chrome|firefox-firefox系列|firefox4-firefox4|firefox3-firefox3|firefox2-firefox2|opera-opera系列|oprea11-oprea11|oprea10-opera10|opera9-opera9|safari-safari|maxthon-傲游|uc-UC|other-其他】
        title:           '添加bug测试四',   // BUG标题
        color:           '#2dbdb2',       // BUG颜色【示例:#2dbdb2】
        severity:        2,               // 严重程度【1~4】
        pri:             1,               // 优先级【1~4】
        steps:           '重现步骤描述',    // 重现步骤
        story:           0,               // 重现步骤描述
        task:            0,               // 相关需求ID
        mailto:          ['lisi', '张三'], // 抄送
        keywords:        'bug4'            // BUG关键词
    });
    if (result.status) {
        console.log('Bug 创建成功');
    }
    

    Parameters

    • params: { assignedTo?: string; browser?: "all" | "ie" | "ie11" | "ie10" | "ie9" | "ie8" | "ie7" | "ie6" | "chrome" | "firefox" | "firefox4" | "firefox3" | "firefox2" | "opera" | "oprea11" | "oprea10" | "safari" | "maxthon" | "uc" | "other"; color?: string; deadline?: string; keywords?: string; mailto?: string[]; module?: number; openedBuild?: any[]; os?: "all" | "others" | "windows" | "win10" | "win8" | "win7" | "vista" | "winxp" | "win2012" | "win2008" | "win2003" | "win2000" | "android" | "ios" | "wp8" | "wp7" | "symbian" | "linux" | "freebsd" | "osx" | "unix"; pri?: number; product: number; project?: number; severity?: number; steps?: string; story?: number; task?: number; title: string; type?: "codeerror" | "config" | "install" | "security" | "performance" | "standard" | "automation" | "designdefect" | "others" }

      Bug 信息参数

      • Optional assignedTo?: string
      • Optional browser?: "all" | "ie" | "ie11" | "ie10" | "ie9" | "ie8" | "ie7" | "ie6" | "chrome" | "firefox" | "firefox4" | "firefox3" | "firefox2" | "opera" | "oprea11" | "oprea10" | "safari" | "maxthon" | "uc" | "other"
      • Optional color?: string
      • Optional deadline?: string
      • Optional keywords?: string
      • Optional mailto?: string[]
      • Optional module?: number
      • Optional openedBuild?: any[]
      • Optional os?: "all" | "others" | "windows" | "win10" | "win8" | "win7" | "vista" | "winxp" | "win2012" | "win2008" | "win2003" | "win2000" | "android" | "ios" | "wp8" | "wp7" | "symbian" | "linux" | "freebsd" | "osx" | "unix"
      • Optional pri?: number
      • product: number
      • Optional project?: number
      • Optional severity?: number
      • Optional steps?: string
      • Optional story?: number
      • Optional task?: number
      • title: string
      • Optional type?: "codeerror" | "config" | "install" | "security" | "performance" | "standard" | "automation" | "designdefect" | "others"

    Returns Promise<ZentaoApiResult>

addDept

  • addDept(params: { depts: string[]; parentDeptID?: number }): Promise<ZentaoApiResult>
  • 批量添加部门

    example

    import { ZentaoApi } from 'zentao-api'; const zentao = new ZentaoApi({ url: 'https://pro.demo.zentao.net/', account: 'demo', password: '123456' });

    // 在部门 ID 为 3 的部门下添加两个子部门:开发部、测试部 const result = await zentao.addDept({parentDeptID: 3, depts: ['开发部', '测试部']}); if (result.status) { console.log('部门添加成功'); }

    Parameters

    • params: { depts: string[]; parentDeptID?: number }

      请求参数,其中 params.parentDeptID 为所属上级部门ID,params.depts 为新增部门名称列表

      • depts: string[]
      • Optional parentDeptID?: number

    Returns Promise<ZentaoApiResult>

    请求结果

addProduct

  • addProduct(params: { PO?: string; QD?: string; RD?: string; acl?: "open" | "custom" | "private"; code: string; desc?: string; line?: number; name: string; type?: "normal" | "branch" | "platform"; whitelist?: number[] }): Promise<ZentaoApiResult>
  • 向系统添加一个产品,添加新产品时可以指定相关负责人,设置产品类型和访问权限。注意:假如参数 acl = custom ,可以额外传递参数,例如: 'whitelist' => array(1, 2) ,添加白名单为权限分组列表中 ID

    example
    import { ZentaoApi } from 'zentao-api';
    const zentao = new ZentaoApi({
        url: 'https://pro.demo.zentao.net/', account: 'demo', password: '123456'
    });
    const result = await zentao.addProduct({
        name: '登月行动',         // 必填参数 产品名称
        code: 'to_the_moon',    // 必填参数 产品代号
        line: 0,                // 选填参数 产品线ID
        PO: 'admin',            // 选填参数 产品负责人账号
        QD: 'jim',              // 选填参数 测试负责人账号
        RD: 'lilei',            // 选填参数 发布负责人账号
        type: normal',          // 选填参数 产品类型【normal正常|branch多分支|platform多平台
        desc: '登月行动,刻不容缓', // 选填参数 产品描述
        acl: 'custom',          // 选填参数 访问控制【open默认|private私有|custom白名单】
        whitelist: [],          // 选填参数 白名单,权限分组列表中 ID
    });
    if (result.status) {
        console.log('产品创建成功');
    }
    

    Parameters

    • params: { PO?: string; QD?: string; RD?: string; acl?: "open" | "custom" | "private"; code: string; desc?: string; line?: number; name: string; type?: "normal" | "branch" | "platform"; whitelist?: number[] }

      产品信息参数

      • Optional PO?: string
      • Optional QD?: string
      • Optional RD?: string
      • Optional acl?: "open" | "custom" | "private"
      • code: string
      • Optional desc?: string
      • Optional line?: number
      • name: string
      • Optional type?: "normal" | "branch" | "platform"
      • Optional whitelist?: number[]

    Returns Promise<ZentaoApiResult>

addProject

  • addProject(params: { acl?: "open" | "custom" | "private"; begin: string; code: string; days?: number; desc?: string; end: string; name: string; plans?: number[]; products?: number[]; team?: string; type?: "sprint" | "waterfall" | "ops"; whitelist?: number[] }): Promise<ZentaoApiResult>
  • 向系统添加一个项目,添加新项目时可以指定相关负责人,设置产品类型和访问权限

    example
    import { ZentaoApi } from 'zentao-api';
    const zentao = new ZentaoApi({
        url: 'https://pro.demo.zentao.net/', account: 'demo', password: '123456'
    });
    const result = await zentao.addProject({
        name:         '禅道项目管理开发',       // 必填参数 项目名称
        code:         'zentao',              // 必填参数 项目代号
        begin:        '2020-01-01',          // 必填参数 起始日期【时间格式:2019-11-20】
        end:          '2020-06-06',          // 必填参数 结束日期【时间格式:2019-11-20】
        days:         '100',                 // 选填参数 可用工作日
        team:         '禅道开发团队',           // 选填参数 团队名称
        type:         'sprint',               // 选填参数 项目类型【sprint短期项目|waterfall长期项目|ops运维项目】
        desc:         '专业的研发项目管理软件。', // 选填参数 项目描述
        acl:          'custom',               // 选填参数 访问控制【open默认设置|private私有项目|custom白名单】
        whitelist:    [1, 2],                 // 选填参数 白名单中的权限分组 ID
        products:     [4, 5],                 // 选填参数 关联产品 ID
        plans:        [5, 6]                  // 选填参数 关联产品 ID 所属计划 ID
    });
    if (result.status) {
        console.log('项目创建成功');
    }
    

    Parameters

    • params: { acl?: "open" | "custom" | "private"; begin: string; code: string; days?: number; desc?: string; end: string; name: string; plans?: number[]; products?: number[]; team?: string; type?: "sprint" | "waterfall" | "ops"; whitelist?: number[] }

      项目信息参数

      • Optional acl?: "open" | "custom" | "private"
      • begin: string
      • code: string
      • Optional days?: number
      • Optional desc?: string
      • end: string
      • name: string
      • Optional plans?: number[]
      • Optional products?: number[]
      • Optional team?: string
      • Optional type?: "sprint" | "waterfall" | "ops"
      • Optional whitelist?: number[]

    Returns Promise<ZentaoApiResult>

addTask

  • addTask(params: { assignedTo?: string[]; color?: string; deadline?: string; desc?: string; estStarted?: string; estimate?: number; mailto?: string[]; module?: number; name: string; pri?: number; project: number; type?: "design" | "devel" | "test" | "study" | "discuss" | "ui" | "affair" | "misc" }): Promise<ZentaoApiResult>
  • 向系统添加一个任务

    example
    import { ZentaoApi } from 'zentao-api';
    const zentao = new ZentaoApi({
        url: 'https://pro.demo.zentao.net/', account: 'demo', password: '123456'
    });
    const result = await zentao.addTask({
        project:        1,           // 必填参数 所属项目ID
        type:           'ui',        // 必填参数 任务类型【design设计|devel开发|test测试|study研究|discuss讨论|ui界面|affair事务|misc其他】
        module:         0,           // 选填参数 所属模块ID
        assignedTo:     'lisa',      // 选填参数 指派用户,示例:'assignedTo' => array('zhangsan')
        color:          '',          // 选填参数 任务颜色【示例:#ff4e3e】
        name:           '设计界面',    // 必填参数 任务名称
        pri:            2,           // 选填参数 优先级【分为 1、2、3、4级】
        estimate:       1,           // 选填参数 预计时间【小时】
        desc:           '设计界面描述', // 选填参数 任务描述
        estStarted:     '2021-01-11', // 选填参数 日程规划开始【格式:2019-11-20】
        deadline:       '2021-11-12', // 选填参数 日程规划结束【格式:2019-11-28】
        mailto:         'lisa'        // 选填参数 抄送用户,示例:'mailto' => array('lisi', 'niuqi', 'zhangsan'), 代表同时抄送给 3 个用户。
    });
    if (result.status) {
        console.log('任务创建成功');
    }
    

    Parameters

    • params: { assignedTo?: string[]; color?: string; deadline?: string; desc?: string; estStarted?: string; estimate?: number; mailto?: string[]; module?: number; name: string; pri?: number; project: number; type?: "design" | "devel" | "test" | "study" | "discuss" | "ui" | "affair" | "misc" }

      任务信息参数

      • Optional assignedTo?: string[]
      • Optional color?: string
      • Optional deadline?: string
      • Optional desc?: string
      • Optional estStarted?: string
      • Optional estimate?: number
      • Optional mailto?: string[]
      • Optional module?: number
      • name: string
      • Optional pri?: number
      • project: number
      • Optional type?: "design" | "devel" | "test" | "study" | "discuss" | "ui" | "affair" | "misc"

    Returns Promise<ZentaoApiResult>

addUser

  • addUser(params: { account: string; commiter?: string; dept?: number; email?: string; gender?: "m" | "f"; group?: number; join?: string; password: string; realname: string; role?: string }): Promise<ZentaoApiResult>
  • 向系统添加一个用户

    example
    import { ZentaoApi } from 'zentao-api';
    const zentao = new ZentaoApi({
        url: 'https://pro.demo.zentao.net/', account: 'demo', password: '123456'
    });
    const result = await zentao.addUser({
        account:  'Jack10',         // 必填参数 用户名
        password: '123456',         // 必填参数 密码
        realname: 'Jack10',         // 必填参数 真实姓名
        dept:     1,                // 选填参数 所属部门【部门ID】
        join:     '2019-11-11',     // 选填参数 入职日期【格式:2019-11-19】
        role:     'dev',            // 选填参数 职位【权限标识,例如:'dev','qd'】
        group:    2,                // 选填参数 权限分组【分组ID】
        email:    'jack@gmail.com', // 选填参数 邮箱
        commiter: 'Jack10',         // 选填参数 源代码账号
        gender:   'm',              // 选填参数 性别【m:男|f:女】
    });
    if (result.status) {
        console.log('用户创建成功');
    }
    

    Parameters

    • params: { account: string; commiter?: string; dept?: number; email?: string; gender?: "m" | "f"; group?: number; join?: string; password: string; realname: string; role?: string }

      用户信息参数

      • account: string
      • Optional commiter?: string
      • Optional dept?: number
      • Optional email?: string
      • Optional gender?: "m" | "f"
      • Optional group?: number
      • Optional join?: string
      • password: string
      • realname: string
      • Optional role?: string

    Returns Promise<ZentaoApiResult>

call

  • call(apiName: "getDeptList" | "addDept" | "getUserList" | "getUserCreateParams" | "addUser" | "getProductList" | "getProduct" | "getProductCreateParams" | "addProduct" | "getProjectList" | "getProject" | "getProjectCreateParams" | "addProject" | "getTaskList" | "getTask" | "getTaskCreateParams" | "addTask" | "getTaskFinishParams" | "finishTask" | "getBugList" | "getBug" | "getBugCreateParams" | "addBug" | "getBugResolveParams" | "resolveBug", params?: Record<string, any>): Promise<ZentaoApiResult>
  • 调用指定名称的 API

    example
    import {ZentaoApi} from 'zentao-api';
    const zentao = new ZentaoApi({
        url: 'https://pro.demo.zentao.net/', account: 'demo', password: '123456'
    });
    
    const res = await zentao.call('getProductList', {status: 'noclosed'});
    

    Parameters

    • apiName: "getDeptList" | "addDept" | "getUserList" | "getUserCreateParams" | "addUser" | "getProductList" | "getProduct" | "getProductCreateParams" | "addProduct" | "getProjectList" | "getProject" | "getProjectCreateParams" | "addProject" | "getTaskList" | "getTask" | "getTaskCreateParams" | "addTask" | "getTaskFinishParams" | "finishTask" | "getBugList" | "getBug" | "getBugCreateParams" | "addBug" | "getBugResolveParams" | "resolveBug"

      API 名称

    • Optional params: Record<string, any>

      请求参数

    Returns Promise<ZentaoApiResult>

    调用结果

createUrl

  • createUrl(moduleName: string, methodName?: string, params?: [string, any][]): string
  • 生成请求地址

    Parameters

    • moduleName: string

      模块名

    • methodName: string = 'index'

      方法名

    • Optional params: [string, any][]

      其他参数

    Returns string

    请求地址

fetchConfig

finishTask

  • finishTask(params: { assignedTo?: string; comment?: string; consumed?: number; currentConsumed: number; finishedDate?: string; taskID: number }): Promise<ZentaoApiResult>
  • 完成一个任务

    example
    import { ZentaoApi } from 'zentao-api';
    const zentao = new ZentaoApi({
        url: 'https://pro.demo.zentao.net/', account: 'demo', password: '123456'
    });
    const result = await zentao.finishTask({taskID: 1, currentConsumed: 1});
    if (result.status) {
        console.log('任务完成');
    }
    

    Parameters

    • params: { assignedTo?: string; comment?: string; consumed?: number; currentConsumed: number; finishedDate?: string; taskID: number }

      任务信息参数

      • Optional assignedTo?: string
      • Optional comment?: string
      • Optional consumed?: number
      • currentConsumed: number
      • Optional finishedDate?: string
      • taskID: number

    Returns Promise<ZentaoApiResult>

getBug

  • getBug(params: { bugID: number; extraFields?: string[] }): Promise<ZentaoApiResult>
  • 获取指定的 Bug 信息

    Parameters

    • params: { bugID: number; extraFields?: string[] }
      • bugID: number
      • Optional extraFields?: string[]

    Returns Promise<ZentaoApiResult>

    请求结果

    import { ZentaoApi } from 'zentao-api';
    const zentao = new ZentaoApi({
        url: 'https://pro.demo.zentao.net/', account: 'demo', password: '123456'
    });
    const result = await zentao.getBug({bugID: 1});
    if (result.status) {
        console.log('Bug 信息为', result.result.bug);
    }
    

getBugCreateParams

  • getBugCreateParams(params: { extraFields?: string[]; productID: number }): Promise<ZentaoApiResult>
  • 用 于为指定的产品添加 Bug 之前,获取添加 Bug 时可能需要用到的一些相关信息。

    example
    import { ZentaoApi } from 'zentao-api';
    const zentao = new ZentaoApi({
        url: 'https://pro.demo.zentao.net/', account: 'demo', password: '123456'
    });
    const result = await zentao.getBugCreateParams();
    

    Parameters

    • params: { extraFields?: string[]; productID: number }
      • Optional extraFields?: string[]
      • productID: number

    Returns Promise<ZentaoApiResult>

    请求结果

getBugList

  • getBugList(params: { branch?: number; browseType?: "all" | "unclosed" | "needconfirm" | "openedbyme" | "assigntome" | "resolvedbyme" | "toclosed" | "unresolved" | "unconfirmed" | "longlifebugs" | "postponedbugs" | "overduebugs"; extraFields?: string[]; orderBy?: string; pageID?: number; param?: number; productID: number; recPerPage?: number; recTotal?: number }): Promise<ZentaoApiResult>
  • 获取产品 Bug 列表

    example
    import { ZentaoApi } from 'zentao-api';
    const zentao = new ZentaoApi({
        url: 'https://pro.demo.zentao.net/', account: 'demo', password: '123456'
    });
    const result = await zentao.getProjectList({projectID: 1, status: 'undone'});
    if (result.status) {
        console.log('Bug列表', result.result.bugs);
    }
    

    Parameters

    • params: { branch?: number; browseType?: "all" | "unclosed" | "needconfirm" | "openedbyme" | "assigntome" | "resolvedbyme" | "toclosed" | "unresolved" | "unconfirmed" | "longlifebugs" | "postponedbugs" | "overduebugs"; extraFields?: string[]; orderBy?: string; pageID?: number; param?: number; productID: number; recPerPage?: number; recTotal?: number }
      • Optional branch?: number
      • Optional browseType?: "all" | "unclosed" | "needconfirm" | "openedbyme" | "assigntome" | "resolvedbyme" | "toclosed" | "unresolved" | "unconfirmed" | "longlifebugs" | "postponedbugs" | "overduebugs"
      • Optional extraFields?: string[]
      • Optional orderBy?: string
      • Optional pageID?: number
      • Optional param?: number
      • productID: number
      • Optional recPerPage?: number
      • Optional recTotal?: number

    Returns Promise<ZentaoApiResult>

    请求结果

getBugResolveParams

  • getBugResolveParams(params: { bugID: number; extraFields?: string[] }): Promise<ZentaoApiResult>
  • 获取当前 Bug 详细信息以及确认 Bug 解决时可能用到的信息。

    example
    import { ZentaoApi } from 'zentao-api';
    const zentao = new ZentaoApi({
        url: 'https://pro.demo.zentao.net/', account: 'demo', password: '123456'
    });
    const result = await zentao.getBugResolveParams({bugID: 1});
    

    Parameters

    • params: { bugID: number; extraFields?: string[] }

      请求参数,params.extraFields 指定额外要返回的字段

      • bugID: number
      • Optional extraFields?: string[]

    Returns Promise<ZentaoApiResult>

    请求结果

getDeptList

  • getDeptList(params?: { deptID?: number; extraFields?: string[] }): Promise<ZentaoApiResult>
  • 获取当前已添加部门列表数据

    example
    import { ZentaoApi } from 'zentao-api';
    const zentao = new ZentaoApi({
        url: 'https://pro.demo.zentao.net/', account: 'demo', password: '123456'
    });
    const result = await zentao.getDeptList({deptID: 1, extraFields: 'sons'});
    if (result.status) {
        console.log('当前部门的直属下级部门列表', result.result.sons);
    }
    

    Parameters

    • Optional params: { deptID?: number; extraFields?: string[] }
      • Optional deptID?: number
      • Optional extraFields?: string[]

    Returns Promise<ZentaoApiResult>

    请求结果

getProduct

  • getProduct(params: { extraFields?: string[]; productID: number }): Promise<ZentaoApiResult>
  • 获取指定的产品信息

    example
    import { ZentaoApi } from 'zentao-api';
    const zentao = new ZentaoApi({
        url: 'https://pro.demo.zentao.net/', account: 'demo', password: '123456'
    });
    const result = await zentao.getProduct({productID: 1});
    if (result.status) {
        console.log('产品信息为', result.result.product);
    }
    

    Parameters

    • params: { extraFields?: string[]; productID: number }
      • Optional extraFields?: string[]
      • productID: number

    Returns Promise<ZentaoApiResult>

    请求结果

getProductCreateParams

  • getProductCreateParams(params?: { extraFields?: string[] }): Promise<ZentaoApiResult>
  • 获取添加产品时所需要一些数据,例如产品线数据列表、产品负责人数据列表等数据,添加产品时,可以为其绑定这些信息

    example
    import { ZentaoApi } from 'zentao-api';
    const zentao = new ZentaoApi({
        url: 'https://pro.demo.zentao.net/', account: 'demo', password: '123456'
    });
    const result = await zentao.getProductCreateParams();
    

    Parameters

    • Optional params: { extraFields?: string[] }
      • Optional extraFields?: string[]

    Returns Promise<ZentaoApiResult>

    请求结果

getProductList

  • getProductList(params?: { extraFields?: string[]; line?: number; orderBy?: string; pageID?: number; productID?: number; recPerPage?: number; recTotal?: number; status?: "noclosed" | "closed" | "involved" | "all" }): Promise<ZentaoApiResult>
  • 获取产品列表

    example
    import { ZentaoApi } from 'zentao-api';
    const zentao = new ZentaoApi({
        url: 'https://pro.demo.zentao.net/', account: 'demo', password: '123456'
    });
    const result = await zentao.getProductList({status: 'noclosed'});
    if (result.status) {
        console.log('产品列表', result.result.products);
    }
    

    Parameters

    • Optional params: { extraFields?: string[]; line?: number; orderBy?: string; pageID?: number; productID?: number; recPerPage?: number; recTotal?: number; status?: "noclosed" | "closed" | "involved" | "all" }
      • Optional extraFields?: string[]
      • Optional line?: number
      • Optional orderBy?: string
      • Optional pageID?: number
      • Optional productID?: number
      • Optional recPerPage?: number
      • Optional recTotal?: number
      • Optional status?: "noclosed" | "closed" | "involved" | "all"

    Returns Promise<ZentaoApiResult>

    请求结果

getProject

  • getProject(params: { extraFields?: string[]; projectID: number }): Promise<ZentaoApiResult>
  • 获取指定的项目信息

    example
    import { ZentaoApi } from 'zentao-api';
    const zentao = new ZentaoApi({
        url: 'https://pro.demo.zentao.net/', account: 'demo', password: '123456'
    });
    const result = await zentao.getProject({projectID: 1});
    if (result.status) {
        console.log('项目信息为', result.result.project);
    }
    

    Parameters

    • params: { extraFields?: string[]; projectID: number }
      • Optional extraFields?: string[]
      • projectID: number

    Returns Promise<ZentaoApiResult>

    请求结果

getProjectCreateParams

  • getProjectCreateParams(params?: { extraFields?: string[] }): Promise<ZentaoApiResult>
  • 获取添加项目时所需要一些数据,例如获取正常状态产品列表信息,用于添加项目时为其绑定产品,从而用于项目与产品需求关联。还可获取权限分组列表,用于项目绑定访问控制权限

    example
    import { ZentaoApi } from 'zentao-api';
    const zentao = new ZentaoApi({
        url: 'https://pro.demo.zentao.net/', account: 'demo', password: '123456'
    });
    const result = await zentao.getProjectCreateParams();
    

    Parameters

    • Optional params: { extraFields?: string[] }
      • Optional extraFields?: string[]

    Returns Promise<ZentaoApiResult>

    请求结果

getProjectList

  • getProjectList(params?: { extraFields?: string[]; orderBy?: string; pageID?: number; productID?: number; projectID?: number; recPerPage?: number; recTotal?: number; status?: "closed" | "all" | "undone" | "wait" | "doing" | "suspended" }): Promise<ZentaoApiResult>
  • 获取项目列表

    example
    import { ZentaoApi } from 'zentao-api';
    const zentao = new ZentaoApi({
        url: 'https://pro.demo.zentao.net/', account: 'demo', password: '123456'
    });
    const result = await zentao.getProjectList({status: 'undone'});
    if (result.status) {
        console.log('项目列表', result.result.products);
    }
    

    Parameters

    • Optional params: { extraFields?: string[]; orderBy?: string; pageID?: number; productID?: number; projectID?: number; recPerPage?: number; recTotal?: number; status?: "closed" | "all" | "undone" | "wait" | "doing" | "suspended" }
      • Optional extraFields?: string[]
      • Optional orderBy?: string
      • Optional pageID?: number
      • Optional productID?: number
      • Optional projectID?: number
      • Optional recPerPage?: number
      • Optional recTotal?: number
      • Optional status?: "closed" | "all" | "undone" | "wait" | "doing" | "suspended"

    Returns Promise<ZentaoApiResult>

    请求结果

getTask

  • getTask(params: { extraFields?: string[]; taskID: number }): Promise<ZentaoApiResult>
  • 获取指定的任务信息

    example
    import { ZentaoApi } from 'zentao-api';
    const zentao = new ZentaoApi({
        url: 'https://pro.demo.zentao.net/', account: 'demo', password: '123456'
    });
    const result = await zentao.getTask({taskID: 1});
    if (result.status) {
        console.log('任务信息为', result.result.products);
    }
    

    Parameters

    • params: { extraFields?: string[]; taskID: number }
      • Optional extraFields?: string[]
      • taskID: number

    Returns Promise<ZentaoApiResult>

    请求结果

getTaskCreateParams

  • getTaskCreateParams(params?: { extraFields?: string[] }): Promise<ZentaoApiResult>
  • 添加单个任务时,可以先通 过此方法,获取添加任务中所需要的相关信息

    example
    import { ZentaoApi } from 'zentao-api';
    const zentao = new ZentaoApi({
        url: 'https://pro.demo.zentao.net/', account: 'demo', password: '123456'
    });
    const result = await zentao.getTaskCreateParams();
    

    Parameters

    • Optional params: { extraFields?: string[] }
      • Optional extraFields?: string[]

    Returns Promise<ZentaoApiResult>

    请求结果

getTaskFinishParams

  • getTaskFinishParams(params: { extraFields?: string[]; taskID: number }): Promise<ZentaoApiResult>
  • 获取该任务的所属项目详情、任务详情、任务操作记录,同时获取用于指派完成的用户列表

    example
    import { ZentaoApi } from 'zentao-api';
    const zentao = new ZentaoApi({
        url: 'https://pro.demo.zentao.net/', account: 'demo', password: '123456'
    });
    const result = await zentao.getTaskFinishParams({taskID: 1});
    

    Parameters

    • params: { extraFields?: string[]; taskID: number }
      • Optional extraFields?: string[]
      • taskID: number

    Returns Promise<ZentaoApiResult>

    请求结果

getTaskList

  • getTaskList(params: { extraFields?: string[]; orderBy?: string; pageID?: number; param?: number; projectID: number; recPerPage?: number; recTotal?: number; status?: "closed" | "all" | "undone" | "wait" | "doing" | "unclosed" | "assignedtome" | "myinvolved" | "delayed" | "needconfirm" | "finishedbyme" | "done" | "cancel" }): Promise<ZentaoApiResult>
  • 获取项目任务列表

    example
    import { ZentaoApi } from 'zentao-api';
    const zentao = new ZentaoApi({
        url: 'https://pro.demo.zentao.net/', account: 'demo', password: '123456'
    });
    const result = await zentao.getProjectList({projectID: 1, status: 'undone'});
    if (result.status) {
        console.log('任务列表', result.result.tasks);
    }
    

    Parameters

    • params: { extraFields?: string[]; orderBy?: string; pageID?: number; param?: number; projectID: number; recPerPage?: number; recTotal?: number; status?: "closed" | "all" | "undone" | "wait" | "doing" | "unclosed" | "assignedtome" | "myinvolved" | "delayed" | "needconfirm" | "finishedbyme" | "done" | "cancel" }
      • Optional extraFields?: string[]
      • Optional orderBy?: string
      • Optional pageID?: number
      • Optional param?: number
      • projectID: number
      • Optional recPerPage?: number
      • Optional recTotal?: number
      • Optional status?: "closed" | "all" | "undone" | "wait" | "doing" | "unclosed" | "assignedtome" | "myinvolved" | "delayed" | "needconfirm" | "finishedbyme" | "done" | "cancel"

    Returns Promise<ZentaoApiResult>

    请求结果

getUserCreateParams

  • getUserCreateParams(params?: { extraFields?: string[] }): Promise<ZentaoApiResult>
  • 添加用户时如果需要为新用 户分配部门、职位、权限,请求该方法即可返回相关可用数据

    example
    import { ZentaoApi } from 'zentao-api';
    const zentao = new ZentaoApi({
        url: 'https://pro.demo.zentao.net/', account: 'demo', password: '123456'
    });
    const result = await zentao.getUserCreateParams();
    

    Parameters

    • Optional params: { extraFields?: string[] }
      • Optional extraFields?: string[]

    Returns Promise<ZentaoApiResult>

    请求结果

getUserList

  • getUserList(params?: { deptID?: number; extraFields?: string[]; orderBy?: string; pageID?: number; recPerPage?: number; recTotal?: number }): Promise<ZentaoApiResult>
  • 获取用户列表,可以指定用户所属部门

    example
    import { ZentaoApi } from 'zentao-api';
    const zentao = new ZentaoApi({
        url: 'https://pro.demo.zentao.net/', account: 'demo', password: '123456'
    });
    const result = await zentao.getUserList({deptID: 1});
    if (result.status) {
        console.log('当前部门的用户列表数据为', result.result.users);
    }
    

    Parameters

    • Optional params: { deptID?: number; extraFields?: string[]; orderBy?: string; pageID?: number; recPerPage?: number; recTotal?: number }
      • Optional deptID?: number
      • Optional extraFields?: string[]
      • Optional orderBy?: string
      • Optional pageID?: number
      • Optional recPerPage?: number
      • Optional recTotal?: number

    Returns Promise<ZentaoApiResult>

    请求结果

login

  • 登录到禅道并更新用于请求 API 的 token,通常不需要手动调用此方法,在调用 API 时会自动判断 token 是否可用,如果不可用会自动调用此方法

    example

    import { Zentao } from 'zentao-api'; const zentao = new Zentao({ url: 'https://pro.demo.zentao.net/', account: 'demo', password: '123456' }); const result = await zentao.login(); const user = result.result; // 获取当前登录的用户对象 console.log('当前登录的用户名称为:', user.realname);

    Returns Promise<ZentaoApiResult>

    返回请求结果,当登录成功时,其中 result 字段为所登录的用户信息对象

m

  • m(moduleName: string, methodName?: string, params?: string | [string, any][] | string[] | Record<string, any>): default
  • 根据模块名创建一个禅道请求构建实例

    alias

    module

    Parameters

    • moduleName: string

      模块名

    • Optional methodName: string

      方法名

    • Optional params: string | [string, any][] | string[] | Record<string, any>

      请求参数

    Returns default

    禅道请求构建实例

module

  • module(moduleName: string, methodName?: string, params?: string | [string, any][] | string[] | Record<string, any>): default
  • 根据模块名创建一个禅道请求构建实例

    Parameters

    • moduleName: string

      模块名

    • Optional methodName: string

      方法名

    • Optional params: string | [string, any][] | string[] | Record<string, any>

      请求参数

    Returns default

    禅道请求构建实例

request

  • request(moduleName: string, methodName?: string, options?: { data?: string | Record<string, any>; fields?: string[]; method?: "get" | "GET" | "delete" | "DELETE" | "head" | "HEAD" | "options" | "OPTIONS" | "post" | "POST" | "put" | "PUT" | "patch" | "PATCH" | "purge" | "PURGE" | "link" | "LINK" | "unlink" | "UNLINK"; name?: string; params?: string | [string, any][] | string[] | Record<string, any>; resultConvertor?: (remoteData: any, result: ZentaoApiResult) => ZentaoApiResult; url?: string }): Promise<ZentaoApiResult>
  • 向禅道服务器发起请求

    Parameters

    • moduleName: string

      模块名

    • methodName: string = 'index'

      方法名

    • options: { data?: string | Record<string, any>; fields?: string[]; method?: "get" | "GET" | "delete" | "DELETE" | "head" | "HEAD" | "options" | "OPTIONS" | "post" | "POST" | "put" | "PUT" | "patch" | "PATCH" | "purge" | "PURGE" | "link" | "LINK" | "unlink" | "UNLINK"; name?: string; params?: string | [string, any][] | string[] | Record<string, any>; resultConvertor?: (remoteData: any, result: ZentaoApiResult) => ZentaoApiResult; url?: string } = ...

      其他请求选项

      • Optional data?: string | Record<string, any>
      • Optional fields?: string[]
      • Optional method?: "get" | "GET" | "delete" | "DELETE" | "head" | "HEAD" | "options" | "OPTIONS" | "post" | "POST" | "put" | "PUT" | "patch" | "PATCH" | "purge" | "PURGE" | "link" | "LINK" | "unlink" | "UNLINK"
      • Optional name?: string
      • Optional params?: string | [string, any][] | string[] | Record<string, any>
      • Optional resultConvertor?: (remoteData: any, result: ZentaoApiResult) => ZentaoApiResult
      • Optional url?: string

    Returns Promise<ZentaoApiResult>

    请求结果

resolveBug

  • resolveBug(params: { assignedTo?: string; bugID: number; buildName?: string; buildProject?: number; comment?: string; createBuild?: 0 | 1; duplicateBug?: number; resolution?: "bydesign" | "duplicate" | "external" | "fixed" | "notrepro" | "postponed" | "willnotfix"; resolvedBuild?: string; resolvedDate?: string }): Promise<ZentaoApiResult>
  • 解决一个 Bug

    example
    import { ZentaoApi } from 'zentao-api';
    const zentao = new ZentaoApi({
        url: 'https://pro.demo.zentao.net/', account: 'demo', password: '123456'
    });
    const result = await zentao.resolveBug({bugID: 1, resolution: 'fixed'});
    if (result.status) {
        console.log('bug 已解决');
    }
    

    Parameters

    • params: { assignedTo?: string; bugID: number; buildName?: string; buildProject?: number; comment?: string; createBuild?: 0 | 1; duplicateBug?: number; resolution?: "bydesign" | "duplicate" | "external" | "fixed" | "notrepro" | "postponed" | "willnotfix"; resolvedBuild?: string; resolvedDate?: string }

      任务信息参数

      • Optional assignedTo?: string
      • bugID: number
      • Optional buildName?: string
      • Optional buildProject?: number
      • Optional comment?: string
      • Optional createBuild?: 0 | 1
      • Optional duplicateBug?: number
      • Optional resolution?: "bydesign" | "duplicate" | "external" | "fixed" | "notrepro" | "postponed" | "willnotfix"
      • Optional resolvedBuild?: string
      • Optional resolvedDate?: string

    Returns Promise<ZentaoApiResult>

Generated using TypeDoc