使用项目脚本

此部分介绍如何使用项目脚本自定义 Web 客户端 用户界面,以便最终用户可以按照您想要的方式与 Web 客户端 进行交互。

在本主题中︰

项目脚本概述

编写项目脚本来自动执行日常任务并自定义最终用户与 Web 客户端 交互的方式。

项目脚本由事件触发,而事件则与用户操作相关联。在 ALM Web 客户端 会话期间,当用户启动操作 (例如单击按钮或编辑字段) 时,会触发相应的事件,且 ALM 会根据事件中定义的 JavaScript 代码进行操作。

Example: 当用户在 Web 客户端缺陷模块中创建缺陷时,将会触发 Bug_New 事件。“新建缺陷”对话框根据 Bug_New 事件中编写的脚本执行操作。

要自定义用户与“新建缺陷”对话框交互的方式,您可以在 Bug_New 事件中定义以下内容:

  • 指定显示的缺陷字段。

  • 指定必填的缺陷字段。

  • 自动为不同的用户组使用不同的默认值填充特定字段。

  • 将模板备注字段添加到对话框中。

支持的实体

您可以在 Web 客户端 中为以下实体自定义工作流:

实体 描述
需求 需求数据
测试 测试数据
TestFolder 测试文件夹数据
设计步骤 测试设计步骤数据
测试集 测试集数据
TestSetFolder 测试集文件夹数据
测试集测试 测试实例数据
运行 测试运行数据
缺陷 缺陷数据
步骤 手动测试运行步骤数据
发布 发布数据
周期 发布周期数据
ReleaseFolder 发布文件夹数据

返回页首

编写项目脚本之前

在编写项目脚本之前,您应该熟悉事件、对象和属性。

项目脚本的事件

在相应的事件中放置代码,使得相关用户操作启动时触发该代码。

有关事件的详细信息,请参阅事件

项目脚本的对象

您的脚本根据从相关对象获取的信息 (例如字段信息和用户信息) 执行自定义。

有关详细信息,请参阅对象

项目脚本的属性

可以用 ActiveModuleActiveDialogName 属性获取活动模块和对话框的信息。

有关详细信息,请参阅ActiveModule 和 ActiveDialogName 属性

返回页首

编写项目脚本

要编写项目脚本,将 JavaScript 代码添加到由用户操作触发的事件。例如,当实体添加到 Web 客户端 时,将会触发 New 事件。

要为事件编写脚本,请执行以下操作:

  1. Web 客户端 横幅中,单击“设置” >“工作流”

  2. 在“脚本编辑器”选项卡中,在项目脚本树中的“工作流脚本”>“项目脚本”节点下,根据您希望何时触发代码,展开目标模块并选择要添加代码的事件。

    • 要编写可由同一模块中的其他事件使用的代码,请查找 <模块>_SharedFunction 事件。

    • 要编写可由多个模块中的事件使用的代码,请查找 Common script > SharedFunction 事件。

    有关事件的详细描述,请参阅事件

  3. 将 JavaScript 代码添加到事件。

    请参阅示例以供参考。

    Note: 如果您在脚本中写入日期字符串,请确保日期字符串格式与浏览器的日期格式设置一致。

    例如,如果您的浏览器将日期字符串格式设置为 YYYY/MM/DD,请在脚本中对日期字符串使用相同的格式。

  4. 单击保存

返回页首

示例

下表提供了一些示例来帮助您编写自己的项目脚本。

工作流任务 示例
自定义对话框

示例:更改实体详细信息对话框的选项卡名称

示例:自定义新建缺陷对话框中的字段

自动修改字段值

示例:将模板添加到备注字段

示例:更改基于用户组的字段

示例:根据另一个字段来更改一个字段

验证数据

示例:验证在特定情况下实体是否可以更新

示例:验证字段

自定义动态字段

示例:呈现动态字段列表

示例:字段更改时更改字段属性

控制用户权限

示例:阻止用户执行操作

返回页首

调试项目脚本

您可以调试工作流脚本以解决其错误。

要调试工作流脚本,请执行以下操作:

  1. 从项目脚本树中,选择工作流脚本。

  2. 在编辑器区域中,添加以下语句:

    Copy code
    debugger;
    console.log("<脚本名称> triggered");

    例如:

    Copy code
    function Bug_New() {
      debugger;
      console.log("Bug_New triggered");
    }
  3. 按 F12 键打开浏览器控制台。

  4. Web 客户端 中触发脚本。

    例如,单击“新建缺陷”窗口中的“创建”按钮。

  5. 在浏览器控制台中调试脚本。

返回页首

限制

项目脚本包括以下限制:

  • 并非所有在编辑脚本时自动建议的对象或方法都可以被调用。如果调用不受支持的对象或方法,则会发生错误。

  • 项目脚本树中列出的某些脚本不可使用。它们以灰色显示。

另请参阅: