ChangeSynergy::csapi
ChangeSynergy::csapi 类是用于从 IBM Rational Change 服务器发送和检索信息的类。
以下方法可用:
sub new()
初始化最新创建的 ChangeSynergy::csapi 类。
my $csapi = new ChangeSynergy::csapi();
为用户添加/更改用户首选项和值。要添加或更改的值必须已通过某个配置文件定义为用户首选项。要编辑或添加用户配置设置,keyName 应该为“_USER_CFG_”,系统将附加用户名。 返回结果是 apiData 类的实例。
注:无法更改或添加用户概要文件值。这些值包括用户的名字、姓氏、电子邮件地址、传真号、电话号码和地址。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar username:要编辑的用户首选项的名称。 scalar keyName :要添加的首选项的名称。 scalar keyValue:要添加的首选项的值。 scalar allDBs :true 或 false,指示是否对所有数据库执行添加, 还是仅对当前 api 用户登录到的数据库执行添加。
返回:apiData 来自服务器的返回消息。 示例: my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "Admin", "\\\\your_hostname\\ccmdb\\cm_database"); $tmpData = $csapi->AddAPreferenceForAUser($aUser, "u00001", "user_fontsize", "9", "true"); print $tmpData->getResponseData();
};
if ($@) { print $@; }
为所有用户添加/更改用户首选项和值。要添加或更改的值必须已通过某个配置文件定义为用户首选项。要编辑或添加用户配置设置,keyName 应该为“_USER_CFG_”,系统将附加用户名。 返回结果是 apiData 类的实例。
注:无法更改或添加用户概要文件值。这些值包括用户的名字、姓氏、电子邮件地址、传真号、电话号码和地址。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar keyName :要添加的首选项的名称。 scalar keyValue:要添加的首选项的值。 scalar allDBs :true 或 false,指示是否对所有数据库执行添加, 还是仅对当前 api 用户登录到的数据库执行添加。
返回:apiData 来自服务器的返回消息。 示例: my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "Admin", "\\\\your_hostname\\ccmdb\\cm_database"); $tmpData = $csapi->AddAPreferenceForAllUsers($aUser, "user_fontsize", "9", "true"); print $tmpData->getResponseData();
};
if ($@) { print $@; }
向服务器添加新的空查询、报告格式或报告文件夹。 返回结果是 apiData 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar folderName:要添加的文件夹的名称。 scalar objectType:文件夹的对象类型。 scalar formatType:文件夹的格式类型:报告、查询或报告格式。 scalar configType:报告的配置位置。
有效的对象类型(Globals.pm 中定义的常量): PROBLEM_TYPE TASK_TYPE OBJECT_TYPE
有效的格式类型(Globals.pm 中定义的常量): QUERY REPORT REPORT_FORMAT 有效配置类型(常量定义在 Globals.pm 中): SHARED_PROFILE SYSTEM_CONFIG USER_PROFILE 返回:apiData 来自服务器的返回消息。 示例: my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "Admin", "\\\\machine\\ccmdb\\cm_database"); my $globals = new ChangeSynergy::Globals(); #Create a new shared CR Report folder called 'API Folder'. my $addResults = $csapi->addFolder($aUser, "API Folder", $globals->{PROBLEM_TYPE}, $globals->{REPORT}, $globals->{SHARED_PROFILE}); print $addResults->getResponseData(); };
if ($@) { print $@; }
将变更请求的详细信息装入数据类中,可以在其中修改变更请求的详细信息。然后,可以使用某个修改 api 函数提交已修改的数据类以更改变更请求。 返回结果是 apiObjectVector 类的实例。
注:当前转换选项随该 api 函数调用提供。 请参阅 apiTransitions 类描述。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar problemNumber:要引用的变更请求标识/问题号标识。
返回:apiObjectVector 数据格式的变更请求详细信息。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmp = $csapi->AttributeModifyCRData($aUser, "100");
my $tmpstr = $tmp->getXmlData(); };
if ($@) { print $@; }
将变更请求的详细信息装入数据类中,可以在其中修改变更请求的详细信息。然后,可以使用某个修改 api 函数提交已修改的数据类以更改变更请求。 返回结果是 apiObjectVector 类的实例。
注:当前转换选项随该 api 函数调用提供。 请参阅 apiTransitions 类描述。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar problemNumber:要引用的变更请求标识/问题号标识。 scalar attributeName:可在其中查找所引用对象当前值 的属性的名称。该值必须 是 IBM Rational Change 模板的名称。
返回:apiObjectVector 数据格式的变更请求详细信息。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmp = $csapi->AttributeModifyCRData($aUser, "100", "crstatus");
my $tmpstr = $tmp->getXmlData(); };
if ($@) { print $@; }
将变更请求的详细信息装入数据类中,可以在其中修改变更请求的详细信息。然后,可以使用某个修改 api 函数提交已修改的数据类以更改变更请求。 返回结果是 apiObjectVector 类的实例。 AllTransitions 函数包含 HIDDEN 转换。
注:当前转换选项随该 api 函数调用提供。 请参阅 apiTransitions 类描述。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar problemNumber:要引用的变更请求标识/问题号标识。 scalar attributeName:可在其中查找所引用对象当前值 的属性的名称。该值必须 是 IBM Rational Change 模板的名称。
返回:apiObjectVector 数据格式的变更请求详细信息。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmp = $csapi->AttributeModifyCRDataAllTransitions($aUser, "100", "crstatus");
my $tmpstr = $tmp->getXmlData(); };
if ($@) { print $@; }
将变更请求的详细信息装入数据类中,可以在其中修改变更请求的详细信息。然后,可以使用某个修改 api 函数提交已修改的数据类以更改变更请求。 返回结果是 apiObjectVector 类的实例。 AllTransitions 函数包含 HIDDEN 转换。
注:当前转换选项随该 api 函数调用提供。 请参阅 apiTransitions 类描述。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar problemNumber:要引用的变更请求标识/问题号标识。
返回:apiObjectVector 数据格式的变更请求详细信息。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmp = $csapi->AttributeModifyCRDataAllTransitions($aUser, "100");
my $tmpstr = $tmp->getXmlData(); };
if ($@) { print $@; }
触发会话平衡例程。 返回结果是 apiData 类的实例。
参数: apiUser aUser:当前 api 用户的登录数据。
返回:apiData 来自服务器的返回消息。 示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "Admin", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmpstr = $csapi->BalanceTransactionServer($aUser); };
if ($@) { print $@; }
调用服务器上的 Bean 脚本框架 (BSF) 脚本并获取其返回值。BSF 脚本必须位于服务器的 wsconfig/scripts 目录中。 返回结果是 apiData 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar scriptName:要在服务器上执行的脚本的名称。必须位于 wsconfig/script 目录中。 值将是使用此方法编码的 XML。 scalar scriptData:应以字符串形式发送至脚本的数据。可以是 XML,但必须是编码的 XML。 值将是使用此方法编码的 XML。
返回:apiData 来自脚本的返回消息。 示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "Admin", "\\\\your_hostname\\ccmdb\\cm_database");
my $scriptResults = $csapi->CallBsfScript($aUser, "testscript.js", "Data to the script");
print $scriptResults->getResponseData() . "\n"; };
if ($@) { print $@; }
为单个用户更改用户首选项的名称。不能将首选项名称重命名为该用户已存在的首选项名称。返回结果是 apiData 类的实例。
注:无法更改或添加用户概要文件值。这些值包括用户的名字、姓氏、电子邮件地址、传真号、电话号码和地址。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar username:要编辑的用户首选项的名称。 scalar keyName :要更改的首选项的名称。 scalar keyValue:首选项的新名称。 scalar allDBs :true 或 false,指示是否对所有数据库执行添加, 还是仅对当前 api 用户登录到的数据库执行添加。
返回:apiData 来自服务器的返回消息。 示例: my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "Admin", "\\\\your_hostname\\ccmdb\\cm_database"); $tmpData = $csapi->ChangePreferenceNameForAUser($aUser, "u00001", "user_cr_notes", "user_crnotes", "true"); print $tmpData->getResponseData();
};
if ($@) { print $@; }
为系统中的所有用户更改用户首选项的名称。 不能将首选项名称重命名为用户已存在的首选项名称。如果某个用户不存在该首选项名称,那么不会对该用户进行任何更改。如果存在,那么将相应地更改该首选项名称。返回结果是 apiData 类的实例。
注:无法更改或添加用户概要文件值。这些值包括用户的名字、姓氏、电子邮件地址、传真号、电话号码和地址。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar keyName :要更改的首选项的名称。 scalar keyValue:首选项的新名称。 scalar allDBs :true 或 false,指示是否对所有数据库执行添加, 还是仅对当前 api 用户登录到的数据库执行添加。
返回:apiData 来自服务器的返回消息。 示例: my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "Admin", "\\\\your_hostname\\ccmdb\\cm_database"); $tmpData = $csapi->ChangePreferenceNameForAllUsers($aUser, "user_cr_notes", "user_crnotes", "true"); print $tmpData->getResponseData();
};
if ($@) { print $@; }
获取变更请求的由四个部分组成的名称。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar ProblemNumber:问题号。 返回:标量 由四个部分组成的名称。
卸载 IBM Rational Change 服务器上的所有用户配置数据。 返回结果是 apiData 类的实例。
参数: apiUser aUser:当前 api 用户的登录数据。
返回:apiData 来自服务器的返回消息。 示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "Admin", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmpstr = $csapi->ClearAllUserConfigurationData($aUser); };
if ($@) { print $@; }
清除忙会话表。 返回结果是 apiData 类的实例。
参数: apiUser aUser:当前 api 用户的登录数据。
返回:apiData 来自服务器的返回消息。 示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "Admin", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmpstr = $csapi->ClearBusySessions($aUser); };
if ($@) { print $@; }
清除转变用户列表,将对下一个请求创建新的副本。 返回结果是 apiData 类的实例。
参数: apiUser aUser:当前 api 用户的登录数据。
返回:apiData 来自服务器的返回消息。 示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "Admin", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmpstr = $csapi->ClearTransitionUserList($aUser); };
if ($@) { print $@; }
获取客户机的 API 版本号。 返回结果是 apiData 类的实例。
参数: apiUser aUser:当前 api 用户的登录数据。
返回:apiData 版本号字符串。 示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmpstr1 = $csapi->ClientAPIVersion($aUser); };
if ($@) { print $@; }
将变更请求的详细信息装入数据类中,可以在其中提交/复制变更请求的详细信息。然后,可以使用某个修改 api 函数提交已修改的数据类以更改变更请求。 返回结果是 apiObjectVector 类的实例。
注:提交“结束状态”和“关系名称”随该 api 函数调用提供。 请参阅 apiTransitions 类描述。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar problemNumber:要引用的变更请求标识/问题号标识。 scalar templateName :要装入的 IBM Rational Change 模板的名称 ([CCM_TEMPLATE][NAME]template name[/NAME]...[/CCM_TEMPLATE])。
返回:apiObjectVector 数据格式的变更请求详细信息。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmp = $csapi->CopyCRData($aUser, "100", "COPY_child_cr2new_child");
my $tmpstr = $tmp->getXmlData(); };
if ($@) { print $@; }
将任务的详细信息装入数据类中,可以在其中提交/复制任务的详细信息。然后,可以使用某个修改 api 函数提交已修改的数据类以更改任务。 返回结果是 apiObjectVector 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar taskNumber :要引用的任务标识。 scalar templateName:要装入的 IBM Rational Change 模板的名称 ([CCM_TEMPLATE][NAME]template name[/NAME]...[/CCM_TEMPLATE])。
返回:apiObjectVector 数据格式的任务详细信息。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmp = $csapi->CopyTaskData($aUser, "12", "CreateTask");
my $tmpstr = $tmp->getXmlData(); };
if ($@) { print $@; }
在 IBM Rational Change 服务器上创建附件文件对象,并将其与 CR 相关联。 返回结果是 apiData 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar problemNumber :要与文件相关联的问题号/CR 标识。 scalar relation :将对象与 CR 相关联时要使用的关系名称。 scalar attachmentName:该对象的文件名。 scalar webType :客户机上的回车符序列。 CRLF:Windows 客户机文本文件。 LF:Unix 客户机文本文件。 BINARY:文件是二进制文件。 scalar comment :要更新的对象的注释。 scalar type :保留以供将来使用。 scalar isBinary :用于指定文件是二进制文件的标志。 scalar buffer :数据缓冲区。 scalar size :缓冲区的大小。
返回:apiData 来自服务器的返回消息。
示例:
my $csapi = new ChangeSynergy::csapi(); my $buf = ""; my $buffer = ""; my $size = "";
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
open(INPUTFILE, "output.doc") or die "Could not open up the file"; binmode(INPUTFILE);
while($buf = readline *INPUTFILE) { $buffer .= $buf; }
close(INPUTFILE); $size = -s "output.doc"; my $data = $csapi->CreateAttachmentObject($aUser, "1", "attachment", "output", "BINARY", "The output", "", "true", $buffer, $size); print $data->getResponseData(); }; if ($@) { print $@; }
创建具有模型“model”的对象实体。 请参阅 CreateNewCV 以获取完整描述。 cvtype 和 name 自变量用于设置新实体的全名属性的值。如果全名在 IBM Rational Synergy 数据库中的所有对象中不唯一,那么创建将失败。
对象可以包含具有字母数字以及 !&^~@*_.+: 的名称。但对于特定模型,仍可以实施更受约束的命名规则。
注:如果“cvtype”是空字符串,那么类型将是“cs_object”。
注:必须在模型对象上定义“cvtype”。
注:如果“State”为空字符串,那么状态将缺省设置为“cs_public”。
注:来自 (ac_def -> cs_public) 的缺省状态更改。 在缺省状态下,任何转换都不可用!
返回结果是 apiData 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar cvtype :由期望的四部分对象名组成的 cvtype 值。 scalar name :由期望的四部分对象名组成的 name 值。 scalar state :要自动转换到的状态 (state) 值。
返回:apiData 来自服务器的返回消息。 使用 getResponseData() 方法检索对象标识。 字符串值类似于:“CV: 5_digit_integer_value_of_object” 示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmp = $csapi->CreateCSObject($aUser, "admin", "special","");
print $tmp->getResponseData(); #ex: "CV: 12345"
#Note: Result will be like: "CV: 5_digit_integer_value_of_object". };
if ($@) { print $@; }
创建具有模型“model”的对象实体。请参阅 CreateNewCV 以获取完整描述。
name 自变量用于设置新实体的全名属性的值。如果全名在 IBM Rational Synergy 数据库中的所有对象中不唯一,那么创建将失败。 对象可以包含具有字母数字以及 !&^~@*_.+: 的名称。但对于特定模型,仍可以实施更受约束的命名规则。 返回结果是 apiData 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar name :由期望的四部分对象名组成的 name 值。
返回:apiData 来自服务器的返回消息。 使用 getResponseData() 方法检索对象标识。 字符串值类似于:“CV: 5_digit_integer_value_of_object” 示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmp = $csapi->CreateDefaultCSObject($aUser, "special");
print $tmp->getResponseData(); #ex: "CV: 12345"
#Note: Result will be like: "CV: 5_digit_integer_value_of_object". };
if ($@) { print $@; }
在 IBM Rational Change 服务器上创建搜索索引。 返回结果是 apiData 类的实例。
参数: apiUser aUser:当前 api 用户的登录数据。
返回:apiData 来自服务器的返回消息。 示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "Admin", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmpstr = $csapi->CreateIndex($aUser); };
if ($@) { print $@; }
创建 misc 对象。返回结果是 apiData 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar objectString:要创建的对象标识。 返回:apiData 新对象的 CVID。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmpstr = $csapi->CreateMiscObject($aUser, "DOORS_ID_400"); };
if ($@) { print $@; }
警告:该方法不是用于常规用途的。该方法的用户必须非常熟悉 ACcent 编程。请使用常规的“CreateCSObject”或“CreateDefaultCSObject”api 方法。
创建具有模型“model”的对象实体。
[subsys/cvtype/name/version] 例如:“1/admin/cs/1”
subsys、cvtype、name 和 version 自变量用于设置新实体的全名属性的值。如果全名在 IBM Rational Synergy 数据库中的所有对象中不唯一,那么创建将失败。
对象可以包含具有字母数字以及 !&^~@*_.+: 的名称。但对于特定模型,仍可以实施更受约束的命名规则。 注:如果“version”是空字符串,那么版本将为“1”。
注:如果“cvtype”是空字符串,那么类型将是“cs_object”。
注:必须在模型对象上定义“cvtype”。
缺省模型上预定义的 cvtype: cs_object,admin,ascii,asm0,baseline,binary,bitmap,c++,class,csrc, css,dir,dtd,executable,folder,folder_temp,gif,group,html, incl,jar,java,jpeg,library,lsrc,makefile,misc,perl,problem, project,recon_temp,releasedef,relocatable_obj,shared_library, shsrc,symlink,task,tset,xml,ysrc
注:请勿向“subsys”添加 DBID 和 DCM 定界符。如果对 DCM/DCS 进行初始化,将自动添加这些值。如果添加 DBID 和 DCM 定界符,那么将创建类似于 foo#foo#1(而不是 foo#1)的子系统。
注:如果“subsys”是空字符串,那么将计算 instance_number。 如果对 DCM/DCS 进行初始化,那么除了“subsys”或已计算的实例,还将使用 DCM 数据库标识和 DCM 定界符。
已经过 DCM 初始化: 示例:db63#1/cs_object/your_name/1 未初始化 DCM: 示例:1/cs_object/your_name/1 可以/将创建新实体的以下属性并为其提供值:
create_time :time :当前时间。 cvtype : string :自变量 cvtype。 is_asm : boolean :对象类型的“is_asm”属性值。 is_model : boolean :对象类型的“is_model”属性值。 modify_time : time :当前时间。 name : string :自变量 name。 owner : string :当前用户。 status : string :对象类型的“dflt_status”属性值。 subsystem : string :自变量 subsys。 version :string :自变量 version。 注:如果“State”为空字符串,那么状态将缺省设置为“cs_public”。
注:来自 (ac_def -> cs_public) 的缺省状态更改。 在缺省状态下,任何转换都不可用!
缺省安全性基于 CHANGE_STATE = "cs_public"
*** 系统预定义状态 *** state working = private + read + eval; state visible = private + read + eval + bind; state working_folder = private + read + eval + user1; state checkpoint = private + read + eval + user0;
state readonly = static + read + eval; state cs_admin = static + read + user9; state published_baseline = static + read + eval + user7; state released = static + read + eval + derive + bind; state readonly_folder = static + read + eval + derive + user0; state rejected = static + read + eval + derive + bind + user3; state test = static + read + eval + derive + bind + user2; state sqa = static + read + eval + derive + bind + user0; state integrate = static + read + eval + derive + bind + user1; state task_deferred = read + write + user0; state registered = read + write + user1; state task_assigned = read + write + user2; state completed = read + write + user3; state deleted = read + write + user4; state excluded = read + write + user5; state task_automatic = read + write + user6; state public = read + eval + bind + write; state crbase = read + write + eval + user1; state entered = read + write + eval + user2; state deferred = read + write + eval + user3; state concluded = read + write + eval + user4; state duplicate = read + write + user1 + user2; state working_recon_temp = read + eval + write + user5; state static_recon_temp = read + eval + static + user5; state prep_baseline = read + eval + write + user7; state shared_folder = read + eval + derive + write; state shared = read + eval + derive + bind + write; state admin = read + eval + bind + write + user0; state release_admin = read + eval + write + user0 + user1; state cs_public = read + eval + bind + write + user8; state in_review = read + write + eval + bind + user1; state assigned = read + write + eval + bind + user2; state probreject = read + write + eval + bind + user3; state resolved = read + write + eval + bind + user4; state prep_folder = read + eval + derive + write + user1; state prep = read + eval + derive + bind + write + user0; state dcm_admin = read + eval + bind + write + user0 + user1;
返回结果是 apiData 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar subsys :由期望的四部分对象名组成的 subsys 值。 scalar cvtype :由期望的四部分对象名组成的 cvtype 值。 scalar name :由期望的四部分对象名组成的 name 值。 scalar version :由期望的四部分对象名组成的 version 值。 scalar state :要自动转换到的状态 (state) 值。
返回:apiData 来自服务器的返回消息。 使用 getResponseData() 方法检索对象标识。 字符串值类似于:“CV: 5_digit_integer_value_of_object” 示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmp = $csapi->CreateNewCV($aUser, "", "admin", "special", "1", "");
print $tmp->getResponseData(); #ex: "CV: 12345"
#Note: Result will be like: "CV: 5_digit_integer_value_of_object". };
if ($@) { print $@; }
使用名称“your name value”和属性类型“your type value”创建对象的新属性。必须在模型对象上定义“type”。必须提供指定给属性的初始值。该操作还将更新对象的 modify_time 属性。返回结果是 apiData 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar cvidList :将受影响的 cvid 的列表(以“|”竖线定界),或单个 cvid。 apiObjectVector attrData :要由 api 函数处理的数据。 返回:apiData 来自服务器的返回消息。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $attrData = new ChangeSynergy::apiObjectVector();
my $objData = new ChangeSynergy::apiObjectData(); $objData->setName("attribute_a"); $objData->setType("text"); $objData->setValue("Linux"); $attrData->addDataObject($objData);
my $objData = new ChangeSynergy::apiObjectData(); $objData->setName("attribute_b"); $objData->setType("boolean"); $objData->setValue("true"); $attrData->addDataObject($objData);
my $objData = new ChangeSynergy::apiObjectData(); $objData->setName("attribute_c"); $objData->setType("integer"); $objData->setValue("777"); $attrData->addDataObject($objData);
my $tmp = $csapi->CreateObjectAttributes($aUser, "10156|10157|10158|10159|10160", $attrData)
print $tmp->getResponseData(); };
if ($@) { print $@; }
使用服务器上已存在的 XML 文件(并且可能使用服务器上已存在的包模板)来创建 CR 过程包。 返回结果是 apiData 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar xmlFileName :WEB-INF\cr_process 目录中 CR 过程 XML 文件的名称。 scalar packageTemplate :要合并的包模板的名称,位于 WEB-INF\package_templates 目录中。
返回:apiData 结果:创建的包的名称。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $globals = new ChangeSynergy::Globals();
my $aUser = $csapi->Login("u00001", "u00001", "Admin", "\\\\machineA\\ccmdb\\cm_database");
my $response = $csapi->createProcessPackage($aUser, "dev_process.xml", "dev_template"); print $response->getResponseData(); };
if ($@) { print $@; }
在两个 IBM Rational Synergy 对象之间创建关系。 返回结果是 apiData 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar bothWayRelationship:创建双向关系,[true|false]。 scalar fromObject :从其创建关系的对象。 scalar toObject :关系应用于的对象。 scalar relationName :有效的 IBM Rational Synergy/IBM Rational Change 关系名称。 scalar relationType :关系类型,请参阅下面的内容。
有效的关系类型(Globals.pm 中定义的常量): CCM_PROBLEM_PROBLEM // 创建“变更请求到变更请求”关系 CCM_PROBLEM_TASK // 创建“变更请求到任务”关系 CCM_PROBLEM_OBJECT // 创建“变更请求到对象”关系 CCM_TASK_PROBLEM // 创建“任务到变更请求”关系 CCM_TASK_TASK // 创建“任务到任务”关系 CCM_TASK_OBJECT // 创建“任务到对象”关系 CCM_OBJECT_PROBLEM // 创建“对象到变更请求”关系 CCM_OBJECT_TASK // 创建“对象到任务”关系 CCM_OBJECT_OBJECT // 创建“对象到对象”关系 示例用法: my $globals = new ChangeSynergy::Globals(); my $relationType = $globals->{CCM_PROBLEM_PROBLEM};
返回:apiData 仅当创建成功时,才会返回结果。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $globals = new ChangeSynergy::Globals();
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmpstr = $csapi->CreateRelation($aUser, "FALSE", "400", "1355", "my_copy", $globals->{CCM_PROBLEM_PROBLEM}); };
if ($@) { print $@; }
创建基于现有 Change 报告的新 Change 报告。 返回结果是 apiData 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar reportDefinition :ChangeSynergy::CreateReportDefinition 对象的实例。 scalar objectType :报告所要查询的对象类型。 scalar configType :报告最终将位于的配置位置,有效类型只有 user 和 shared。
有效的对象类型(Globals.pm 中定义的常量): PROBLEM_TYPE TASK_TYPE OBJECT_TYPE 有效配置类型(常量定义在 Globals.pm 中): SHARED_PROFILE USER_PROFILE
返回:apiData 仅当创建成功时,才会返回结果。
要查看有关如何使用 createReport API 的示例,请参阅 CreateReportDefinition 帮助中的示例。确保所需的参数名称、查询字符串和基本报告都已在 CreateReportDefinition 对象中定义。
在服务器上创建用户安全文件。
参数: apiUser aUser :当前 api 用户的登录数据。 返回:标量 返回消息。
示例:
my $csapi = new ChangeSynergy::csapi(); eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "Admin", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmp = $csapi->CreateUserSecurityData($aUser); }
if ($@) { print $@; }
获取 IBM Rational Change 服务器的已配置主机名。 返回结果是 apiData 类的实例。
参数: apiUser aUser:当前 api 用户的登录数据。
返回:apiData 主机名字符串。 示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmpstr = $csapi->CSHostName($aUser); };
if ($@) { print $@; }
将数据库对象复制到新的 BYTE 数组中。 返回结果是 apiData 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar Cvid :要检索的源对象的 cvid。
返回:apiData 来自服务器的字节数据 示例: $csapi->setUpConnection("http://your_hostname:port/your_context"); eval { my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database"); my $data = $csapi->DatabaseGetObject($aUser, "11023");
open(OUTPUT, ">file.txt"); print(OUTPUT $data->getResponseByteData()); close(OUTPUT); }; if ($@) { print $@; }
在 IBM Rational Change 服务器上更新文件对象。 只能更新状态为“public”的对象。 返回结果是 apiData 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar cvid :要更新的公共源对象的 cvid。 scalar comment:要更新的对象的注释。 scalar buffer :要在服务器上设置的 BYTE 数据。 scalar size :BYTE 数据的大小。
返回:apiData 来自服务器的返回消息。 示例: $csapi->setUpConnection("http://your_hostname:port/your_context");
my $buf = ""; my $buffer = ""; my $size = ""; eval { my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database"); open(INPUTFILE, "input.txt") or die "Could not open up the file";
while($buf = readline *INPUTFILE) { $buffer .= $buf; }
close(INPUTFILE); $size = -s "input.txt"; my $data = $csapi->DatabaseSetObject($aUser, "10341", "new comment", $buffer, $size); }; if ($@) { print $@; }
为系统中的所有用户删除首选项对象。警告 - 这将永久删除所有用户的所有首选项;没有任何恢复选项。返回结果是 apiData 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。
返回:apiData 来自服务器的返回消息。 示例: my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "Admin", "\\\\your_hostname\\ccmdb\\cm_database"); $tmpData = $csapi->DeleteAllUserPreferences($aUser); print $tmpData->getResponseData();
};
if ($@) { print $@; }
为系统中的所有用户删除某个首选项。警告 - 这将永久删除所有用户的单个首选项;没有任何恢复选项。返回结果是 apiData 类的实例。
注:无法删除用户概要文件值。这些值包括用户的名字、姓氏、电子邮件地址、传真号、电话号码和地址。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar keyname :要删除的首选项的名称。 scalar allDBs :true 或 false,指示是否对所有数据库执行添加, 还是仅对当前 api 用户登录到的数据库执行添加。
返回:apiData 来自服务器的返回消息。 示例: my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "Admin", "\\\\your_hostname\\ccmdb\\cm_database"); $tmpData = $csapi->DeleteAPreferenceForAllUsers($aUser, "user_fontsize", "true");
print $tmpData->getResponseData();
};
if ($@) { print $@; }
为系统中的某个用户删除某个首选项。警告 - 这将永久删除某个用户的单个首选项;没有任何恢复选项。返回结果是 apiData 类的实例。
注:无法删除用户概要文件值。这些值包括用户的名字、姓氏、电子邮件地址、传真号、电话号码和地址。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar username:要删除的用户首选项的名称。 scalar keyname :要删除的首选项的名称。 scalar allDBs :true 或 false,指示是否对所有数据库执行添加, 还是仅对当前 api 用户登录到的数据库执行添加。
返回:apiData 来自服务器的返回消息。 示例: my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "Admin", "\\\\your_hostname\\ccmdb\\cm_database"); $tmpData = $csapi->DeleteAPreferenceForAUser($aUser, "u00001", "user_fontsize", "true"); print $tmpData->getResponseData();
};
if ($@) { print $@; }
为系统中的单个用户删除首选项对象。警告 - 这将永久删除单个用户的所有首选项;没有任何恢复选项。返回结果是 apiData 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar username:要删除的用户首选项的名称
返回:apiData 来自服务器的返回消息。 示例: my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "Admin", "\\\\your_hostname\\ccmdb\\cm_database"); $tmpData = $csapi->DeleteAUsersPreferences($aUser, "u00001"); print $tmpData->getResponseData();
};
if ($@) { print $@; }
删除变更请求。该操作需要过程管理员特权。返回结果是 apiData 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar problemNumber:要删除的问题号。
返回:apiData 删除状态消息。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmpstr = $csapi->DeleteChangeRequest($aUser, "10"); };
if ($@) { print $@; }
从数据库中删除对象及所有下级对象和属性。 下级对象包含绑定(对于组合件情况)和目录条目。如果满足以下任何情况,将不会删除实体:
> 对象是现有项目的成员。 > 对象是模型对象。 > 对象是类型对象,并且当前存在其实例。 > 对象是类型对象,同时也是另一个现有类型的 super_type
返回结果是 apiData 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar cvid :要删除的对象的 cvid。 返回:apiData 来自服务器的返回消息。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmp = $csapi->DeleteCV($aUser,"10159");
print $tmp->getResponseData(); };
if ($@) { print $@; }
从服务器中删除查询、报告格式或报告文件夹及所有成员。 返回结果是 apiData 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar folderName:要删除的文件夹的名称。 scalar objectType:文件夹的对象类型。 scalar formatType:文件夹的格式类型:报告、查询或报告格式。 scalar configType:报告的配置位置。
有效的对象类型(Globals.pm 中定义的常量): PROBLEM_TYPE TASK_TYPE OBJECT_TYPE
有效的格式类型(Globals.pm 中定义的常量): QUERY REPORT REPORT_FORMAT 有效配置类型(常量定义在 Globals.pm 中): SHARED_PROFILE SYSTEM_CONFIG USER_PROFILE 返回:apiData 来自服务器的返回消息。 示例: my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "Admin", "\\\\machine\\ccmdb\\cm_database"); my $globals = new ChangeSynergy::Globals(); #Delete a shared CR Report folder called 'API Folder'. my $deleteResults = $csapi->deleteFolder($aUser, 'API Folder', $globals->{PROBLEM_TYPE}, $globals->{REPORT}, $globals->{SHARED_PROFILE}); print $deleteResults->getResponseData(); };
if ($@) { print $@; }
从数据库中删除对象及所有下级对象和属性。 下级对象包含绑定(对于组合件情况)和目录条目。 如果满足以下任何情况,将不会删除实体:
> 对象是现有项目的成员。 > 对象是模型对象。 > 对象是类型对象,并且当前存在其实例。 > 对象是类型对象,同时也是另一个现有类型的 super_type
返回结果是 apiData 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar Subsys :由期望的四部分对象名组成的 subsys 值。 scalar cvtype :由期望的四部分对象名组成的 cvtype 值。 scalar name :由期望的四部分对象名组成的 name 值。 scalar version :由期望的四部分对象名组成的 version 值。 返回:apiData 来自服务器的返回消息。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmp = $csapi->DeleteNewCV($aUser, "3", "admin", "special", "1");
print $tmp->getResponseData(); };
if ($@) { print $@; }
删除名为“your name value”的对象的现有属性。该操作还将更新对象的 modify_time 属性。返回结果是 apiData 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar cvidList :将受影响的 cvid 的列表(以“|”竖线定界),或单个 cvid。 apiObjectVector attrData :要由 api 函数处理的数据。 返回:apiData 来自服务器的返回消息。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $attrData = new ChangeSynergy::apiObjectVector();
my $objData = new ChangeSynergy::apiObjectData(); $objData->setName("attribute_a"); $attrData->addDataObject($objData);
my $objData = new ChangeSynergy::apiObjectData(); $objData->setName("attribute_b"); $attrData->addDataObject($objData);
my $objData = new ChangeSynergy::apiObjectData(); $objData->setName("attribute_c"); $attrData->addDataObject($objData);
my $tmp = $csapi->DeleteObjectAttributes($aUser, "10156|10157|10158|10159|10160", $attrData)
print $tmp->getResponseData(); };
if ($@) { print $@; }
删除两个 IBM Rational Synergy 对象之间的关系。 返回结果是 apiData 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar bothWayRelationship:创建双向关系,[true|false]。 scalar fromObject :从其创建关系的对象。 scalar toObject :关系应用于的对象。 scalar relationName :有效的 IBM Rational Synergy/IBM Rational Change 关系名称。 scalar relationType :关系类型,请参阅下面的内容。
有效的关系类型(Globals.pm 中定义的常量): CCM_PROBLEM_PROBLEM // 创建“变更请求到变更请求”关系 CCM_PROBLEM_TASK // 创建“变更请求到任务”关系 CCM_PROBLEM_OBJECT // 创建“变更请求到对象”关系 CCM_TASK_PROBLEM // 创建“任务到变更请求”关系 CCM_TASK_TASK // 创建“任务到任务”关系 CCM_TASK_OBJECT // 创建“任务到对象”关系 CCM_OBJECT_PROBLEM // 创建“对象到变更请求”关系 CCM_OBJECT_TASK // 创建“对象到任务”关系 CCM_OBJECT_OBJECT // 创建“对象到对象”关系 示例用法: my $globals = new ChangeSynergy::Globals(); my $relationType = $globals->{CCM_PROBLEM_PROBLEM};
返回:apiData 仅当删除成功时,才会返回结果。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $globals = new ChangeSynergy::Globals();
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmpstr = $csapi->DeleteRelation($aUser, "FALSE", "400", "1355", "my_copy", $globals->{CCM_PROBLEM_PROBLEM}); };
if ($@) { print $@; }
从用户首选项或从共享数据删除 CR 或任务报告。如果找不到要删除的指定报告,将抛出异常。 返回结果是 apiData 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar reportName :要删除的报告的名称。 scalar objectType :报告的对象类型。 scalar configType :报告的配置位置,有效类型只有 user 和 shared。
有效的对象类型(Globals.pm 中定义的常量): PROBLEM_TYPE TASK_TYPE OBJECT_TYPE 有效配置类型(常量定义在 Globals.pm 中): SHARED_PROFILE USER_PROFILE 返回:apiData 删除状态消息。 示例: my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\machine\\ccmdb\\cm_database");
my $globals = new ChangeSynergy::Globals(); #Delete a CR report named 'My column report' from the shared preferences and print the results. my $deleteResults = $csapi->deleteReport($aUser, "My column report", $globals->{PROBLEM_TYPE}, $globals->{SHARED_PROFILE}); print $deleteResults->getResponseData(); };
if ($@) { print $@; }
删除任务。返回结果是 apiData 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar taskNumber:要删除的任务号。
返回:apiData 删除状态消息。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmpstr = $csapi->DeleteTask($aUser, "1"); };
if ($@) { print $@; }
在 IBM Rational Change 服务器上禁用 IBM Rational Change 数据库。 返回结果是 apiData 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar database:要禁用的数据库。
返回:apiData 来自服务器的返回消息。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "Admin", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmpstr = $csapi->DisableDatabase($aUser, "\\\\your_hostname\\ccmdb\\cm_database"); };
if ($@) { print $@; }
在 IBM Rational Change 服务器上禁用 IBM Rational Change 主机。 返回结果是 apiData 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar host :要禁用的主机。
返回:apiData 来自服务器的返回消息。 示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "Admin", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmpstr = $csapi->DisableHost($aUser, "cm_host"); };
if ($@) { print $@; }
禁用搜索索引。
注:
1. 该功能是同步的,表示如果正在建立索引,将进行阻止,直到可以将其安全停止。
2. 在备份搜索目录时,必须禁用索引。
3. 缺省的搜索目录将是 <CHANGE_HOME>/WEB-INF/wsconfig/search。
4. 可通过指定配置条目 SEARCH_INDEX_DIRECTORY 的目录路径来覆盖缺省的搜索目录,例如
[CCM_SYSTEM][SEARCH_INDEX_DIRECTORY]<path_to_the_directory>[/SEARCH_INDEX_DIRECTORY][/CCM_SYSTEM]
5. 通过调用 EnableIndexing 重新启用索引。
6. 重新启动 Change 之后,索引器的状态(启用/禁用)仍会持久存储。
参数: apiUser aUser:当前 api 用户的登录数据。
返回:apiData 来自服务器的返回消息。 示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "Admin", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmpstr = $csapi->DisableIndexing($aUser); print $tmpstr->getResponseData(); };
if ($@) { print $@; }
获取以字符串形式返回的用户首选项的全部内容。 该字符串包含在用户的首选项对象中找到的所有内容的名称和值。对于调试用途以及确保所需更改已生效而言,这一点很有用。 返回结果是 apiData 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar username:要获取的用户首选项数据。
返回:apiData 来自服务器的返回消息。 示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "Admin", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmpstr = $csapi->DumpAUsersPreferences($aUser, "u00001"); print $tmpstr->getResponseData(); };
if ($@) { print $@; }
在 IBM Rational Change 服务器上启用 IBM Rational Change 数据库。 返回结果是 apiData 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar database:要启用的数据库。
返回:apiData 来自服务器的返回消息。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "Admin", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmpstr = $csapi->EnableDatabase($aUser, "\\\\your_hostname\\ccmdb\\cm_database"); };
if ($@) { print $@; }
在 IBM Rational Change 服务器上启用 IBM Rational Change 主机。 返回结果是 apiData 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar host :要启用的主机。
返回:apiData 来自服务器的返回消息。 示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "Admin", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmpstr = $csapi->EnableHost($aUser, "cm_host"); };
if ($@) { print $@; }
允许搜索索引在其常规时间间隔恢复。 这将切换 API“DisableIndexing”的效果。
注:要立即启动索引,请参阅 API“UpdateIndex”。
参数: apiUser aUser:当前 api 用户的登录数据。
返回:apiData 来自服务器的返回消息。 示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "Admin", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmpstr = $csapi->EnableIndexing($aUser); };
if ($@) { print $@; }
从共享首选项或用户首选项导出指定的 CR 或任务报告。 返回结果是 ReportEntry 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar reportName :要从服务器导出的报告的名称。 scalar objectType :报告的对象类型。 scalar configType :报告的配置位置。
有效的对象类型(Globals.pm 中定义的常量): PROBLEM_TYPE TASK_TYPE OBJECT_TYPE 有效配置类型(常量定义在 Globals.pm 中): SHARED_PROFILE SYSTEM_CONFIG USER_PROFILE 返回:ReportEntry 包含报告所有信息的报告项对象。 示例 1: #Print all data about a report. my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\machine\\ccmdb\\cm_database");
#Construct a new Globals object. my $globals = new ChangeSynergy::Globals(); #Export a CR report named 'My Report' from the shared preferences my $reportEntry = $csapi->exportAReport($aUser, "My Report", $globals->{PROBLEM_TYPE}, $globals->{SHARED_PROFILE}); #Print all information about the report, query and subreport. print "--------------- Report Entry ---------------------\n"; print "\nreportEntry->getName : " . $reportEntry->getName(); print "\nreportEntry->getBaseName : " . $reportEntry->getBaseName(); print "\nreportEntry->getReportTemplate: " . $reportEntry->getReportTemplate(); print "\nreportEntry->getExportFormat : " . $reportEntry->getExportFormat(); print "\nreportEntry->getMaxQuery : " . $reportEntry->getMaxQuery(); print "\nreportEntry->getMaxString : " . $reportEntry->getMaxString(); print "\nreportEntry->getDescription : " . $reportEntry->getDescription(); print "\nreportEntry->getIncrementSize : " . $reportEntry->getIncrementSize(); print "\nreportEntry->getIncremental : " . $reportEntry->getIncremental(); print "\nreportEntry->getStyle : " . $reportEntry->getStyle(); print "\nreportEntry->getCustomDisOrder: " . $reportEntry->getCustomDisplayOrder(); print "\nreportEntry->getImagePath : " . $reportEntry->getImagePath(); print "\n\n"; print "--------------- Query Entry ---------------------\n"; my $queryEntry = $reportEntry->getQueryEntry(); print "Name : " . $queryEntry->getName() . "\n"; print "Query String: " . $queryEntry->getQueryString() . "\n"; print "Desc : " . $queryEntry->getDescription() . "\n"; print "Prompting : " . $queryEntry->getPromptingQueryXml() . "\n"; print "Template : " . $queryEntry->getTemplate() . "\n"; print "--------------- Sub Report Entries ---------------------\n"; my @subreports = $reportEntry->getSubReports(); for my $subReportEntry (@subreports) { print "--------------- Sub Report Entry ---------------------\n"; print "getName :" . $subReportEntry->getName() . "\n"; print "getMainTemplate :" . $subReportEntry->getMainTemplate() . "\n"; print "getHeaderTemplate :" . $subReportEntry->getHeaderTemplate() . "\n"; print "getAttributeTemplate :" . $subReportEntry->getAttributeTemplate() . "\n"; print "getImageTemplate :" . $subReportEntry->getImageTemplate() . "\n"; print "getGroupTemplate :" . $subReportEntry->getGroupTemplate() . "\n"; print "getAutoAttributeTemplate :" . $subReportEntry->getAutoAttributeTemplate() . "\n"; print "getFooterTemplate :" . $subReportEntry->getFooterTemplate() . "\n"; print "getGroupBy :" . $subReportEntry->getGroupBy() . "\n"; print "getCustomWslet :" . $subReportEntry->getCustomWslet() . "\n"; print "getXmlContent :" . $subReportEntry->getXmlContent() . "\n"; print "getSpanAttributeTemplate :" . $subReportEntry->getSpanAttributeTemplate() . "\n"; print "getLabelTemplate :" . $subReportEntry->getLabelTemplate() . "\n"; print "getAutoLabelTemplate :" . $subReportEntry->getAutoLabelTemplate() . "\n"; print "getAttributes :" . $subReportEntry->getAttributes() . "\n"; print "getSortOrder :" . $subReportEntry->getSortOrder() . "\n"; print "getRelation :" . $subReportEntry->getRelation() . "\n"; print "getDefinitionType :" . $subReportEntry->getDefinitionType() . "\n\n"; } };
if ($@) { print $@; } 示例 2: #Save report XML to file. my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\machine\\ccmdb\\cm_database");
#Construct a new Globals object. my $globals = new ChangeSynergy::Globals(); #Export a CR report named 'My Report' from the shared preferences my $reportEntry = $csapi->exportAReport($aUser, "My Report", $globals->{PROBLEM_TYPE}, $globals->{SHARED_PROFILE}); my $file = $reportEntry->getName() . ".xml"; open(OUTPUT, ">$file"); print(OUTPUT $reportEntry->toXml()); close(OUTPUT); };
if ($@) { print $@; }
示例 3: #Load saved XML results back into a L<ReporEntry> object. my $file = "report.xml"; open (INPUTFILE, "$file") or die "Could not open the file!"; my $filecontents = ""; my $buffer = ""; while ($buffer = readline *INPUTFILE) { $filecontents .= $buffer; } close(INPUTFILE); my $reportEntryFactory = new ChangeSynergy::ReportEntryFactory(); my $reportEntry = $reportEntryFactory->createReportEntryFromXml($filecontents);
从共享首选项或用户首选项中的指定文件夹导出所有 CR 或任务报告。 返回结果是 ReportEntry 类的数组。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar folderName :要从中导出所有报告的文件夹的名称。 scalar objectType :报告的对象类型。 scalar configType :报告的配置位置。
有效的对象类型(Globals.pm 中定义的常量): PROBLEM_TYPE TASK_TYPE OBJECT_TYPE 有效配置类型(常量定义在 Globals.pm 中): SHARED_PROFILE SYSTEM_CONFIG USER_PROFILE
返回:ReportEntry 包含有关每个报告的所有信息的报告项对象数组。 示例: #Print all data about a report. my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\machine\\ccmdb\\cm_database");
#Construct a new Globals object. my $globals = new ChangeSynergy::Globals(); #Export all CR reports from the folder 'My Folder' from the shared preferences my @reportEntries = $csapi->exportReportsFromFolder($aUser, "My Folder", $globals->{PROBLEM_TYPE}, $globals->{SHARED_PROFILE}); foreach my $reportEntry (@reportEntries) { #See the exportAReport above or the L<ReportEntry> class for how to interact with a ReportEntry object. } }; if ($@) { print $@; }
获取在服务器上定义的所有 IBM Rational Change 属性。 IBM Rational Change 属性为:
[CCM_ATTRIBUTE] [NAME] IBM Rational Change 的属性名称。 [/NAME] [TYPE] Web 可视化数据类型, 可用的类型包括:CCM_STRING、CCM_TEXT、CCM_LISTBOX 和 CCM_VALUELISTBOX。 [/TYPE] [INTERFACE NAME] (可选)基于接口的别名。 只要定义了接口,就可以有任意数量的接口选项。 实际的标记名称是字面值接口名称。 [/INTERFACE NAME]... [ALIAS] 属性的缺省别名值。如果未使用接口选项, 或者如果未指定用户的接口,那么将返回该值。
[ALIAS] 标记集定义缺省值,如果不存在任何 [ALIAS] 标记, 那么将返回 [NAME]。 [/ALIAS] [/CCM_ATTRIBUTE]
通过 getName() 方法识别 [NAME]。 通过 getType() 方法识别 [TYPE]。 通过 getLabel() 方法识别 [ALIAS]。 无法通过 api 使用 [INTERFACE NAME] 选项。
返回结果是 apiObjectVector 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 返回:apiObjectVector 在服务器上定义的所有 IBM Rational Change 属性。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $attrs = $csapi->GetAttributes($aUser);
my $i; my $j = $attrs->getDataSize();
for($i=0; $i < $j; $i++) { print $attrs->getDataObject($i)->getName() . "\n"; #[CCM_ATTRIBUTE][NAME] print $attrs->getDataObject($i)->getType() . "\n"; #[CCM_ATTRIBUTE][TYPE] print $attrs->getDataObject($i)->getLabel() . "\n"; #[CCM_ATTRIBUTE][ALIAS] } };
if ($@) { print $@; }
将变更请求的详细信息装入数据类中,可以在其中修改变更请求的详细信息。然后,可以使用某个修改 api 函数提交已修改的数据类以更改变更请求。 返回结果是 apiObjectVector 类的实例。
注:当前转换选项随该 api 函数调用提供。 请参阅 apiTransitions 类描述。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar problemNumber:要引用的变更请求标识/问题号标识。 scalar attributeList:属性的定界列表。 [attribute_name|attribute_name|attribute_name|...]
返回:apiObjectVector 数据格式的变更请求详细信息。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmp = $csapi->GetCRData($aUser, "100", "problem_synopsis|problem_description");
my $tmpstr = $tmp->getXmlData(); };
if ($@) { print $@; }
将变更请求的详细信息装入数据类中,可以在其中修改变更请求的详细信息。然后,可以使用某个修改 api 函数提交已修改的数据类以更改变更请求。 返回结果是 apiObjectVector 类的实例。 AllTransitions 函数包含 HIDDEN 转换。
注:当前转换选项随该 api 函数调用提供。 请参阅 apiTransitions 类描述。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar problemNumber:要引用的变更请求标识/问题号标识。 scalar attributeList:属性的定界列表。 [attribute_name|attribute_name|attribute_name|...]
返回:apiObjectVector 数据格式的变更请求详细信息。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmp = $csapi->GetCRDataAllTransitions($aUser, "100", "problem_synopsis|problem_description");
my $tmpstr = $tmp->getXmlData(); };
if ($@) { print $@; }
获取对象的由四部分组成的名称。 返回结果是 apiData 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar cvid :要获取的对象的 cvid。
返回:apiData 由四个部分组成的名称:[subsys/cvtype/name/version],例如:“1/admin/cs/1” 示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmp = $csapi->GetCV($aUser,"10159");
print $tmp->getResponseData(); #ex: "3/admin/special/1"
#Note: Result will be a four part name like: "[subsys/cvtype/name/version]", in string format. };
if ($@) { print $@; }
从 IBM Rational Change 服务器获取 IBM Rational Change 数据库的列表。 返回结果是 apiListObject 类的实例。
参数: apiUser aUser:当前 api 用户的登录数据。
返回:apiListObject IBM Rational Change 服务器上所有数据库的列表。 示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmp = $csapi->GetDatabases($aUser);
my $tmpstr = $tmp->getXmlData(); };
if ($@) { print $@; }
如果服务器处于中央服务器方式,那么获取中央 CR 数据库路径,否则将返回空字符串。
参数: apiUser aUser:当前 api 用户的登录数据。
返回:apiData 包含在 apiData 对象中的中央 CR 数据库路径。 示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmp = $csapi->GetCentralCrDatabase($aUser);
my $tmpstr = $tmp->getResponseData(); };
if ($@) { print $@; }
获取所有数据库(包括禁用的数据库)的当前设置。
参数: apiUser user:当前 API 用户的登录数据。
返回:散列引用列表,其中每个散列代表一个数据库。 每个散列具有以下键:path、enabled、description、max_sessions、min_sessions 和 users_per_session。所有值都是字符串,但“enabled”除外,它是真/假值。 示例: my @databases = $csapi->GetDatabaseSettings($user);
foreach my $db (@databases) { print "Path: $db->{path} \n"; print "Enabled: " . ($db->{enabled} ? "yes\n" : "no\n"); print "Label: $db->{label} \n"; print "Description: $db->{description} \n"; print "Max Sessions: $db->{max_sessions} \n"; print "Min Sessions: $db->{min_sessions} \n"; print "Users/Session: $db->{users_per_session} \n\n"; }
获取 DataListbox 的内容。 返回结果是 apiListObject 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar listObject:要获取的 DataListbox。
返回:apiListObject DataListbox 的内容。 示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $list = $csapi->GetDataListBox($aUser, "CRQUERYREPORTPREDEFINED");
for(my $i=0; $i < $list->getListboxSize(); $i++) { my $label = $list->getLabel($i); my $value = $list->getValue($i);
print "List label $i: " . $label . "\n"; print "List value $i: " . $value . "\n"; } };
if ($@) { print $@; }
获取 DataListbox 的内容。 返回结果是 apiListObject 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar listObject:要获取的 DataListbox。 scalar configType:要在其中搜索列表的 config 条目。 有效的 Config 类型:这些类型在 Globals 类中定义。 $self->{ALL} // 用户、共享和系统。返回发现的第一项。 $self->{USER_PROFILE} // 单个用户概要文件数据。 $self->{SHARED_PROFILE} // 共享概要文件数据。 $self->{SYSTEM_CONFIG} // 系统 config 数据。
返回:apiListObject DataListbox 的内容。 示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $globals = new ChangeSynergy::Globals();
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $list = $csapi->GetDataListBox($aUser, "CRQUERYREPORTUSERDEFINED", $globals->{USER_PROFILE});
for(my $i=0; $i < $list->getListboxSize(); $i++) { my $label = $list->getLabel($i); my $value = $list->getValue($i);
print "List label $i: " . $label . "\n"; print "List value $i: " . $value . "\n"; } };
if ($@) { print $@; }
从 DOORS 附件对象中获取 DOORS 属性标记值。
参数: apiUser aUser :指向当前 api 用户的登录数据的指针。 scalar cvid :要检索的源对象的 cvid。 scalar attributeValue :所需 DOORS 属性的 DOORS_ATTR:NAME 值。 scalar attributeTag :要从 [NAME|TYPE|RANGE|VALUE|DEFAULT_AR|USER|GROUP] 中 获取信息的标记的名称。 scalar objectType :xml 根标记 [DYNAMIC_ATTRS_ORIG|DYNAMIC_ATTRS_NEW]。 scalar charSet :要使用的字符集。即:“UTF-16LE”、“iso-8859-1”
返回:apiData 来自服务器的返回消息。 示例: my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmpstr = $csapi->GetDOORSAttribute($aUser, "10126", "the name", "VALUE", "DYNAMIC_ATTRS_ORIG", "UTF-16LE"); };
if ($@) { print $@; }
从 DOORS 附件对象中获取 DOORS 属性标记值。
参数: apiUser aUser :指向当前 api 用户的登录数据的指针。 scalar cvid :要检索的源对象的 cvid。 scalar attributeValue :所需 DOORS 属性的 DOORS_ATTR:NAME 值。 scalar attributeTag :要从 [NAME|TYPE|RANGE|VALUE|DEFAULT_AR|USER|GROUP] 中 获取信息的标记的名称。 scalar objectType :xml 根标记 [DYNAMIC_ATTRS_ORIG|DYNAMIC_ATTRS_NEW]。 scalar objectId :要查找属性的需求的标识。 scalar charSet :要使用的字符集。即:“UTF-16LE”、“iso-8859-1”
返回:apiData 来自服务器的返回消息。 示例: my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmpstr = $csapi->GetDOORSAttribute($aUser, "10126", "the name", "VALUE", "DYNAMIC_ATTRS_ORIG", "98_req0000002d_1", "UTF-16LE"); };
if ($@) { print $@; }
获取给定文件夹的文件夹安全信息。文件夹安全信息包含文件夹名称、读安全性成员和写安全性成员。 返回结果是 FolderSecurityRule 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar folderName :要获取其安全性的文件夹的名称。 scalar objectType :文件夹的对象类型。 scalar formatType :文件夹的格式类型:报告、查询或报告格式。 scalar configType :报告的配置位置。
返回:FolderSecurityRule 表示规则的 FolderSecurityRule 对象。 示例: my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\angler\\ccmdb\\cm_database"); my $globals = new ChangeSynergy::Globals(); #Get the folder security rule for the "all" CR Shared query folder. my $folderRule = $csapi->getFolderSecurityRule($aUser, "", $globals->{PROBLEM_TYPE}, $globals->{QUERY}, $globals->{SHARED_PROFILE}); print "Folder Name: " . $folderRule->getFolderName() . "\n"; my @readMembers = $folderRule->getReadMembers(); print "Current readers \n"; foreach my $member (@readMembers) { print "Reader: '$member'\n"; } print "Finished printing readers: \n"; my @writeMembers = $folderRule->getWriteMembers(); print "Current writers: \n"; foreach my $member (@writeMembers) { print "Writer: '$member'\n"; } print "Finished printing writers: \n"; };
if ($@) { print $@; }
获取 IBM Rational Change 主机列表。 返回结果是 apiListObject 类的实例。
参数: apiUser aUser:当前 api 用户的登录数据。
返回:apiListObject IBM Rational Change 服务器上所有主机的列表 示例: my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmp = $csapi->GetHosts($aUser);
my $tmpstr = $tmp->getXmlData(); };
if ($@) { print $@; }
获取所有主机(包括禁用的主机)的当前设置。
参数: apiUser user:当前 API 用户的登录数据。
返回:散列引用列表,其中每个散列代表一个主机。 每个散列具有以下键:hostname、type、enabled、description、max_sessions、priority 和 threshold。所有值都是字符串,但“enabled”除外,它是真/假值。 主机类型是“NT”或“UNIX”。 示例: my @hosts = $csapi->GetHostSettings($user); foreach my $host (@hosts) { print "Hostname: $host->{hostname} \n"; print "Type: $host->{type} \n"; print "Enabled: " . ($host->{enabled} ? "yes\n" : "no\n"); print "Description: $host->{description} \n"; print "Max Sessions: $host->{max_sessions} \n"; print "Priority: $host->{priority} \n"; print "Threshold: $host->{threshold} \n\n"; }
获取 List 的内容。 返回结果是 apiListObject 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar listObject:要获取的列表。
返回:apiListObject List 的内容。 示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $list = $csapi->GetList($aUser, "CRQueryReportPreDefined");
for(my $i=0; $i < $list->getListboxSize(); $i++) { my $label = $list->getLabel($i); my $value = $list->getValue($i);
print "List label $i: " . $label . "\n"; print "List value $i: " . $value . "\n"; } };
if ($@) { print $@; }
获取 List 的内容。 返回结果是 apiListObject 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar listObject:要获取的列表。 scalar configType:要在其中搜索列表的 config 条目。 有效的 Config 类型:这些类型在 Globals 类中定义。 $self->{ALL} // 用户、共享和系统。返回发现的第一项。 $self->{USER_PROFILE} // 单个用户概要文件数据。 $self->{SHARED_PROFILE} // 共享概要文件数据。 $self->{SYSTEM_CONFIG} // 系统 config 数据。
返回:apiListObject List 的内容。 示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $globals = new ChangeSynergy::Globals();
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $list = $csapi->GetList($aUser, "CRQUERYUSERDEFINED", $globals->{USER_PROFILE});
for(my $i=0; $i < $list->getListboxSize(); $i++) { my $label = $list->getLabel($i); my $value = $list->getValue($i);
print "List label $i: " . $label . "\n"; print "List value $i: " . $value . "\n"; } };
if ($@) { print $@; }
获取 Listbox 的内容。 返回结果是 apiListObject 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar listObject:要获取的 Listbox。
返回:apiListObject Listbox 的内容。 示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $list = $csapi->GetListBox($aUser, "severity");
for(my $i=0; $i < $list->getListboxSize(); $i++) { my $label = $list->getLabel($i); my $value = $list->getValue($i);
print "Listbox label $i: " . $label . "\n"; print "Listbox value $i: " . $value . "\n"; } };
if ($@) { print $@; }
获取 Listbox 的内容。 返回结果是 apiListObject 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar listObject:要获取的 Listbox。 scalar configType:要在其中搜索列表框的 config 条目。 有效的 Config 类型:这些类型在 Globals 类中定义。 $self->{ALL} // 用户、共享和系统。返回发现的第一项。 $self->{USER_PROFILE} // 单个用户概要文件数据。 $self->{SHARED_PROFILE} // 共享概要文件数据。 $self->{SYSTEM_CONFIG} // 系统 config 数据。
返回:apiListObject Listbox 的内容。 示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $globals = new ChangeSynergy::Globals();
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmp = $csapi->GetListBox($aUser, "severity", $globals->{USER_PROFILE});
for(my $i=0; $i < $list->getListboxSize(); $i++) { my $label = $list->getLabel($i); my $value = $list->getValue($i);
print "Listbox label $i: " . $label . "\n"; print "Listbox value $i: " . $value . "\n"; } };
if ($@) { print $@; }
获取 Listbox 缺省值。 返回结果是 apiData 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。
返回:apiData 配置文件中设置的 Listbox 缺省值。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmpStr = $csapi->GetListBoxDefaultValue($aUser);
print $tmpStr->getResponseData(); };
if ($@) { print $@; }
指定由四部分组成的名称后,返回对象的 cvid。 返回结果是 apiData 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar subsys :由期望的四部分对象名组成的 subsys 值。 scalar cvtype :由期望的四部分对象名组成的 cvtype 值。 scalar name :由期望的四部分对象名组成的 name 值。 scalar version :由期望的四部分对象名组成的 version 值。
返回:apiData Cvid 字符串值:“CV: 5_digit_integer_value_of_object”,例如:“CV: 12345” 示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmp = $csapi->GetNewCV($aUser, "3", "admin", "special", "1");
print $tmp->getResponseData(); #ex: "CV: 12345"
#Note: Result will be like: "CV: 5_digit_integer_value_of_object", in string format. };
if ($@) { print $@; }
将对象的详细信息装入数据类中,可在该类中修改或显示对象的详细信息。可以使用某个修改 api 函数提交已修改的数据类。返回结果是 apiObjectVector 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar cvid :对象的 cvid。 scalar AttrList :属性的定界列表。[attribute_name|attribute_name|attribute_name|...]
返回:apiObjectVector 请求的属性的内容。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $objVector = $csapi->GetObjectData($aUser, $cv1, "create_time|cvtype|is_asm|is_model|is_versioned|modify_time|name|owner|status|subsystem|version");
my $i; my $j = $objVector->getDataSize();
for($i=0; $i < $j; $i++) { print "Name : " . $objVector->getDataObject($i)->getName() . "\n"; print "Value: " . $objVector->getDataObject($i)->getValue() . "\n"; } };
if ($@) { print $@; }
获取 Query 的内容。 返回结果是 apiListObject 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar listObject:要获取的 Query。
返回:apiListObject Query 的内容。 示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $query = $csapi->GetQuery($aUser, "All CRs");
print "getName : " . $query->getName() . "\n"; print "getQueryString: " . $query->getQueryString() . "\n"; print "getDateLastRun: " . $query->getDateLastRun() . "\n"; };
if ($@) { print $@; }
获取 Query 的内容。 返回结果是 apiListObject 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar listObject:要获取的 Query。 scalar configType:要在其中搜索查询的 config 条目。 有效的 Config 类型:这些类型在 Globals 类中定义。 $self->{ALL} // 用户、共享和系统。返回发现的第一项。 $self->{USER_PROFILE} // 单个用户概要文件数据。 $self->{SHARED_PROFILE} // 共享概要文件数据。 $self->{SYSTEM_CONFIG} // 系统 config 数据。
返回:apiListObject Query 的内容。 示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $globals = new ChangeSynergy::Globals();
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $query = $csapi->GetQuery($aUser, "Test Query", $globals->{USER_PROFILE});
print "getName : " . $query->getName() . "\n"; print "getQueryString: " . $query->getQueryString() . "\n"; print "getDateLastRun: " . $query->getDateLastRun() . "\n";
};
if ($@) { print $@; }
获取 Report 的内容。 返回结果是 apiListObject 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar listObject:要获取的 Report。
返回:apiListObject Report 的内容。 示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $report = $csapi->GetReport($aUser, "Basic Summary");
print "getName : " . $report->getName() . "\n"; print "getExportForm : " . $report->getExportForm () . "\n"; print "getQueryName : " . $report->getQueryName() . "\n"; print "getQueryString : " . $report->getQueryString() . "\n"; print "getDateLastRun : " . $report->getDateLastRun() . "\n"; for(my $i = 0; $i < $report->getSubreportSize(); $i++) { print " Subreport $i \n"; print " getSubreportName : " . $report->getSubreportName($i) . "\n"; print " getSubreportRelation: " . $report->getSubreportRelation($i) . "\n"; print " getSubreportType : " . $report->getSubreportType($i) . "\n"; } };
if ($@) { print $@; }
获取 Report 的内容。 返回结果是 apiListObject 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar listObject:要获取的 Report。 scalar configType:要在其中搜索报告的 config 条目。 有效的 Config 类型:这些类型在 Globals 类中定义。 $self->{ALL} // 用户、共享和系统。返回发现的第一项。 $self->{USER_PROFILE} // 单个用户概要文件数据。 $self->{SHARED_PROFILE} // 共享概要文件数据。 $self->{SYSTEM_CONFIG} // 系统 config 数据。
返回:apiListObject Report 的内容。 示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $globals = new ChangeSynergy::Globals();
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $report = $csapi->GetReport($aUser, "Test Format", $globals->{USER_PROFILE});
print "getName : " . $report->getName() . "\n"; print "getExportForm : " . $report->getExportForm () . "\n"; print "getQueryName : " . $report->getQueryName() . "\n"; print "getQueryString : " . $report->getQueryString() . "\n"; print "getDateLastRun : " . $report->getDateLastRun() . "\n"; for(my $i = 0; $i < $report->getSubreportSize(); $i++) { print " Subreport $i \n"; print " getSubreportName : " . $report->getSubreportName($i) . "\n"; print " getSubreportRelation: " . $report->getSubreportRelation($i) . "\n"; print " getSubreportType : " . $report->getSubreportType($i) . "\n"; } };
if ($@) { print $@; }
将任务的详细信息装入数据类中,可以在其中修改任务的详细信息。然后,可以使用某个修改 api 函数提交已修改的数据类以更改任务。 返回结果是 apiObjectVector 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar taskNumber :要引用的任务标识。 scalar attributeList:属性的定界列表。 [attribute_name|attribute_name|attribute_name|...]
返回:apiObjectVector 数据格式的任务详细信息。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmp = $csapi->GetTaskData($aUser, "10", "task_synopsis|task_description|priority");
my $tmpstr = $tmp->getXmlData(); };
if ($@) { print $@; }
获取指定用户的用户首选项或概要文件值。 返回结果是 apiData 类的实例。
定义的用户首选项属性: user_name :用户的全名。 user_first_name :用户的名字。 user_last_name :用户的姓氏。 user_address :为用户列出的地址。 user_company :用户工作所在的公司。 user_email :用户的电子邮件地址。 user_fax :用户的传真号 user_phone :用户的电话号码。 user_fontsize :用户已定义的字体大小。 user_read_security_value :用户的读安全性值。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar userName :要获取其有关信息的用户的名称。 scalar prefName :要检索的首选项的名称。
返回:apiData 请求的用户首选项的值。 示例:
my $csapi = new ChangeSynergy::csapi(); eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmp = $csapi->GetUserPreference($aUser, "u00001", "user_email"); my $tmpstr = $tmp->getResponseData(); };
if ($@) { print $@; }
获取 ValueListbox 的内容。 返回结果是 apiListObject 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar listObject:要获取的 ValueListbox。
返回:apiListObject valuelistbox 的内容。 示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $list = $csapi->GetValueListBox($aUser, "date_keywords");
for(my $i=0; $i < $list->getListboxSize(); $i++) { my $label = $list->getLabel($i); my $value = $list->getValue($i);
print "GetValueListBox label $i: " . $label . "\n"; print "GetValueListBox value $i: " . $value . "\n"; } };
if ($@) { print $@; }
获取 ValueListbox 的内容。 返回结果是 apiListObject 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar listObject:要获取的 ValueListbox。 scalar configType:要在其中搜索 valueListbox 的 config 条目。 有效的 Config 类型:这些类型在 Globals 类中定义。 $self->{ALL} // 用户、共享和系统。返回发现的第一项。 $self->{USER_PROFILE} // 单个用户概要文件数据。 $self->{SHARED_PROFILE} // 共享概要文件数据。 $self->{SYSTEM_CONFIG} // 系统 config 数据。
返回:apiListObject valuelistbox 的内容。 示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $globals = new ChangeSynergy::Globals();
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $list = $csapi->GetValueListBox($aUser, "user_defined_valuelistbox", $globals->{USER_PROFILE});
for(my $i=0; $i < $list->getListboxSize(); $i++) { my $label = $list->getLabel($i); my $value = $list->getValue($i);
print "GetValueListBox label $i: " . $label . "\n"; print "GetValueListBox value $i: " . $value . "\n"; } };
if ($@) { print $@; }
运行 IBM Rational Change 报告,并等待其完成。该 api 不会通过轮询模板进行响应。该 api 应该用于运行较小的报告。返回结果是 apiData 类的实例。
注:返回值是完整的 HTML 页面。<HTML>...</HTML> 可以将返回值另存为 .html 文件,或者装入 浏览器窗口/控件。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar reportName :IBM Rational Change 报告名称 (CCM_REPORT][NAME]report name[/NAME]...[/CCM_REPORT])。 scalar queryString:有效的 IBM Rational Synergy 查询字符串。 scalar queryName :IBM Rational Change 查询名称 ([CCM_QUERY][NAME]query name[/NAME]...[/CCM_QUERY])。 scalar reportTitle:此报告实例的标题。
返回:apiData HTML 页面形式的所请求即时查询。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database"); my $tmpstr = $csapi->ImmediateQueryHtml($aUser, "Basic Summary", "(submitter='cschuffe') and (cvtype='problem')", undef, undef); };
if ($@) { print $@; }
运行 IBM Rational Change 报告,并等待其完成。该 api 不会通过轮询模板进行响应。该 api 应该用于运行较小的报告。返回结果是 apiData 类的实例。
注:返回值是完整的 HTML 页面。<HTML>...</HTML> 可以将返回值另存为 .html 文件,或者装入 浏览器窗口/控件。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar reportName :IBM Rational Change 报告名称 ([CCM_REPORT][NAME]report name[/NAME]...[/CCM_REPORT])。 scalar reportTitle:此报告实例的标题。
返回:apiData HTML 页面形式的所请求即时查询。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database"); my $tmpstr = $csapi->ImmediateReportHtml($aUser, "Basic Summary", "Basic Summary Report"); };
if ($@) { print $@; }
导入使用 exportAReport 或 exportReportsFromFolder API 导出的 Change 报告。如果服务器上已存在要导入的报告的名称,那么该方法将失败并抛出异常。 返回结果是 apiData 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 ReportEntry reportEntry:包含报告所有信息的报告项。 scalar objectType :报告的对象类型。 scalar configType :报告的配置位置,有效类型只有 user 和 shared。
有效的对象类型(Globals.pm 中定义的常量): PROBLEM_TYPE TASK_TYPE OBJECT_TYPE 有效配置类型(常量定义在 Globals.pm 中): SHARED_PROFILE USER_PROFILE
返回:apiData 有关导入是否成功的信息。 示例 1:
#Create a copy of an existing report and change the query. my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\machine\\ccmdb\\cm_database"); my $globals = new ChangeSynergy::Globals(); #Export the 'Column' report from the system config data. my $reportEntry = $csapi->exportAReport($aUser, "Column", $globals->{PROBLEM_TYPE}, $globals->{SYSTEM_CONFIG}); #Change the name $reportEntry->setName("My column report"); #Set a new query string in the query entry. $reportEntry->getQueryEntry->setQueryString("(cvtype='problem') and (crstatus='assigned')"); #Get the subReports from the report entry. my @subReports = $reportEntry->getSubReports(); #The column output only has a single subreport definition, CCM_PROBLEM. my $subReport = $subReports[0]; #Get the original attributes and append submitter and severity as new attributes, must be in config file format. $subReport->setAttributes($subReport->getAttributes() . "|submitter:3:false|severity:4:false"); #Import the report back to the server. my $result = $csapi->importAReport($aUser, $reportEntry, $globals->{PROBLEM_TYPE}, $globals->{SHARED_PROFILE}); };
if ($@) { print $@; } 示例 2:
#Import a report from a file. my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\machine\\ccmdb\\cm_database");
#Open a file named 'report.xml' and read in all the contents. my $file = "report.xml"; open (INPUTFILE, "$file") or die "Could not open the file!"; my $filecontents = ""; my $buffer = ""; while ($buffer = readline *INPUTFILE) { $filecontents .= $buffer; } close(INPUTFILE); #Create a new instance of the ReportEntryFactory so we can create our new data from the XML data read from file. my $reportEntryFactory = new ChangeSynergy::ReportEntryFactory(); my $reportEntry = $reportEntryFactory->createReportEntryFromXml($filecontents); #Import the report back to the server. my $result = $csapi->importAReport($aUser, $reportEntry, $globals->{PROBLEM_TYPE}, $globals->{SHARED_PROFILE}); };
if ($@) { print $@; }
安装 IBM Rational Change 包。返回结果是 apiData 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar packageName :要安装的包的名称。
返回:apiData 仅当包安装成功时,才会返回结果。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "Admin", "\\\\your_hostname\\ccmdb\\cm_database"); my $results = $csapi->InstallAPackage($aUser, "dev_process"); print $results->getResponseData(); };
if ($@) { print $@; }
装入 IBM Rational Change 服务器上的所有配置数据文件。 返回结果是 apiData 类的实例。
参数: apiUser aUser:当前 api 用户的登录数据。
返回:apiData 来自服务器的返回消息。 示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "Admin", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmpstr = $csapi->LoadAllConfigurationFiles($aUser); };
if ($@) { print $@; }
装入 IBM Rational Change 服务器上的配置数据。 返回结果是 apiData 类的实例。
参数: apiUser aUser:当前 api 用户的登录数据。
返回:apiData 来自服务器的返回消息。 示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "Admin", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmpstr = $csapi->LoadConfigurationData($aUser); };
if ($@) { print $@; }
装入 IBM Rational Change 服务器上的指定配置数据文件。 不允许装入 pt.cfg、admin_framework.cfg、user_framework.cfg 和 task_framework.cfg 配置文件。指定的文件必须位于“CHANGE_APP_HOME/WEB-INF/wsconfig”目录中。 返回结果是 apiData 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar cfgFile :要重新装入的配置文件的名称。
返回:apiData 来自服务器的返回消息。 示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "Admin", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmpstr = $csapi->LoadConfigurationFile($aUser, "my_config_file.cfg"); };
if ($@) { print $@; }
将重新装入从数据库中获取其值的所有列表框。 返回结果是 apiData 类的实例。
参数: apiUser aUser:当前 api 用户的登录数据。
返回:apiData 来自服务器的返回消息。 示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "Admin", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmpstr = $csapi->LoadDatabaseListboxes($aUser); };
if ($@) { print $@; }
返回顶级文件夹下所有查询、报告格式或报告文件夹的列表。 返回结果是 apiListObject 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar objectType :根文件夹的对象类型。 scalar formatType :根文件夹的格式类型:报告、查询或报告格式。 scalar configType :根文件夹的配置位置。
有效的对象类型(Globals.pm 中定义的常量): PROBLEM_TYPE TASK_TYPE OBJECT_TYPE
有效的格式类型(Globals.pm 中定义的常量): QUERY REPORT REPORT_FORMAT 有效配置类型(常量定义在 Globals.pm 中): SHARED_PROFILE SYSTEM_CONFIG USER_PROFILE 返回:apiListObject 根文件夹下的文件夹列表。 示例: my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "Admin", "\\\\machine\\ccmdb\\cm_database"); my $globals = new ChangeSynergy::Globals(); #Get a list of all the shared CR report folders. my $folders = $csapi->listFolders($aUser, $globals->{PROBLEM_TYPE}, $globals->{REPORT}, $globals->{SHARED_PROFILE});
for (my $i = 0; $i < $folders->getListSize(); $i++) { print $folders->getLabel($i) . "\n"; } }; if ($@) { print $@; }
装入不需要模板名称和类型之外的任何其他数据的任一 IBM Rational Change 模板。返回结果是 apiData 类的实例。
注:返回值是完整的 HTML 页面。<HTML>...</HTML> 可以将返回值另存为 .html 文件,或者装入 浏览器窗口/控件。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar templateName:要装入的 IBM Rational Change 模板的名称 ([CCM_TEMPLATE][NAME]template name[/NAME]...[/CCM_TEMPLATE])。 scalar templateType:要装入的 IBM Rational Change 模板的 类型 ([ONLOAD_ACTION]type[/ONLOAD_ACTION])。 返回:apiData 来自服务器的 html 模板。
示例
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmpstr = $csapi->LoadFormHtml($aUser, "SearchTipsWindow", "workspace_form"); };
if ($@) { print $@; }
装入不需要模板名称和类型之外的任何其他数据的任一 IBM Rational Change 模板。返回结果是 apiData 类的实例。
注:返回值是完整的 URL 地址。 可以将返回值另存为链接,或者装入 浏览器窗口/控件。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar templateName:要装入的 IBM Rational Change 模板的名称 ([CCM_TEMPLATE][NAME]template name[/NAME]...[/CCM_TEMPLATE])。 scalar templateType:要装入的 IBM Rational Change 模板的 类型 ([ONLOAD_ACTION]type[/ONLOAD_ACTION])。 返回:apiData 所需模板的 URL 地址。
示例
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmpstr = $csapi->LoadFormUrl($aUser, "SearchTipsWindow", "workspace_form"); };
if ($@) { print $@; }
装入 IBM Rational Change "frameset_form" 模板。IBM Rational Change 服务器将对提供的模板名称进行解析。其他函数变量可用于框架集格式定义中包含的 URL。 返回结果是 apiData 类的实例。
注:返回值是完整的 HTML 页面。<HTML>...</HTML> 可以将返回值另存为 .html 文件,或者装入 浏览器窗口/控件。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar templateName :要装入的 IBM Rational Change 模板的名称 ([CCM_TEMPLATE][NAME]template name[/NAME]...[/CCM_TEMPLATE])。 scalar taskNumber :要引用的任务标识。 scalar taskStatus :所引用任务的状态值。 scalar problemNumber:要引用的变更请求标识/问题号标识。 scalar problemStatus:所引用 CR 的 crstatus 值。 scalar cvid :要引用的对象的 CVID。 scalar externalData :要传递至某个提交请求的 XML 数据的字符串。
外部数据 XML 的格式: <EXTERNAL_CONTEXT_DATA> <ATTRIBUTE NAME="attribute_name">your value</ATTRIBUTE> <ATTRIBUTE NAME="attribute_name">your value</ATTRIBUTE> <ATTRIBUTE NAME="attribute_name">your value</ATTRIBUTE> . . . </EXTERNAL_CONTEXT_DATA> 返回:apiData HTML 页面形式的所请求框架集。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmpstr = $csapi->LoadFrameSetHtml($aUser, "ChangeSynergyShowDetails", undef, undef, "1347", undef, undef, undef); };
if ($@) { print $@; }
装入 IBM Rational Change "frameset_form" 模板。IBM Rational Change 服务器将对提供的模板名称进行解析。其他函数变量可用于框架集格式定义中包含的 URL。 返回结果是 apiData 类的实例。
注:返回值是完整的 URL 地址。 可以将返回值另存为链接,或者装入 浏览器窗口/控件。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar templateName :要装入的 IBM Rational Change 模板的名称 ([CCM_TEMPLATE][NAME]template name[/NAME]...[/CCM_TEMPLATE])。 scalar taskNumber :要引用的任务标识。 scalar taskStatus :所引用任务的状态值。 scalar problemNumber:要引用的变更请求标识/问题号标识。 scalar problemStatus:所引用 CR 的 crstatus 值。 scalar cvid :要引用的对象的 CVID。 scalar externalData :要传递至某个提交请求的 XML 数据的字符串。
外部数据 XML 的格式: <EXTERNAL_CONTEXT_DATA> <ATTRIBUTE NAME="attribute_name">your value</ATTRIBUTE> <ATTRIBUTE NAME="attribute_name">your value</ATTRIBUTE> <ATTRIBUTE NAME="attribute_name">your value</ATTRIBUTE> . . . </EXTERNAL_CONTEXT_DATA> 返回:apiData URL 形式的所请求框架集。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmpstr = $csapi->LoadFrameSetUrl($aUser, "ChangeSynergyShowDetails", undef, undef, "1347", undef, undef, undef); };
if ($@) { print $@; }
从 IBM Rational Change 服务器上的 [CFG_MERGE][/CFG_MERGE] 中装入所有配置数据文件。 返回结果是 apiData 类的实例。
参数: apiUser aUser:当前 api 用户的登录数据。
返回:apiData 来自服务器的返回消息。 示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "Admin", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmpstr = $csapi->LoadMergeConfigurationFiles($aUser); };
if ($@) { print $@; }
以特定用户的身份登录至 IBM Rational Change 服务器,并连接至特定 IBM Rational Synergy 数据库。返回结果是 apiUser 类的实例。
参数: scalar user :用户的名称。 scalar password:用户的密码。 scalar role :用户的角色(现在,Web 客户机使用术语“interface”来代替“role”的这一用法。) scalar database:针对用户的 IBM Rational Synergy 数据库路径。
返回:apiUser 包含指定信息的 apiUser 类的新实例。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database"); };
if ($@) { print $@; }
使用指定的 Rational Synergy 角色集向 LDAP 服务器和 Rational Synergy 数据库添加新用户。新用户可以在此调用完成之后登录。返回结果是 apiData 类的实例。
注:在循环中,请勿调用此函数。而是使用 AddUsers() api 函数。
参数: apiUser aUser :当前 api 用户的登录数据。 apiUser aNewUser:新用户的数据。
返回:apiData 来自服务器的返回消息。 示例: my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "Admin", "\\\\your_hostname\\ccmdb\\cm_database"); my $aNewUser = new ChangeSynergy::apiUser("jsmith", "password", "developer|ccm_admin|pt_admin", "\\\\your_hostname\\ccmdb\\cm_database"); my $tmpstr = $csapi->AddUser($aUser, $aNewUser); };
if ($@) { print $@; }
使用指定的 Rational Synergy 角色集向 LDAP 服务器和 Rational Synergy 数据库添加一组新用户。新用户可以在此调用完成之后登录。返回结果是 apiData 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 @apiUser aNewUser:新用户数据的数组 scalar iCount :新用户的数组大小。
返回:apiData 来自服务器的返回消息。 示例: my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "Admin", "\\\\your_hostname\\ccmdb\\cm_database");
my $i; my $j=100;
my @newUsers;
for($i=0;$i<$j;$i++) { push @newUsers, new ChangeSynergy::apiUser("ATestUser" . $i ,"ATestUser", "developer|ccm_admin|pt_admin", "\\\\your_hostname\\ccmdb\\cm_database"); }
my $tmpstr = $csapi->AddUsers($aUser, \@newUsers, $j); };
if ($@) { print $@; }
通过立即释放用户的已检出许可证来注销该用户(没有任何许可证逗留时间)。
参数: apiUser aUser :当前 api 用户的登录数据。 返回:apiData 来自服务器的返回消息。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmp = $csapi->Logout($aUser); };
if ($@) { print $@; }
应用已修改的变更请求数据。只会将标记为已修改的数据对象提交至 IBM Rational Change 服务器。 不应变更属性 problem_number、modify_time 和 cvid。api 类将在需要时自动处理这些属性。 返回结果是 apiData 类的实例。
注:apiObjectData 的成员方法 setValue("") 将在被调用时自动设置已修改的标志。
参数: apiUser aUser:当前 api 用户的登录数据。 apiObjectVector data :要由 api 函数处理的数据。
返回:apiData 仅当修改成功时,才会返回结果 示例: my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmp = $csapi->AttributeModifyCRData($aUser, "100", "crstatus"); or my $tmp = $csapi->AttributeModifyCRData($aUser, "100"); or my $tmp = $csapi->ModifyCRData($aUser, "100", "CRDetail"); or my $tmp = $csapi->GetCRData($aUser, "100", "problem_synopsis|problem_description|keyword"); $tmp->getDataObjectByName("problem_synopsis")->setValue("I modified the synopsis through the csapi..."); $tmp->getDataObjectByName("problem_description")->setValue("I modified the description through the csapi..."); $tmp->getDataObjectByName("keyword")->setValue("csapi");
my $tmpstr = $csapi->ModifyCR($aUser, $tmp);
};
if ($@) { print $@; }
将变更请求的详细信息装入数据类中,可以在其中修改变更请求的详细信息。然后,可以使用某个修改 api 函数提交已修改的数据类以更改变更请求。 返回结果是 apiObjectVector 类的实例。
注:当前转换选项随该 api 函数调用提供。 请参阅 apiTransitions 类描述。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar problemNumber:要引用的变更请求标识/问题号标识。 scalar templateName :要装入的 IBM Rational Change 模板的名称 ([CCM_TEMPLATE][NAME]template name[/NAME]...[/CCM_TEMPLATE])。
返回:apiObjectVector 数据格式的变更请求详细信息。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmp = $csapi->ModifyCRData($aUser, "100", "CRDetail");
my $tmpstr = $tmp->getXmlData(); };
if ($@) { print $@; }
修改名为“your name value”的对象的现有属性。必须提供分配给属性的值。该操作还将更新对象的 modify_time 属性。返回结果是 apiData 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar cvidList :将受影响的 cvid 的列表(以“|”竖线定界),或单个 cvid。 apiObjectVector attrData :要由 api 函数处理的数据。 返回:apiData 来自服务器的返回消息。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $attrData = new ChangeSynergy::apiObjectVector();
my $objData = new ChangeSynergy::apiObjectData(); $objData->setName("attribute_a"); $objData->setValue("Linux"); $attrData->addDataObject($objData);
my $objData = new ChangeSynergy::apiObjectData(); $objData->setName("attribute_b"); $objData->setValue("true"); $attrData->addDataObject($objData);
my $objData = new ChangeSynergy::apiObjectData(); $objData->setName("attribute_c"); $objData->setValue("777"); $attrData->addDataObject($objData);
my $tmp = $csapi->ModifyObjectAttributes($aUser, "10156|10157|10158|10159|10160", $attrData)
print $tmp->getResponseData(); };
if ($@) { print $@; }
应用已修改的任务数据。只会将标记为已修改的数据对象提交至 IBM Rational Change 服务器。 不应变更属性 task_number、modify_time 和 cvid。api 类将在需要时自动处理这些属性。 返回结果是 apiData 类的实例。
注:apiObjectData 的成员方法 setValue("") 将在被调用时自动设置已修改的标志。
参数: apiUser aUser:当前 api 用户的登录数据。 apiObjectVector data :要由 api 函数处理的数据。
返回:apiData 仅当修改成功时,才会返回结果
示例: my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmp = $csapi->ModifyTaskData($aUser, "10", "TaskDetails"); or my $tmp = $csapi->GetTaskData($aUser, "10", "task_synopsis|task_description|priority"); $tmp->getDataObjectByName("task_synopsis")->setValue("I modified the synopsis through the csapi..."); $tmp->getDataObjectByName("task_description")->setValue("I modified the description through the csapi..."); $tmp->getDataObjectByName("priority")->setValue("high");
my $tmpstr = $csapi->ModifyTask($aUser, $tmp); };
if ($@) { print $@; }
将任务的详细信息装入数据类中,可以在其中修改任务的详细信息。然后,可以使用某个修改 api 函数提交已修改的数据类以更改任务。 返回结果是 apiObjectVector 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar taskNumber :要引用的任务标识。 scalar templateName:要装入的 IBM Rational Change 模板的名称 ([CCM_TEMPLATE][NAME]template name[/NAME]...[/CCM_TEMPLATE])。 返回:apiObjectVector 数据格式的任务详细信息
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmp = $csapi->ModifyTaskData($aUser, "10", "TaskDetails");
my $tmpstr = $tmp->getXmlData(); };
if ($@) { print $@; }
将查询、报告格式或报告文件夹的成员移至同一类型的新文件夹。服务器将找到报告所属的当前文件夹,并将这些报告移至新指定的文件夹。任何移动都必须在列表中的所有成员都存在的情况下才能完成。 返回结果是 apiData 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar folderName :要将报告移至的文件夹的名称。 scalar memberList :要从一个文件夹移至另一个文件夹的报告的列表(以竖线定界)。 scalar objectType :文件夹的对象类型。 scalar formatType :文件夹的格式类型:报告、查询或报告格式。 scalar configType :报告的配置位置。
有效的对象类型(Globals.pm 中定义的常量): PROBLEM_TYPE TASK_TYPE OBJECT_TYPE
有效的格式类型(Globals.pm 中定义的常量): QUERY REPORT REPORT_FORMAT 有效配置类型(常量定义在 Globals.pm 中): SHARED_PROFILE SYSTEM_CONFIG USER_PROFILE 返回:apiData 来自服务器的返回消息。 示例: my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "Admin", "\\\\machine\\ccmdb\\cm_database"); my $globals = new ChangeSynergy::Globals(); #Moves the reports 'API Test 1' and 'API Test 2' to the folder 'API Folder'. my $moveResults = $csapi->moveFolderMembers($aUser, "API Folder", "API Test 1|API Test 2", $globals->{PROBLEM_TYPE}, $globals->{REPORT}, $globals->{SHARED_PROFILE}); print $moveResults->getResponseData() . "\n"; };
if ($@) { print $@; }
在所有用户的首选项名称中执行替换。例如,用户报告和查询存储在 _USER_CFG_%username_%databasepath 条目中。 这可能是 _USER_CFG_jsmith_\\your_hostnameA\ccmdb\cm_database。如果数据库从 your_hostnameA 移至 your_hostnameB,那么此方法可以执行替换。 它将找到一个字符串的所有出现位置,并将其替换为另一个字符串。找到“\\your_hostnameA\ccmdb\cm_database”并将其替换为“\\your_hostnameB\ccmdb\cm_database”。 返回结果是 apiData 类的实例。
注:无法更改或添加用户概要文件值。这些值包括用户的名字、姓氏、电子邮件地址、传真号、电话号码和地址。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar keyValue:执行替换时要搜索的值。 scalar subValue:替换值,即要添加的值。
返回:apiData 来自服务器的返回消息。 示例: my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "Admin", "\\\\your_hostnameB\\ccmdb\\cm_database");
$tmpData = $csapi->PreferenceNameSubstitutionForAllUsers($aUser, "\\\\your_hostnameA\\ccmdb\\cm_database", "\\\\your_hostnameB\\ccmdb\\cm_database"); print $tmpData->getResponseData();
};
if ($@) { print $@; }
在单个用户的首选项名称中执行替换。例如,用户报告和查询存储在 _USER_CFG_%username_%databasepath 条目中。 这可能是 _USER_CFG_jsmith_\\your_hostnameA\ccmdb\cm_database。如果数据库从 your_hostnameA 移至 your_hostnameB,那么此方法可以执行替换。 它将找到一个字符串的所有出现位置,并将其替换为另一个字符串。找到“\\your_hostnameA\ccmdb\cm_database”并将其替换为“\\your_hostnameB\ccmdb\cm_database”。 返回结果是 apiData 类的实例。
注:无法更改或添加用户概要文件值。这些值包括用户的名字、姓氏、电子邮件地址、传真号、电话号码和地址。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar username:要编辑的用户首选项的名称。 scalar keyValue:执行替换时要搜索的值。 scalar subValue:替换值,即要添加的值。
返回:apiData 来自服务器的返回消息。 示例: my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "Admin", "\\\\your_hostnameB\\ccmdb\\cm_database");
$tmpData = $csapi->PreferenceNameSubstitutionForAUser($aUser, "u00001", "\\\\your_hostnameA\\ccmdb\\cm_database", "\\\\your_hostnameB\\ccmdb\\cm_database"); print $tmpData->getResponseData();
};
if ($@) { print $@; }
在单个用户的首选项值中执行替换。 在给定一个用户首选项的情况下,找到一个字符串的所有出现位置,并将其替换为另一个字符串。当您需要更改用户的 config 条目以在 _USER_CFG_ 条目中将一个报告名称 (problem_review) 替换为另一个报告名称 (cr_review) 时,这很有用。返回结果是 apiData 类的实例。
注:无法更改或添加用户概要文件值。这些值包括用户的名字、姓氏、电子邮件地址、传真号、电话号码和地址。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar username:要编辑的用户首选项的名称。 scalar keyName :要编辑的首选项的名称。 scalar keyValue:执行替换时要搜索的值。 scalar subValue:替换值,即要添加的值。 scalar allDBs :true 或 false,指示是否对所有数据库执行添加, 还是仅对当前 api 用户登录到的数据库执行添加。
返回:apiData 来自服务器的返回消息。 示例: my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "Admin", "\\\\your_hostname\\ccmdb\\cm_database"); $tmpData = $csapi->PreferenceSubstitutionForAUser($aUser, "u00001", "_USER_CFG_", "problem_review", "cr_review", "true"); print $tmpData->getResponseData();
};
if ($@) { print $@; }
在所有用户的首选项值中执行替换。 在给定一个用户首选项的情况下,找到一个字符串的所有出现位置,并将其替换为另一个字符串。当您需要更改用户的 config 条目以在 _USER_CFG_ 条目中将一个报告名称 (problem_review) 替换为另一个报告名称 (cr_review) 时,这很有用。返回结果是 apiData 类的实例。
注:无法更改或添加用户概要文件值。这些值包括用户的名字、姓氏、电子邮件地址、传真号、电话号码和地址。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar keyName :要编辑的首选项的名称。 scalar keyValue:执行替换时要搜索的值。 scalar subValue:替换值,即要添加的值。 scalar allDBs :true 或 false,指示是否对所有数据库执行添加, 还是仅对当前 api 用户登录到的数据库执行添加。
返回:apiData 来自服务器的返回消息。 示例: my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "Admin", "\\\\your_hostname\\ccmdb\\cm_database"); $tmpData = $csapi->PreferenceSubstitutionForAllUsers($aUser, "_USER_CFG_", "problem_review", "cr_review", "true"); print $tmpData->getResponseData();
};
if ($@) { print $@; }
在 IBM Rational Change 服务器上处理电子邮件提交表单。 返回结果是 apiData 类的实例。
参数: apiUser aUser:当前 api 用户的登录数据。
返回:apiData 来自服务器的返回消息。 示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "Admin", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmpstr = $csapi->ProcessEmailSubmitForms($aUser); };
if ($@) { print $@; }
运行 IBM Rational Change 报告,并且仅使用 XML 数据进行响应。 返回结果是 apiQueryData 类的实例。
注:返回值是报告的完整内容(仅表示为数据)。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar reportName :IBM Rational Change 报告名称 ([CCM_REPORT][NAME]report name[/NAME]...[/CCM_REPORT])。 scalar queryString :有效的 IBM Rational Synergy 查询字符串。 scalar queryName :IBM Rational Change 查询名称 ([CCM_QUERY][NAME]query name[/NAME]...[/CCM_QUERY])。 scalar reportTitle :此报告实例的标题。 scalar templateName:要装入的 IBM Rational Change 模板的名称 ([CCM_TEMPLATE][NAME]template name[/NAME]...[/CCM_TEMPLATE])。
返回:apiQueryData 表示报告数据的 XML 数据。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmp = $csapi->QueryData($aUser, "Basic Summary", "(submitter='cschuffe') and (cvtype='problem')", undef, undef, undef); };
if ($@) { print $@; }
运行 IBM Rational Change 报告,并且仅使用 XML 数据进行响应。 返回结果是 apiQueryData 类的实例。
注:返回值是报告的完整内容(仅表示为数据)。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar reportName :IBM Rational Change 报告名称 ([CCM_REPORT][NAME]report name[/NAME]...[/CCM_REPORT])。 scalar queryString :有效的 IBM Rational Synergy 查询字符串。 scalar queryName :IBM Rational Change 查询名称 ([CCM_QUERY][NAME]query name[/NAME]...[/CCM_QUERY])。 scalar reportTitle :此报告实例的标题。 scalar templateName :要装入的 IBM Rational Change 模板的名称 ([CCM_TEMPLATE][NAME]template name[/NAME]...[/CCM_TEMPLATE])。 scalar attributeList:属性“problem_number|crstatus|assigner...”的列表(以竖线定界)。
返回:apiQueryData 表示报告数据的 XML 数据。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmp = $csapi->QueryData($aUser, "Basic Summary", "(submitter='cschuffe') and (cvtype='problem')", undef, undef, undef, "problem_number|crstatus"); };
if ($@) { print $@; }
运行 IBM Rational Change 报告,将返回结果或轮询模板(如果结果尚未准备好)。
该 api 应该用于运行较大的报告。返回结果是 apiData 类的实例。
注:返回值是完整的 HTML 页面。<HTML>...</HTML> 可以将返回值另存为 .html 文件,或者装入 浏览器窗口/控件。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar reportName :IBM Rational Change 报告名称 ([CCM_REPORT][NAME]report name[/NAME]...[/CCM_REPORT])。 scalar queryString :有效的 IBM Rational Synergy 查询字符串。 scalar queryName :IBM Rational Change 查询名称 ([CCM_QUERY][NAME]query name[/NAME]...[/CCM_QUERY])。 scalar reportTitle :此报告实例的标题。 scalar templateName:要装入的 IBM Rational Change 模板的名称 ([CCM_TEMPLATE][NAME]template name[/NAME]...[/CCM_TEMPLATE])。
返回:apiData HTML 页面形式的所请求即时查询,或者 所运行查询的轮询模板。这是 HTML 页面。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmpstr = $csapi->QueryHtml($aUser, "Basic Summary", "(submitter='cschuffe') and (cvtype='problem')", undef, "Basic Summary Report"); };
if ($@) { print $@; }
运行 IBM Rational Change 报告,并且仅使用 XML 数据进行响应。 返回结果是 apiQueryData 类的实例。
注:返回值是报告的完整内容(仅表示为数据)。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar reportName :IBM Rational Change 报告名称 ([CCM_REPORT][NAME]report name[/NAME]...[/CCM_REPORT])。 scalar queryName :IBM Rational Change 查询名称 ([CCM_QUERY][NAME]query name[/NAME]...[/CCM_QUERY])。 scalar attributeList:属性“problem_number|crstatus|assigner...”的列表(以竖线定界)。
返回:apiQueryData 表示报告数据的 XML 数据。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmp = $csapi->QueryNameData($aUser, "Basic Summary", "All CRs", "problem_number|crstatus"); };
if ($@) { print $@; }
运行 IBM Rational Change 报告,并且仅使用 XML 数据进行响应。 返回结果是 apiQueryData 类的实例。
注:返回值是报告的完整内容(仅表示为数据)。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar reportName :IBM Rational Change 报告名称 ([CCM_REPORT][NAME]report name[/NAME]...[/CCM_REPORT])。 scalar queryString :有效的 IBM Rational Synergy 查询字符串。 scalar attributeList:属性“problem_number|crstatus|assigner...”的列表(以竖线定界)。
返回:apiQueryData 表示报告数据的 XML 数据。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmp = $csapi->QueryStringData($aUser, "Basic Summary", "(submitter='cschuffe') and (cvtype='problem')", "problem_number|crstatus"); };
if ($@) { print $@; }
注意:对于 IBM Rational Change 5.2,该方法不是非常有用。IBM Rational Change 现在可以自动检测通过“ccm users”命令进行的更改,无需调用此方法 - 无论如何,都将即时进行刷新。这不会导致出现问题,但可能执行了不必要的工作。
使所有后端会话刷新其安全性设置并重新装入所有用户信息。如果在 IBM Rational Change 外部将新用户添加到 IBM Rational Synergy,将需要此方法。通常,仅当启动新会话时才会看到这些更改;现有会话将继续使用旧数据。该函数会强制所有会话自行刷新并立即看到此类更改。
需要用户使用“管理员”界面的访问权进行登录。
IBM Rational Change 只有使用其 LDAP 服务器中的条目才能识别用户。 只将用户添加到 IBM Rational Synergy 并调用此函数将不允许这些用户登录至 IBM Rational Change。此函数仅在高级用户定制期间有用。
参数: apiUser aUser :当前 API 用户的登录数据。
返回:标量 来自服务器的返回消息。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "Admin", "\\\\your_hostname\\ccmdb\\cm_database");
$csapi->RefreshUsers($aUser); };
if ($@) { print $@; }
重命名服务器上的查询、报告格式或报告文件夹。 返回结果是 apiData 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar folderName :文件夹的当前名称。 scalar newFolderName:文件夹的新名称。 scalar objectType :文件夹的对象类型。 scalar formatType :文件夹的格式类型:报告、查询或报告格式。 scalar configType :报告的配置位置。
有效的对象类型(Globals.pm 中定义的常量): PROBLEM_TYPE TASK_TYPE OBJECT_TYPE
有效的格式类型(Globals.pm 中定义的常量): QUERY REPORT REPORT_FORMAT 有效配置类型(常量定义在 Globals.pm 中): SHARED_PROFILE SYSTEM_CONFIG USER_PROFILE 返回:apiData 来自服务器的返回消息。 示例: my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "Admin", "\\\\machine\\ccmdb\\cm_database"); my $globals = new ChangeSynergy::Globals(); #Renames a shared CR Report folder called 'API Folder' to 'API Folder Renamed' my $renameResults = $csapi->renameFolder($aUser, "API Folder", "API Folder Renamed", $globals->{PROBLEM_TYPE}, $globals->{REPORT}, $globals->{SHARED_PROFILE}); print $renameResults->getResponseData(); };
if ($@) { print $@; }
将重新装入 pt_listbox.cfg 文件,并且将重新装入从数据库中获取其值的所有列表框。 返回结果是 apiData 类的实例。
参数: apiUser aUser:当前 api 用户的登录数据。
返回:apiData 来自服务器的返回消息。 示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "Admin", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmpstr = $csapi->ReloadListboxes($aUser); };
if ($@) { print $@; }
清除并重新装入外部字符串表。 返回结果是 apiData 类的实例。
参数: apiUser aUser:当前 api 用户的登录数据。
返回:apiData 来自服务器的返回消息。 示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "Admin", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmpstr = $csapi->ReloadStringTable($aUser); };
if ($@) { print $@; }
重新装入文件 WEB-INF/wsconfig/system/app.properties 和 WEB-INF/wsconfig/system/app.user.properties。
返回结果是 apiData 类的实例。
参数: apiUser aUser:当前 api 用户的登录数据。
返回:apiData 来自服务器的返回消息。 示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "Admin", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmpstr = $csapi->reloadAppProperties($aUser); };
if ($@) { print $@; }
运行 IBM Rational Change 报告,并且仅使用 XML 数据进行响应。 返回结果是 apiQueryData 类的实例。
注:返回值是报告的完整内容(仅表示为数据)。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar reportName :IBM Rational Change 报告名称 ([CCM_REPORT][NAME]report name[/NAME]...[/CCM_REPORT])。 scalar attributeList:属性“problem_number|crstatus|assigner...”的列表(以竖线定界)。
返回:apiQueryData 表示报告数据的 XML 数据。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmp = $csapi->ReportData($aUser, "DRP - Summary of CRs Submitted by Me", "problem_number"); $tmpstr = $tmp->getXmlData(); };
if ($@) { print $@; }
运行 IBM Rational Change 报告,并且仅使用 XML 数据进行响应。 返回结果是 apiQueryData 类的实例。
注:返回值是报告的完整内容(仅表示为数据)。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar reportName :IBM Rational Change 报告名称 ([CCM_REPORT][NAME]report name[/NAME]...[/CCM_REPORT])。 scalar reportTitle :此报告实例的标题。 scalar templateName:要装入的 IBM Rational Change 模板的名称 ([CCM_TEMPLATE][NAME]template name[/NAME]...[/CCM_TEMPLATE])。
返回:apiQueryData 表示报告数据的 XML 数据。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmp = $csapi->ReportData($aUser, "DRP - Summary of CRs Submitted by Me", undef, undef); $tmpstr = $tmp->getXmlData(); };
if ($@) { print $@; }
运行 IBM Rational Change 报告,并且仅使用 XML 数据进行响应。 返回结果是 apiQueryData 类的实例。
注:返回值是报告的完整内容(仅表示为数据)。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar reportName :IBM Rational Change 报告名称 ([CCM_REPORT][NAME]report name[/NAME]...[/CCM_REPORT])。 scalar reportTitle :此报告实例的标题。 scalar templateName :要装入的 IBM Rational Change 模板的名称 ([CCM_TEMPLATE][NAME]template name[/NAME]...[/CCM_TEMPLATE])。 scalar attributeList:属性“problem_number|crstatus|assigner...”的列表(以竖线定界)。
返回:apiQueryData 表示报告数据的 XML 数据。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmp = $csapi->ReportData($aUser, "DRP - Summary of CRs Submitted by Me", undef, undef, undef); $tmpstr = $tmp->getXmlData(); };
if ($@) { print $@; }
运行 IBM Rational Change 报告,将返回结果或轮询模板(如果结果尚未准备好)。 该 api 应该用于运行较大的报告。返回结果是 apiData 类的实例。
注:返回值是完整的 HTML 页面。<HTML>...</HTML> 可以将返回值另存为 .html 文件,或者装入 浏览器窗口/控件。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar reportName :IBM Rational Change 报告名称 ([CCM_REPORT][NAME]report name[/NAME]...[/CCM_REPORT])。 scalar reportTitle :此报告实例的标题。 scalar templateName:要装入的 IBM Rational Change 模板的名称 ([CCM_TEMPLATE][NAME]template name[/NAME]...[/CCM_TEMPLATE])。
返回:apiData HTML 页面形式的所请求即时查询,或者 所运行的报告轮询模板。这是 HTML 页面。 示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmpstr = $csapi->ReportHtml($aUser, "Basic Summary", "Basic Summary Report", undef); };
if ($@) { print $@; }
运行在单个变更请求上进行报告的 IBM Rational Change 报告。 返回结果是 apiQueryData 类的实例。
注:返回值是报告的完整内容(仅表示为数据)。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar problemNumber:要引用的变更请求标识/问题号标识。 scalar ReportName :IBM Rational Change 报告名称 ([CCM_REPORT][NAME]report name[/NAME]...[/CCM_REPORT])。 scalar reportTitle :此报告实例的标题。
返回:apiQueryData 表示报告内容的 XML 数据。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmp = $csapi->ReportOnCRData($aUser, "132", "DRP - Summary with Tasks and Objects", undef); my $tmpstr = $tmp->getXmlData(); };
if ($@) { print $@; }
运行在单个变更请求上进行报告的 IBM Rational Change 报告。 返回结果是 apiQueryData 类的实例。
注:返回值是报告的完整内容(仅表示为数据)。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar problemNumber:要引用的变更请求标识/问题号标识。 scalar ReportName :IBM Rational Change 报告名称 ([CCM_REPORT][NAME]report name[/NAME]...[/CCM_REPORT])。 scalar reportTitle :此报告实例的标题。 scalar attributeList:属性“problem_number|crstatus|assigner...”的列表(以竖线定界)。
返回:apiQueryData 表示报告内容的 XML 数据。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmp = $csapi->ReportOnCRData($aUser, "132", "DRP - Summary with Tasks and Objects", undef, "problem_number|crstatus"); my $tmpstr = $tmp->getXmlData(); };
if ($@) { print $@; }
运行在单个变更请求上进行报告的 IBM Rational Change 报告。 返回结果是 apiData 类的实例。
注:返回值是完整的 HTML 页面。<HTML>...</HTML> 可以将返回值另存为 .html 文件,或者装入 浏览器窗口/控件。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar problemNumber:要引用的变更请求标识/问题号标识。 scalar reportName :IBM Rational Change 报告名称 ([CCM_REPORT][NAME]report name[/NAME]...[/CCM_REPORT])。 scalar reportTitle :此报告实例的标题。 返回:apiData HTML 页面形式的报告。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmpstr = $csapi->ReportOnCRHtml($aUser, "1347", "problemdetail", undef); };
if ($@) { print $@; }
运行在单个对象上进行报告的 IBM Rational Change 报告。 返回结果是 apiQueryData 类的实例。
注:返回值是报告的完整内容(仅表示为数据)。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar objectId :所引用对象的 CVID。 scalar reportName :IBM Rational Change 报告名称 ([CCM_REPORT][NAME]report name[/NAME]...[/CCM_REPORT])。 scalar reportTitle:此报告实例的标题。
返回:apiQueryData XML 数据格式的报告。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmp = $csapi->ReportOnObjectData($aUser, "11753", "objectdetail", undef); my $tmpstr = $tmp->getXmlData(); };
if ($@) { print $@; }
运行在单个对象上进行报告的 IBM Rational Change 报告。 返回结果是 apiQueryData 类的实例。
注:返回值是报告的完整内容(仅表示为数据)。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar objectId :所引用对象的 CVID。 scalar reportName :IBM Rational Change 报告名称 ([CCM_REPORT][NAME]report name[/NAME]...[/CCM_REPORT])。 scalar reportTitle :此报告实例的标题。 scalar attributeList:属性“problem_number|crstatus|assigner...”的列表(以竖线定界)。
返回:apiQueryData XML 数据格式的报告。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmp = $csapi->ReportOnObjectData($aUser, "11753", "objectdetail", undef, "problem_number"); my $tmpstr = $tmp->getXmlData(); };
if ($@) { print $@; }
运行在单个对象上进行报告的 IBM Rational Change 报告。 返回结果是 apiData 类的实例。
注:返回值是完整的 HTML 页面。<HTML>...</HTML> 可以将返回值另存为 .html 文件,或者装入 浏览器窗口/控件。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar objectId :所引用对象的 CVID。 scalar reportName :IBM Rational Change 报告名称 ([CCM_REPORT][NAME]report name[/NAME]...[/CCM_REPORT])。 scalar reportTitle:此报告实例的标题。
返回:apiData HTML 页面形式的报告。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmpstr = $csapi->ReportOnObjectHtml($aUser, "13", "objectdetail", undef); };
if ($@) { print $@; }
运行在单个任务上进行报告的 IBM Rational Change 报告。 返回结果是 apiQueryData 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar taskNumber :要引用的任务标识。 scalar reportName :IBM Rational Change 报告名称 ([CCM_REPORT][NAME]report name[/NAME]...[/CCM_REPORT])。 scalar reportTitle:此报告实例的标题。
返回:apiQueryData XML 数据格式的报告。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmp = $csapi->ReportOnTaskData($aUser, "1", "taskdetail", undef); my $tmpstr = $tmp->getXmlData(); };
if ($@) { print $@; }
运行在单个任务上进行报告的 IBM Rational Change 报告。 返回结果是 apiQueryData 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar taskNumber :要引用的任务标识。 scalar reportName :IBM Rational Change 报告名称 ([CCM_REPORT][NAME]report name[/NAME]...[/CCM_REPORT])。 scalar reportTitle :此报告实例的标题。 scalar attributeList:属性“problem_number|crstatus|assigner...”的列表(以竖线定界)。
返回:apiQueryData XML 数据格式的报告。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmp = $csapi->ReportOnTaskData($aUser, "1", "taskdetail", undef, "task_number"); my $tmpstr = $tmp->getXmlData(); };
if ($@) { print $@; }
运行在单个任务上进行报告的 IBM Rational Change 报告。 返回结果是 apiData 类的实例。
注:返回值是完整的 HTML 页面。<HTML>...</HTML> 可以将返回值另存为 .html 文件,或者装入 浏览器窗口/控件。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar taskNumber :要引用的任务标识。 scalar reportName :IBM Rational Change 报告名称 ([CCM_REPORT][NAME]report name[/NAME]...[/CCM_REPORT])。 scalar reportTitle:此报告实例的标题。
返回:apiData HTML 页面形式的报告结果。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmpstr = $csapi->ReportOnTaskHtml($aUser, "13", "taskdetail", undef); };
if ($@) { print $@; }
针对所有数据库让管理员用户登录。 返回结果是 apiData 类的实例。
参数: apiUser aUser:当前 api 用户的登录数据。
返回:apiData 来自服务器的返回消息。 示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "Admin", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmpstr = $csapi->ResetAdminTokens($aUser); };
if ($@) { print $@; }
重置 IBM Rational Change 服务器上装入的配置数据时间戳记。 返回结果是 apiData 类的实例。
参数: apiUser aUser:当前 api 用户的登录数据。
返回:apiData 来自服务器的返回消息。 示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "Admin", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmpstr = $csapi->ResetConfigurationDataLoadTime($aUser); };
if ($@) { print $@; }
获取服务器的 API 版本号。 返回结果是 apiData 类的实例。
参数: apiUser aUser:当前 api 用户的登录数据。
返回:apiData 版本号字符串。 示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmpstr1 = $csapi->ServerAPIVersion($aUser); };
if ($@) { print $@; }
从 IBM Rational Change 服务器获取文件对象。 返回结果是 apiData 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar file :要检索的对象的文件名。
返回:apiData 服务器返回的字节数据。 示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database"); my $file = "serverFile.txt"; my $filehandle = $csapi->ServerGetFile($aUser, $file);
open(OUTPUTFILE, ">serverFile.txt");
print OUTPUTFILE $filehandle->getResponseByteData();
close OUTPUTFILE; };
if ($@) { print $@; }
将文件对象复制到 IBM Rational Change 服务器。 返回结果是 apiData 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar buffer:要发送至服务器的 BYTE 数据。 scalar size :BYTE 数据的大小。
返回:apiData 来自服务器的返回消息。 示例:
my $csapi = new ChangeSynergy::csapi(); my $buffer = ""; my $buf = ""; my $size = "";
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
open(INPUTFILE, "filename.txt") or die "Could not open up the file";
while($buf = readline *INPUTFILE) { $buffer .= $buf; }
close(INPUTFILE); $size = -s "filename.txt";
my $filehandle = $csapi->ServerSendFile($aUser, $buffer, $size); };
if ($@) { print $@; }
获取服务器版本号。它是一个无标记的 api。 返回结果是 apiData 类的实例。
参数: apiUser aUser:当前 api 用户的登录数据。
返回:apiData 版本号字符串。 示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmpstr1 = $csapi->ServerVersion(); };
if ($@) { print $@; }
在服务器上设置/创建 IBM Rational Change 属性。
如果定制应用程序所引用的所有属性已在安装的 CR 过程中定义,那么将不需要此操作。GetAttributes() api 方法可用于确认是否已定义这些属性。
所提供属性的唯一列表将存储在使用所提供名称的 IBM Rational Change 配置文件中。“lpszCfgName”不应该包含“.ext”点扩展名,而只应该是 一个文件名前缀,例如“my_app_attrs”。IBM Rational Change 服务器会将“.cfg”添加到该名称。 命名文件时应谨慎。名称“pt”、“task_framework”、“admin_framework”、“user_framework”、“users”和“template”是保留的系统配置文件名,不允许使用这些名称。此操作将删除名为 lpszCfgName.cfg 的文件(如果存在)。因此,您可以覆盖自己的定制属性列表。如果无法创建或删除该文件,此操作将失败。
如果服务器上有任何列出的属性不是现有 lpszCfgName.cfg 文件名中的任何已定义属性,此操作将失败。如果操作出于此原因而失败,那么将返回错误属性的列表。建议将 GetAttributes() api 方法用于确认所有定制应用程序属性实际上对 IBM Rational Change 服务器未知。
已知的预定义 IBM Rational Change 属性(已保留,并且无法定义):
***************** 全局 CR 属性 ***************** [CCM_ATTRIBUTE][NAME]crstatus[/NAME][ALIAS]状态[/ALIAS][TYPE]CCM_STRING[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]problem_synopsis[/NAME][ALIAS]大纲[/ALIAS][TYPE]CCM_STRING[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]problem_description[/NAME][ALIAS]问题描述[/ALIAS][TYPE]CCM_TEXT[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]problem_number[/NAME][ALIAS]CR 标识[/ALIAS][TYPE]CCM_STRING[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]transition_log[/NAME][ALIAS]日志[/ALIAS][TYPE]CCM_TEXT[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]submitter[/NAME][ALIAS]提交者[/ALIAS][TYPE]CCM_USER[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]submitter_name[/NAME][ALIAS]姓名[/ALIAS][TYPE]CCM_STRING[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]submitter_phone[/NAME][ALIAS]电话号码[/ALIAS][TYPE]CCM_STRING[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]submitter_fax[/NAME][ALIAS]传真号[/ALIAS][TYPE]CCM_STRING[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]submitter_address[/NAME][ALIAS]地址[/ALIAS][TYPE]CCM_STRING[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]submitter_email[/NAME][ALIAS]电子邮件地址[/ALIAS][TYPE]CCM_STRING[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]submitter_company[/NAME][ALIAS]雇主[/ALIAS][TYPE]CCM_STRING[/TYPE][/CCM_ATTRIBUTE] ***************** 全局任务属性 *****************
[CCM_ATTRIBUTE][NAME]task_number[/NAME][ALIAS]任务标识[/ALIAS][TYPE]CCM_STRING[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]task_synopsis[/NAME][ALIAS]大纲[/ALIAS][TYPE]CCM_STRING[/TYPE][/CCM_ATTRIBUTE] ***************** 全局对象属性 ***************** [CCM_ATTRIBUTE][NAME]cvid[/NAME][ALIAS]IBM Rational Synergy 标识[/ALIAS][TYPE]CCM_STRING[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]comment[/NAME][ALIAS]对象注释[/ALIAS][TYPE]CCM_TEXT[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]description[/NAME][ALIAS]对象描述[/ALIAS][TYPE]CCM_TEXT[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]displayname[/NAME][ALIAS]显示名称[/ALIAS][TYPE]CCM_STRING[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]source[/NAME][ALIAS]源[/ALIAS][TYPE]CCM_STRING[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]attachment_name[/NAME][ALIAS]附件名称[/ALIAS][TYPE]CCM_STRING[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]attachment_size[/NAME][ALIAS]附件长度[/ALIAS][TYPE]CCM_NUMBER[/TYPE][/CCM_ATTRIBUTE] ***************** 共享 Ccm/PT/系统属性 ***************** [CCM_ATTRIBUTE][NAME]status[/NAME][ALIAS]状态[/ALIAS][TYPE]CCM_STRING[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]database[/NAME][ALIAS]数据库[/ALIAS][TYPE]CCM_STRING[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]modifiable_in[/NAME][ALIAS]在其中进行处理的数据库[/ALIAS][TYPE]CCM_LISTBOX[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]created_in[/NAME][ALIAS]在其中进行创建的数据库[/ALIAS][TYPE]CCM_LISTBOX[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]cvtype[/NAME][ALIAS]对象类型[/ALIAS][TYPE]CCM_LISTBOX[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]name[/NAME][ALIAS]对象名[/ALIAS][TYPE]CCM_STRING[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]modify_time[/NAME][ALIAS]上次修改时间[/ALIAS][TYPE]CCM_DATE[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]status_log[/NAME][ALIAS]转变日志[/ALIAS][TYPE]CCM_TEXT[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]platform[/NAME][ALIAS]平台[/ALIAS][TYPE]CCM_LISTBOX[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]creator[/NAME][ALIAS]创建者[/ALIAS][TYPE]CCM_USER[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]create_time[/NAME][ALIAS]创建日期[/ALIAS][TYPE]CCM_DATE[/TYPE][/CCM_ATTRIBUTE] ***************** 特殊 PTCLI/系统属性 ***************** [CCM_ATTRIBUTE][NAME]users_roles[/NAME][ALIAS]用户角色[/ALIAS][TYPE]CCM_TEXT[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]users[/NAME][ALIAS]用户[/ALIAS][TYPE]CCM_TEXT[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]user[/NAME][ALIAS]用户[/ALIAS][TYPE]CCM_STRING[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]generic_cs_attribute[/NAME][ALIAS]请勿使用/除去[/ALIAS][TYPE]CCM_STRING[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]dcm_dbid[/NAME][ALIAS]DCM 数据库标识[/ALIAS][TYPE]CCM_STRING[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]dcm_delimiter[/NAME][ALIAS]DCM 定界符[/ALIAS][TYPE]CCM_STRING[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]pt_app[/NAME][ALIAS]DevClient 应用程序数据[/ALIAS][TYPE]CCM_STRING[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]pt_app_role[/NAME][ALIAS]DevClient 应用程序角色[/ALIAS][TYPE]CCM_STRING[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]all_databases[/NAME][ALIAS]所有数据库[/ALIAS][TYPE]CCM_STRING[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]all_groups[/NAME][ALIAS]所有组[/ALIAS][TYPE]CCM_LISTBOX[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]LIFECYCLES[/NAME][ALIAS]所有生命周期[/ALIAS][TYPE]CCM_LISTBOX[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]LIFECYCLE_STATES[/NAME][ALIAS]生命周期中的所有状态[/ALIAS][TYPE]CCM_LISTBOX[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]LIFECYCLE_TRANSITIONS[/NAME][ALIAS]生命周期中的所有转变[/ALIAS][TYPE]CCM_LISTBOX[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]VALID_TRANSITIONS[/NAME][ALIAS]允许的转变[/ALIAS][TYPE]CCM_STRING[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]VALID_CREATES[/NAME][ALIAS]允许的提交[/ALIAS][TYPE]CCM_STRING[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]VALID_CREATES_USER[/NAME][ALIAS]允许的用户提交[/ALIAS][TYPE]CCM_STRING[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]CURRENT_LIFECYCLE[/NAME][ALIAS]当前生命周期[/ALIAS][TYPE]CCM_STRING[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]IS_ADMIN[/NAME][ALIAS]是管理员[/ALIAS][TYPE]CCM_STRING[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]licensed_dcmpt[/NAME][ALIAS]许可证信息[/ALIAS][TYPE]CCM_STRING[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]licensed_xpt[/NAME][ALIAS]许可证信息[/ALIAS][TYPE]CCM_STRING[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]licensed_grpsec[/NAME][ALIAS]许可证信息[/ALIAS][TYPE]CCM_STRING[/TYPE][/CCM_ATTRIBUTE] ***************** 特殊 ACcent 属性 ***************** [CCM_ATTRIBUTE][NAME]_COMMENTS[/NAME][ALIAS]注释[/ALIAS][TYPE]CCM_TEXT[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]_DUPLICATE[/NAME][ALIAS]重复[/ALIAS][TYPE]CCM_STRING[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]_CREATE_TASK[/NAME][ALIAS]创建任务[/ALIAS][TYPE]CCM_TOGGLE[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]_IS_MODIFIABLE[/NAME][ALIAS]对象可被修改[/ALIAS][TYPE]CCM_TOGGLE[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]IS_MODIFIABLE[/NAME][ALIAS]对象可被修改[/ALIAS][TYPE]CCM_TOGGLE[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]has_duplicate[/NAME][ALIAS]重复项[/ALIAS][TYPE]CCM_RELATION[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]attachment[/NAME][ALIAS]附件[/ALIAS][TYPE]CCM_RELATION[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]associated_task[/NAME][ALIAS]关联的任务[/ALIAS][TYPE]CCM_RELATION[/TYPE][/CCM_ATTRIBUTE] ***************** 特殊 IBM Rational Change 标识 ***************** [CCM_ATTRIBUTE][NAME]_ATTACHMENT_NAME[/NAME][TYPE]CCM_STRING[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]_ATTACHMENT_COMMENT[/NAME][TYPE]CCM_STRING[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]_ATTACHMENT_IS_BINARY[/NAME][TYPE]CCM_STRING[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]_ATTACHMENT_IS_ASCII[/NAME][TYPE]CCM_STRING[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]_ATTACHMENT_TYPE[/NAME][TYPE]CCM_STRING[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]START_HERE[/NAME][ALIAS]提交表单[/ALIAS][TYPE]CCM_VALUELISTBOX[/TYPE][/CCM_ATTRIBUTE] ***************** 文本替换变量 ***************** [CCM_ATTRIBUTE][NAME]ChangeRequestProcessImage[/NAME][ALIAS]no_cr_process.gif[/ALIAS][TYPE]CCM_STRING[/TYPE][/CCM_ATTRIBUTE] ***************** 文本替换变量 ***************** [CCM_ATTRIBUTE][NAME]Problem_Identifier[/NAME][ALIAS]变更请求[/ALIAS][TYPE]CCM_STRING[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]Problem_Identifier_Plural[/NAME][ALIAS]变更请求[/ALIAS][TYPE]CCM_STRING[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]Problem_Identifier_Abbr[/NAME][ALIAS]CR[/ALIAS][TYPE]CCM_STRING[/TYPE][/CCM_ATTRIBUTE] ***************** 文本替换变量 ***************** [CCM_ATTRIBUTE][NAME]DUPLICATE[/NAME][ALIAS]重复项[/ALIAS][TYPE]CCM_STRING[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]QUERY_STRING[/NAME][ALIAS]查询字符串[/ALIAS][TYPE]CCM_STRING[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]cr_modifications[/NAME][ALIAS]显示修改事件[/ALIAS][TYPE]CCM_TOGGLE[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]cr_transitions[/NAME][ALIAS]显示转变注释[/ALIAS][TYPE]CCM_TOGGLE[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]cr_notes[/NAME][ALIAS]显示备注[/ALIAS][TYPE]CCM_TOGGLE[/TYPE][/CCM_ATTRIBUTE] ***************** 实用程序 ***************** [CCM_ATTRIBUTE][NAME]TRANSITION_USER[/NAME][ALIAS]转变用户[/ALIAS][TYPE]CCM_LISTBOX[/TYPE][/CCM_ATTRIBUTE] ***************** 概要文件属性 ***************** [CCM_ATTRIBUTE][NAME]report_window_target[/NAME][ALIAS]报告窗口目标[/ALIAS][TYPE]CCM_VALUELISTBOX[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]report_link_target[/NAME][ALIAS]报告链接目标[/ALIAS][TYPE]CCM_VALUELISTBOX[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]fontsize[/NAME][ALIAS]字体大小[/ALIAS][TYPE]CCM_LISTBOX[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]user_default_home_page[/NAME][ALIAS]报告链接目标[/ALIAS][TYPE]CCM_LISTBOX[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]defaultReport[/NAME][ALIAS]缺省报告[/ALIAS][TYPE]CCM_STRING[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]reportIncremental[/NAME][ALIAS]增量报告[/ALIAS][TYPE]CCM_STRING[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]reportIncrementalSize[/NAME][ALIAS]增量报告大小[/ALIAS][TYPE]CCM_STRING[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]object_scope[/NAME][ALIAS]对象作用域[/ALIAS][TYPE]CCM_STRING[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]object_scope_lifecycle[/NAME][ALIAS]对象作用域生命周期[/ALIAS][TYPE]CCM_STRING[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]cr_notes[/NAME][ALIAS]CR 说明[/ALIAS][TYPE]CCM_TOGGLE[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]cr_transitions[/NAME][ALIAS]CR 转变[/ALIAS][TYPE]CCM_TOGGLE[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]cr_modifications[/NAME][ALIAS]CR 修改[/ALIAS][TYPE]CCM_TOGGLE[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]firstname[/NAME][ALIAS]用户的名字[/ALIAS][TYPE]CCM_STRING[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]lastname[/NAME][ALIAS]用户的姓氏[/ALIAS][TYPE]CCM_STRING[/TYPE][/CCM_ATTRIBUTE] ***************** 任务属性 ***************** [CCM_ATTRIBUTE][NAME]task_subsys[/NAME][ALIAS]任务子系统[/ALIAS][TYPE]CCM_LISTBOX[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]task_description[/NAME][ALIAS]描述[/ALIAS][TYPE]CCM_TEXT[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]priority[/NAME][ALIAS]优先级[/ALIAS][TYPE]CCM_LISTBOX[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]est_completion_date[/NAME][ALIAS]估算的完成日期[/ALIAS][TYPE]CCM_DATE[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]est_duration[/NAME][ALIAS]估算的持续时间[/ALIAS][TYPE]CCM_STRING[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]actual_duration[/NAME][ALIAS]实际持续时间[/ALIAS][TYPE]CCM_STRING[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]registration_date[/NAME][ALIAS]注册日期[/ALIAS][TYPE]CCM_DATE[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]completion_date[/NAME][ALIAS]完成日期[/ALIAS][TYPE]CCM_DATE[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]asgndate_begin[/NAME][ALIAS]已分配,晚于[/ALIAS][TYPE]CCM_DATE[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]asgndate_end[/NAME][ALIAS]已分配,早于[/ALIAS][TYPE]CCM_DATE[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]compdate_begin[/NAME][ALIAS]已完成,晚于[/ALIAS][TYPE]CCM_DATE[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]compdate_end[/NAME][ALIAS]已完成,早于[/ALIAS][TYPE]CCM_DATE[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]completed_id[/NAME][ALIAS]已完成的标识[/ALIAS][TYPE]CCM_STRING[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]completed_in[/NAME][ALIAS]完成位置[/ALIAS][TYPE]CCM_STRING[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]assigner[/NAME][ALIAS]分配者[/ALIAS][TYPE]CCM_USER[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]resolver[/NAME][ALIAS]解决者[/ALIAS][TYPE]CCM_USER[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]assignment_date[/NAME][ALIAS]分配日期[/ALIAS][TYPE]CCM_DATE[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]release[/NAME][ALIAS]发行版[/ALIAS][TYPE]CCM_LISTBOX[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]keyword[/NAME][ALIAS]关键字[/ALIAS][TYPE]CCM_STRING[/TYPE][/CCM_ATTRIBUTE] ***************** 对象属性 ***************** [CCM_ATTRIBUTE][NAME]owner[/NAME][ALIAS]对象的所有者[/ALIAS][TYPE]CCM_USER[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]subsystem[/NAME][ALIAS]子系统[/ALIAS][TYPE]CCM_STRING[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]TASKSTATES[/NAME][ALIAS]任务状态[/ALIAS][TYPE]CCM_LISTBOX[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]TASK_DATABASE[/NAME][ALIAS]任务数据库[/ALIAS][TYPE]CCM_LISTBOX[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]all_releases[/NAME][ALIAS]所有发行版[/ALIAS][TYPE]CCM_LISTBOX[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]inactive_releases[/NAME][ALIAS]不活动的发行版[/ALIAS][TYPE]CCM_LISTBOX[/TYPE][/CCM_ATTRIBUTE] [CCM_ATTRIBUTE][NAME]active_releases[/NAME][ALIAS]活动的发行版[/ALIAS][TYPE]CCM_LISTBOX[/TYPE][/CCM_ATTRIBUTE]
IBM Rational Change 属性为:
[CCM_ATTRIBUTE] [NAME] IBM Rational Change 的属性名称。 [/NAME] [TYPE] Web 可视化数据类型, 可用的类型包括:CCM_STRING、CCM_TEXT、CCM_LISTBOX 和 CCM_VALUELISTBOX。 [/TYPE] [INTERFACE NAME] (可选)基于接口的别名。 有多少接口,就可以有多少接口选项。 其中,“INTERFACE NAME”和“/INTERFACE NAME”是字面值接口名称。 [/INTERFACE NAME]... [ALIAS] 属性的缺省别名值。如果未使用接口选项, 或者如果未指定用户的接口,那么将返回该值。
[ALIAS] 标记集定义缺省值,如果不存在任何 [ALIAS] 标记, 那么将返回 [NAME]。 [/ALIAS] [/CCM_ATTRIBUTE]
通过 getName() 方法识别 [NAME]。 通过 getType() 方法识别 [TYPE]。 通过 getLabel() 方法识别 [ALIAS]。 无法通过 api 使用 [INTERFACE NAME] 选项。
返回结果是 apiData 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar cfgName :要包含新属性的新配置文件的名称, 将自动添加“.cfg”扩展名。 apiObjectVector attrData:要由 api 函数处理的数据。 返回:apiData 来自服务器的返回消息。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $attrData = new ChangeSynergy::apiObjectVector();
my $objData = new ChangeSynergy::apiObjectData(); $objData->setName("cost"); $objData->setType("CCM_STRING"); $objData->setLabel("Cost"); $attrData->addDataObject($objData);
my $objData = new ChangeSynergy::apiObjectData(); $objData->setName("customer_priority"); $objData->setType("CCM_LISTBOX"); $objData->setLabel("Customer Priority"); $attrData->addDataObject($objData);
my $objData = new ChangeSynergy::apiObjectData(); $objData->setName("version_fixed"); $objData->setType("CCM_STRING"); $objData->setLabel("Version Fixed"); $attrData->addDataObject($objData);
$tmp = $csapi->SetAttributes($aUser, "api_attributes", $attrData);
print $tmp->getResponseData(); };
if ($@) { print $@; }
设置给定文件夹的文件夹安全信息。文件夹安全信息包含文件夹名称、读安全性成员和写安全性成员。 您还可以通过提供没有任何读者或编写者的文件夹名称来清空规则。 返回结果是 apiData 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 FolderSecurityrule folderRule :文件夹的文件夹安全规则对象。 scalar objectType :文件夹的对象类型。 scalar formatType :文件夹的格式类型:报告、查询或报告格式。 scalar configType :报告的配置位置。
返回:apiData 包含关于更新成功与否消息的 apiData。 示例: my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\angler\\ccmdb\\cm_database"); my $globals = new ChangeSynergy::Globals(); #Get the folder security rule for the "all" CR Shared query folder. my $folderRule = $csapi->getFolderSecurityRule($aUser, "", $globals->{PROBLEM_TYPE}, $globals->{QUERY}, $globals->{SHARED_PROFILE}); $folderRule->addReadMember("someone"); $folderRule->addWriteMember("someone else"); my $result = $csapi->setFolderSecurityRule($aUser, $folderRule, $globals->{PROBLEM_TYPE}, $globals->{QUERY}, $globals->{SHARED_PROFILE}); print $result->getResponseData() . "\n"; };
if ($@) { print $@; }
在运行查询时,设置要使用的 config 类型。有四种 config 类型可供指定:用户、共享、系统和所有。用户 config 类型将仅搜索用户保存的信息。共享 config 类型将仅搜索共享 config,而系统 config 类型将仅搜索系统 config。“所有”类型将搜索用户 config,然后搜索共享 config,最后搜索系统 config,并运行第一个与请求匹配的查询。
参数: scalar configType:要在其中搜索查询的 config 条目。 有效的 Config 类型:这些类型在 Globals 类中定义。 $self->{ALL} // 用户、共享和系统。返回发现的第一项。 $self->{USER_PROFILE} // 单个用户概要文件数据。 $self->{SHARED_PROFILE} // 共享概要文件数据。 $self->{SYSTEM_CONFIG} // 系统 config 数据。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { my $globals = new ChangeSynergy::Globals(); $csapi->setUpConnection("http://your_hostname:port/your_context"); my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database"); #set the config type for the query. $csapi->setQueryConfigType($globals->{USER_PROFILE}); or $csapi->setQueryConfigType($globals->{SHARED_PROFILE}); or $csapi->setQueryConfigType($globals->{SYSTEM_CONFIG}); or $csapi->setQueryConfigType($globals->{ALL}); #set the config type for the report format. $csapi->setReportConfigType($globals->{USER_PROFILE}); or $csapi->setReportConfigType($globals->{SHARED_PROFILE}); or $csapi->setReportConfigType($globals->{SYSTEM_CONFIG}); or $csapi->setReportConfigType($globals->{ALL}); my $tmpstr = $csapi->ImmediateReportHtml($aUser, "Basic Summary", "Basic Summary Report"); };
if ($@) { print $@; }
在运行报告时,设置要使用的 config 类型。有四种 config 类型可供指定:用户、共享、系统和所有。用户 config 类型将仅搜索用户保存的信息。共享 config 类型将仅搜索共享 config,而系统 config 类型将仅搜索系统 config。“所有”类型将搜索用户 config,然后搜索共享 config,最后搜索系统 config,并运行第一个与请求匹配的报告。
参数: scalar configType:要在其中搜索报告的 config 条目。 有效的 Config 类型:这些类型在 Globals 类中定义。 $self->{ALL} // 用户、共享和系统。返回发现的第一项。 $self->{USER_PROFILE} // 单个用户概要文件数据。 $self->{SHARED_PROFILE} // 共享概要文件数据。 $self->{SYSTEM_CONFIG} // 系统 config 数据。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { my $globals = new ChangeSynergy::Globals(); $csapi->setUpConnection("http://your_hostname:port/your_context"); my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database"); #set the config type for the report. $csapi->setReportConfigType($globals->{USER_PROFILE}); or $csapi->setReportConfigType($globals->{SHARED_PROFILE}); or $csapi->setReportConfigType($globals->{SYSTEM_CONFIG}); or $csapi->setReportConfigType($globals->{ALL}); my $tmpstr = $csapi->ImmediateReportHtml($aUser, "Basic Summary", "Basic Summary Report"); };
if ($@) { print $@; }
设置用于调用 API 函数的连接信息。
参数: scalar URL:应用程序的 URL
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context"); };
if ($@) { print $@; }
以 HTML Web 页面形式显示变更请求的详细信息。IBM Rational Change 服务器将确定要使用的模板。返回结果是 apiData 类的实例。
注:返回值是完整的 HTML 页面。<HTML>...</HTML> 可以将返回值另存为 .html 文件,或者装入 浏览器窗口/控件。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar problemNumber:要引用的变更请求标识/问题号标识。 scalar relationName :有效的 IBM Rational Synergy/IBM Rational Change 关系名称。 scalar isModifiable :["true"|"false"] 中任一项的字符串表示法。
返回:apiData html 页面形式的完整显示表单。
示例: my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmpstr = $csapi->ShowCRHtml($aUser, "1347", "child_cr", "true"); };
if ($@) { print $@; }
以 HTML Web 页面形式显示变更请求的详细信息。IBM Rational Change 服务器将使用提供的模板名称。返回结果是 apiData 类的实例。
注:返回值是完整的 HTML 页面。<HTML>...</HTML> 可以将返回值另存为 .html 文件,或者装入 浏览器窗口/控件。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar problemNumber:要引用的变更请求标识/问题号标识。 scalar templateName :要装入的 IBM Rational Change 模板的名称 ([CCM_TEMPLATE][NAME]template name[/NAME]...[/CCM_TEMPLATE])。 scalar relationName :有效的 IBM Rational Synergy/IBM Rational Change 关系名称。 scalar isModifiable :["true"|"false"] 中任一项的字符串表示法。
返回:apiData html 页面形式的完整显示表单。
示例: my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmpstr = $csapi->ShowCRHtml($aUser, "1347", "CRDetail", undef, undef); };
if ($@) { print $@; }
以 HTML Web 页面形式显示变更请求的详细信息。IBM Rational Change 服务器将确定要使用的模板。返回结果是 apiData 类的实例。
注:返回值是完整的 URL 地址 可以将返回值另存为链接,或者装入 浏览器窗口/控件。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar problemNumber:要引用的变更请求标识/问题号标识。 scalar relationName :有效的 IBM Rational Synergy/IBM Rational Change 关系名称。 scalar isModifiable :["true"|"false"] 中任一项的字符串表示法。
返回:apiData html 页面形式的完整显示表单。
示例: my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmpstr = $csapi->ShowCRUrl($aUser, "1347", "child_cr", "true"); };
if ($@) { print $@; }
以 HTML Web 页面形式显示变更请求的详细信息。IBM Rational Change 服务器将使用提供的模板名称。返回结果是 apiData 类的实例。
注:返回值是完整的 URL 地址。 可以将返回值另存为链接,或者装入 浏览器窗口/控件。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar problemNumber:要引用的变更请求标识/问题号标识。 scalar templateName :要装入的 IBM Rational Change 模板的名称 ([CCM_TEMPLATE][NAME]template name[/NAME]...[/CCM_TEMPLATE])。 scalar relationName :有效的 IBM Rational Synergy/IBM Rational Change 关系名称。 scalar isModifiable :["true"|"false"] 中任一项的字符串表示法。
返回:apiData URL 地址形式的显示表单。
示例: my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmpstr = $csapi->ShowCRUrl($aUser, "1347", "CRDetail", undef, undef); };
if ($@) { print $@; }
以 HTML Web 页面形式显示任务的详细信息。IBM Rational Change 服务器将根据任务的当前状态值确定要使用的模板。 返回结果是 apiData 类的实例。
注:返回值是完整的 HTML 页面。<HTML>...</HTML> 可以将返回值另存为 .html 文件,或者装入 浏览器窗口/控件。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar taskNumber :要引用的任务标识。 scalar relationName:有效的 IBM Rational Synergy/IBM Rational Change 关系名称。 scalar isModifiable:["true"|"false"] 中任一项的字符串表示法。
返回:apiData HTML 页面形式的显示任务详细信息页面。 示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmpstr = $csapi->ShowTaskHtml($aUser, "1", undef, undef); };
if ($@) { print $@; }
以 HTML Web 页面形式显示任务的详细信息。IBM Rational Change 服务器将使用提供的模板名称。返回结果是 apiData 类的实例。
注:返回值是完整的 HTML 页面。<HTML>...</HTML> 可以将返回值另存为 .html 文件,或者装入 浏览器窗口/控件。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar taskNumber :要引用的任务标识。 scalar templateName:要装入的 IBM Rational Change 模板的名称 ([CCM_TEMPLATE][NAME]template name[/NAME]...[/CCM_TEMPLATE])。 scalar relationName:有效的 IBM Rational Synergy/IBM Rational Change 关系名称。 scalar isModifiable:["true"|"false"] 中任一项的字符串表示法。
返回:apiData HTML 页面形式的显示任务详细信息页面。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmpstr = $csapi->ShowTaskHtml($aUser, "1", "TaskDetails", undef, undef); };
if ($@) { print $@; }
以 HTML Web 页面形式显示任务的详细信息。IBM Rational Change 服务器将根据任务的当前状态值确定要使用的模板。 返回结果是 apiData 类的实例。
注:返回值是完整的 URL 地址。 可以将返回值另存为链接,或者装入 浏览器窗口/控件。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar taskNumber :要引用的任务标识。 scalar relationName:有效的 IBM Rational Synergy/IBM Rational Change 关系名称。 scalar isModifiable:["true"|"false"] 中任一项的字符串表示法。
返回:apiData 指向显示任务详细信息页面的 URL。 示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmpstr = $csapi->ShowTaskUrl($aUser, "1", undef, undef); };
if ($@) { print $@; }
以 HTML Web 页面形式显示任务的详细信息。IBM Rational Change 服务器将使用提供的模板名称。返回结果是 apiData 类的实例。
注:返回值是完整的 URL 地址。 可以将返回值另存为链接,或者装入 浏览器窗口/控件。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar taskNumber :要引用的任务标识。 scalar templateName:要装入的 IBM Rational Change 模板的名称 ([CCM_TEMPLATE][NAME]template name[/NAME]...[/CCM_TEMPLATE])。 scalar relationName:有效的 IBM Rational Synergy/IBM Rational Change 关系名称。 scalar isModifiable:["true"|"false"] 中任一项的字符串表示法。
返回:apiData 指向显示任务详细信息页面的 URL。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmpstr = $csapi->ShowTaskUrl($aUser, "1", "TaskDetails", undef, undef); };
if ($@) { print $@; }
在 IBM Rational Change 服务器上重新启动服务器访问。
这是低级别 API,通常不需要显式调用。 需要阻止服务器访问(如更新配置数据或管理会话池)的操作在内部已经实施了阻止。但是,您可以出于其他原因(如正在进行数据库维护时)使用这些 API 来阻止服务器访问。
根据堆栈模型的 StartServerAccess 和 StopServerAccess 函数:每个 StopServerAccess 调用应该对应一个 StartServerAccess 调用。 例如,如果在行中调用了两次 StopServerAccess,那么也必须相应调用 StartServerAccess 两次才能复原服务器访问。
返回结果是 apiData 类的实例。
参数: apiUser aUser:当前 api 用户的登录数据。
返回:apiData 来自服务器的返回消息。 示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "Admin", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmpstr = $csapi->StartServerAccess($aUser); };
if ($@) { print $@; }
在 IBM Rational Change 服务器上停止服务器访问。
这是低级别 API,通常不需要显式调用。 需要阻止服务器访问(如更新配置数据或管理会话池)的操作在内部已经实施了阻止。但是,您可以出于其他原因(如正在进行数据库维护时)使用这些 API 来阻止服务器访问。
根据堆栈模型的 StartServerAccess 和 StopServerAccess 函数:每个 StopServerAccess 调用应该对应一个 StartServerAccess 调用。 例如,如果在行中调用了两次 StopServerAccess,那么也必须相应调用 StartServerAccess 两次才能复原服务器访问。
返回结果是 apiData 类的实例。
参数: apiUser aUser:当前 api 用户的登录数据。
返回:apiData 来自服务器的返回消息。 示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "Admin", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmpstr = $csapi->StopServerAccess($aUser); };
if ($@) { print $@; }
应用已修改的变更请求数据。只会将标记为已修改的数据对象提交至 IBM Rational Change 服务器。 不应变更属性 problem_number、modify_time 和 cvid。api 类将在需要时自动处理这些属性。返回结果是 apiData 类的实例。
注:apiObjectData 的成员方法 setValue("") 将在被调用时自动设置已修改的标志。
参数: apiUser aUser:当前 api 用户的登录数据。 apiObjectVector data :要由 api 函数处理的数据。 返回:apiData 仅当提交成功时,才会返回结果 示例:
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmp = $csapi->SubmitCRData($aUser, "START_HERE2entered");
my $i; my $j = $tmp->getDataSize();
for($i=0;$i<$j;$i++) { if($tmp->getDataObject($i)->getRequired()) { $tmp->getDataObject($i)->setValue("I must supply a value here to successfully complete a submit..."); } }
$tmp->getDataObjectByName("problem_synopsis")->setValue("I submitted this through the csapi"); $tmp->getDataObjectByName("problem_description")->setValue("Yes, isn't this great!!!!"); $tmp->getDataObjectByName("severity")->setValue("Showstopper"); $tmp->getDataObjectByName("product_name")->setValue("Product A"); $tmp->getDataObjectByName("submitter")->setValue("u00001"); $tmp->getDataObjectByName("request_type")->setValue("Defect");
$tmp->getDataObjectByName("crstatus")->setValue($tmp->getTransitionLink(0)->getToState()); my $tmpstr = $csapi->SubmitCR($aUser, $tmp); };
if ($@) { print $@; }
应用已修改的变更请求数据。只会将标记为已修改的数据对象提交至 IBM Rational Change 服务器。 不应变更属性 problem_number、modify_time 和 cvid。api 类将在需要时自动处理这些属性。返回结果是 apiData 类的实例。
注:apiObjectData 的成员方法 setValue("") 将在被调用时自动设置已修改的标志。
参数: apiUser aUser :当前 api 用户的登录数据。 apiObjectVector data :要由 api 函数处理的数据。 scalar relationName :有效的 IBM Rational Synergy/IBM Rational Change 关系名称。 scalar problemNumber:要引用的变更请求标识/问题号标识。 返回:apiData 仅当提交和关联成功时,才会返回结果 示例 1: my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmp = $csapi->SubmitCRData($aUser, "START_HERE2entered");
my $i; my $j = $tmp->getDataSize();
for($i=0;$i<$j;$i++) { if($tmp->getDataObject($i)->getRequired()) { $tmp->getDataObject($i)->setValue("I must supply a value here to successfully complete a submit..."); } }
$tmp->getDataObjectByName("problem_synopsis")->setValue("I submitted this through the csapi"); $tmp->getDataObjectByName("problem_description")->setValue("Yes, isn't this great!!!!"); $tmp->getDataObjectByName("severity")->setValue("Showstopper"); $tmp->getDataObjectByName("product_name")->setValue("Product A"); $tmp->getDataObjectByName("submitter")->setValue($aUser->getUserName()); $tmp->getDataObjectByName("request_type")->setValue("Defect");
$tmp->getDatagetDataObjectByNameObject("crstatus")->setValue($tmp->getTransitionLink(0)->getToState()); $tmpstr = $csapi->SubmitCRAssocCR($aUser, $tmp, "child_cr", "1347"); };
if ($@) { print $@; }
示例 2: my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmp = $csapi->CopyCRData($aUser, "1347", "COPY_child_cr2new_child");
my $i; my $j = $tmp->getDataSize();
for($i=0;$i<$j;$i++) { if($tmp->getDataObject($i)->getRequired()) { $tmp->getDataObject($i)->setValue("I must supply a value here to successfully complete a submit..."); }
if($tmp->getDataObject($i)->getInherited()) { $tmp->getDataObject($i)->setIsModified(TRUE); } }
$tmp->getDataObjectByName("problem_synopsis")->setValue("I submitted this through the csapi"); $tmp->getDataObjectByName("problem_description")->setValue("Yes, isn't this great!!!!"); $tmp->getDataObjectByName("severity")->setValue("Showstopper"); $tmp->getDataObjectByName("product_name")->setValue("Product A"); $tmp->getDataObjectByName("submitter")->setValue("u00001"); $tmp->getDataObjectByName("request_type")->setValue("Defect");
$tmp->getDataObject("crstatus")->setValue($tmp->getTransitionLink(0)->getToState()); my $tmpstr = $csapi->SubmitCRAssocCR($aUser, $tmp, $tmp->getTransitionLink(0)->getRelation(), "1347"); };
if ($@) { print $@; }
将变更请求提交的需求装入数据类中,可以在其中修改新变更请求的详细信息。然后,可以使用某个修改 api 函数提交已修改的数据类以更改变更请求。 返回结果是 apiObjectVector 类的实例。 注:提交“结束状态”随该 api 函数调用提供。 请参阅 apiTransitions 类描述。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar templateName:要装入的 IBM Rational Change 模板的名称 ([CCM_TEMPLATE][NAME]template name[/NAME]...[/CCM_TEMPLATE])。
返回:apiObjectVector 数据格式的 CR 提交需求。 示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmp = $csapi->SubmitCRData($aUser, "START_HERE2entered");
my $tmpstr = $tmp->getXmlData(); };
if ($@) { print $@; }
以 HTML Web 页面形式装入针对提交变更请求的需求。 返回结果是 apiData 类的实例。
注:返回值是完整的 HTML 页面。<HTML>...</HTML> 可以将返回值另存为 .html 文件,或者装入 浏览器窗口/控件。 参数: apiUser aUser :当前 api 用户的登录数据。 scalar templateName :要装入的 IBM Rational Change 模板的名称 ([CCM_TEMPLATE][NAME]template name[/NAME]...[/CCM_TEMPLATE])。 scalar problemNumber:要引用的变更请求标识/问题号标识。 scalar relationName :有效的 IBM Rational Synergy/IBM Rational Change 关系名称。 scalar externalData :要传递至某个提交请求的 XML 数据的字符串。 外部数据 XML 的格式: <EXTERNAL_CONTEXT_DATA> <ATTRIBUTE NAME="attribute_name">your value</ATTRIBUTE> <ATTRIBUTE NAME="attribute_name">your value</ATTRIBUTE> <ATTRIBUTE NAME="attribute_name">your value</ATTRIBUTE> . . . </EXTERNAL_CONTEXT_DATA> 返回:apiData html 页面形式的所请求提交 CR 页面。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmpstr = $csapi->SubmitCRHtml($aUser, "CRSubmit", undef, undef, undef); };
if ($@) { print $@; }
以 HTML Web 页面形式装入针对提交变更请求的需求。 返回结果是 apiData 类的实例。
注:返回值是完整的 URL 地址。 可以将返回值另存为链接,或者装入 浏览器窗口/控件。 参数: apiUser aUser :当前 api 用户的登录数据。 scalar templateName :要装入的 IBM Rational Change 模板的名称 ([CCM_TEMPLATE][NAME]template name[/NAME]...[/CCM_TEMPLATE])。 scalar problemNumber:要引用的变更请求标识/问题号标识。 scalar relationName :有效的 IBM Rational Synergy/IBM Rational Change 关系名称。 scalar externalData :要传递至某个提交请求的 XML 数据的字符串。 外部数据 XML 的格式: <EXTERNAL_CONTEXT_DATA> <ATTRIBUTE NAME="attribute_name">your value</ATTRIBUTE> <ATTRIBUTE NAME="attribute_name">your value</ATTRIBUTE> <ATTRIBUTE NAME="attribute_name">your value</ATTRIBUTE> . . . </EXTERNAL_CONTEXT_DATA> 返回:apiData html 页面形式的所请求提交 CR 页面。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmpstr = $csapi->SubmitCRUrl($aUser, "CRSubmit", undef, undef, undef); };
if ($@) { print $@; }
应用已修改的任务数据。只会将标记为已修改的数据对象提交至 IBM Rational Change 服务器。 不应变更属性 task_number、modify_time 和 cvid。api 类将在需要时自动处理这些属性。返回结果是 apiData 类的实例。
注:apiObjectData 的成员方法 setValue("") 将在被调用时自动设置已修改的标志。
参数: apiUser aUser:当前 api 用户的登录数据。 apiObjectVector data :要由 api 函数处理的数据。
返回:apiData 仅当提交成功时,才会返回结果
示例 1:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmp = $csapi->SubmitTaskData($aUser, "TaskCreate"); my $i; my $j = $tmp->getDataSize();
for($i=0;$i<$j;$i++) { if($tmp->getDataObject($i)->getRequired()) { $tmp->getDataObject($i)->setValue("I must supply a value here to successfully complete a submit..."); } }
$tmp->getDataObjectByName("task_synopsis")->setValue("I modified the synopsis through the csapi..."); $tmp->getDataObjectByName("task_description")->setValue("I modified the description through the csapi..."); $tmp->getDataObjectByName("priority")->setValue("high"); $tmp->getDataObjectByName("resolver")->setValue($aUser->getUserName());
my $tmpstr = $csapi->SubmitTask($aUser, $tmp); };
if ($@) { print $@; }
示例 2:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmp = $csapi->CopyTaskData($aUser, "12", "CreateTask"); my $i; my $j = $tmp->getDataSize();
for($i=0;$i<$j;$i++) { if($tmp->getDataObject($i)->getRequired()) { if($tmp->getDataObject($i)->getValue() == NULL) $tmp->getDataObject($i)->setValue("I must supply a value here to successfully complete a submit..."); } }
$tmp->getDataObjectByName("task_synopsis")->setValue("I modified the synopsis through the csapi..."); $tmp->getDataObjectByName("task_description")->setValue("I modified the description through the csapi..."); $tmp->getDataObjectByName("priority")->setValue("high"); $tmp->getDataObjectByName("resolver")->setValue($aUser->getUserName());
my $tmpstr = $csapi->SubmitTask($aUser, $tmp); };
if ($@) { print $@; }
应用已修改的任务数据。只会将标记为已修改的数据对象提交至 IBM Rational Change 服务器。 不应变更属性 task_number、modify_time 和 cvid。api 类将在需要时自动处理这些属性。返回结果是 apiData 类的实例。
注:apiObjectData 的成员方法 setValue("") 将在被调用时自动设置已修改的标志。
参数: apiUser aUser :当前 api 用户的登录数据。 apiObjectVector data :要由 api 函数处理的数据。 scalar relationName :有效的 IBM Rational Synergy/IBM Rational Change 关系名称。 scalar problemNumber:要引用的变更请求标识/问题号标识。
返回:apiData 仅当提交和关联成功时,才会返回结果
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmp = $csapi->SubmitTaskData($aUser, "TaskCreate"); my $i; my $j = $tmp->getDataSize();
for($i=0;$i<$j;$i++) { if($tmp->getDataObject($i)->getRequired()) { $tmp->getDataObject($i)->setValue("I must supply a value here to successfully complete a submit..."); } }
$tmp->getDataObjectByName("task_synopsis")->setValue("I modified the synopsis through the csapi..."); $tmp->getDataObjectByName("task_description")->setValue("I modified the description through the csapi..."); $tmp->getDataObjectByName("priority")->setValue("high"); $tmp->getDataObjectByName("resolver")->setValue($aUser->getUserName());
my $tmpstr = $csapi->SubmitTaskAssocCR($aUser, $tmp, "associated_task", "1355"); };
if ($@) { print $@; }
将任务提交的需求装入数据类中,可以在其中修改新任务的详细信息。然后,可以使用某个修改 api 函数提交已修改的数据类以更改任务。 返回结果是 apiObjectVector 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar templateName:要装入的 IBM Rational Change 模板的名称 ([CCM_TEMPLATE][NAME]template name[/NAME]...[/CCM_TEMPLATE])。
返回:apiObjectVector 数据格式的任务提交需求。
示例: my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmp = $csapi->SubmitTaskData($aUser, "TaskCreate");
my $tmpstr = $tmp->getXmlData(); };
if ($@) { print $@; }
以 HTML Web 页面形式装入针对提交任务的需求。 返回结果是 apiData 类的实例。
注:返回值是完整的 HTML 页面。<HTML>...</HTML> 可以将返回值另存为 .html 文件,或者装入 浏览器窗口/控件。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar templateName:要装入的 IBM Rational Change 模板的名称 ([CCM_TEMPLATE][NAME]template name[/NAME]...[/CCM_TEMPLATE])。
返回:apiData html 页面形式的所请求提交任务页面。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmpstr = $csapi->SubmitTaskHtml($aUser, "TaskCreate"); };
if ($@) { print $@; }
以 HTML Web 页面形式装入针对提交任务的需求。 返回结果是 apiData 类的实例。
注:返回值是完整的 URL 地址。 可以将返回值另存为链接,或者装入 浏览器窗口/控件。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar templateName:要装入的 IBM Rational Change 模板的名称 ([CCM_TEMPLATE][NAME]template name[/NAME]...[/CCM_TEMPLATE])。
返回:apiData 提交任务页面的 URL。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmpstr = $csapi->SubmitTaskUrl($aUser, "TaskCreate"); };
if ($@) { print $@; }
允许本地管理员用户切换为任意用户。 返回结果是 apiUser 类的实例。
参数: apiUser localAdminUser:本地管理员用户的登录数据。 scalar targetUserName :目标用户的名称。 scalar targetRole :目标用户的角色。(现在,Web 客户机使用术语“interface”来代替“role”的这一用法。) scalar targetDatabase :针对用户的 IBM Rational Synergy 数据库路径。
返回:apiUser 包含指定信息的 apiUser 类的新实例。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $localAdminUser = $csapi->Login("admin", "localAdminPassword", "Admin", "\\\\your_hostname\\ccmdb\\cm_database"); my $aTargetUser = $csapi->SwitchUser($localAdminUser, "u00002", "User", "\\\\your_hostname\\ccmdb\\cm_database"); };
if ($@) { print $@; }
在中央服务器方式下,等待中央服务器将所有 CR 同步到特定数据库中。由于会自动将中央 CR 同步到所有其他数据库,因此从不需要此调用,但这允许您等待所有暂挂的更新完成。
例如,如果脚本快速修改大量 CR,那么可能需要一段时间来同步这些更改。如果脚本中的后续操作取决于正在与中央数据库同步的特定数据库,那么脚本可以调用此函数以等待所有这些更改都同步。 达到最新状态之后,该调用函数将返回,而脚本则可以继续。 将忽略该函数调用(即使正在等待)之后进行的更改。
如果数据库处于联机状态,但在一段时间内未同步任何 CR,那么将超时。 参数:
apiUser user:当前 API 用户的登录数据。 scalar database:要同步和等待的数据库。必须处于联机状态。 返回: 不返回任何值。同步完成后,静默返回。如果没有任何更新 处于暂挂状态,将立即返回。
构造任务的由四个部分组成的名称。不会检查任务是否实际存在;这只会构造由四个部分组成的名称。 参数:
apiUser aUser:当前 api 用户的登录数据。 scalar taskNumber:任务号。 返回:标量 由四个部分组成的名称。
在 IBM Rational Change 服务器上切换调试标志。 返回结果是 apiData 类的实例。
参数: apiUser aUser:当前 api 用户的登录数据。 scalar enable:“true”表示启用调试,“false”表示禁用调试, 该参数是可选参数,如果未指定,那么会将调试切换至 当前设置的相反设置,例如,从开到关,或从关到开。
返回:apiData 来自服务器的返回消息。 示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "Admin", "\\\\your_hostname\\ccmdb\\cm_database");
my $debugString = $csapi->ToggleDebug($aUser); or my $debugString = $csapi->ToggleDebug($aUser, "true"); or my $debugString = $csapi->ToggleDebug($aUser, "false"); print $debugString->getResponseData() . "\n"; };
if ($@) { print $@; }
应用已修改的变更请求数据。只会将标记为已修改的数据对象提交至 IBM Rational Change 服务器。 不应变更属性 problem_number、modify_time 和 cvid。api 类将在需要时自动处理这些属性。返回结果是 apiData 类的实例。 注:apiObjectData 的成员方法 setValue("") 将在被调用时自动设置已修改的标志。
参数: apiUser aUser:当前 api 用户的登录数据。 apiObjectVector data :要由 api 函数处理的数据。
返回:apiData 仅当转换成功时,才会返回结果 示例: my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmp1 = $csapi->AttributeModifyCRData($aUser, "100", "crstatus"); or my $tmp1 = $csapi->AttributeModifyCRData($aUser, "100"); or my $tmp1 = $csapi->ModifyCRData($aUser, "100", "CRDetail"); or my $tmp1 = $csapi->GetCRData($aUser, "100", "problem_synopsis|problem_description|keyword"); my $tmp2 = $csapi->TransitionCRData($aUser, "100", $tmp1->getTransitionLink(1)->getTransition());
$tmp2->getDataObjectByName("problem_synopsis")->setValue("I modified the synopsis through the csapi..."); $tmp2->getDataObjectByName("problem_description")->setValue("I modified the description through the csapi..."); $tmp2->getDataObjectByName("keyword")->setValue("csapi");
$tmp2->getDataObjectByName("crstatus")->setValue($tmp1->getTransitionLink(1)->getToState());
my $tmpstr = $csapi->TransitionCR($aUser, $tmp2); };
if ($@) { print $@; }
将变更请求的详细信息装入数据类中,可以在其中修改变更请求的详细信息。然后,可以使用某个修改 api 函数提交已修改的数据类以更改变更请求。 返回结果是 apiObjectVector 类的实例。
注:转换的“起始状态”和“结束状态”随该 api 函数调用提供。 请参阅 apiTransitions 类描述。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar problemNumber:要引用的变更请求标识/问题号标识。 scalar templateName :要装入的 IBM Rational Change 模板的名称 ([CCM_TEMPLATE][NAME]template name[/NAME]...[/CCM_TEMPLATE])。
返回:apiObjectVector 数据格式的变更请求详细信息。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmp = $csapi->TransitionCRData($aUser, "100", "assigned2resolved");
my $tmpstr = $tmp->getXmlData(); };
if ($@) { print $@; }
应用已修改的任务数据。只会将标记为已修改的数据对象提交至 IBM Rational Change 服务器。 不应变更属性 task_number、modify_time 和 cvid。api 类将在需要时自动处理这些属性。
注:apiObjectData 的成员方法 setValue("") 将在被调用时自动设置已修改的标志。
参数: apiUser aUser:当前 api 用户的登录数据。 apiObjectVector data :要由 api 函数处理的数据。
返回:apiData 仅当转换成功时,才会返回结果
示例: my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmp = $csapi->ModifyTaskData($aUser, "10", "TaskDetails"); or my $tmp = $csapi->GetTaskData($aUser, "10", "task_synopsis|task_description|priority"); or my $tmp = $csapi->TransitionTaskData($aUser, "10", "TaskDetails"); $tmp->getDataObjectByName("task_synopsis")->setValue("I modified the synopsis through the csapi..."); $tmp->getDataObjectByName("task_description")->setValue("I modified the description through the csapi..."); $tmp->getDataObjectByName("priority")->setValue("high");
$tmp->getDataObjectByName("status")->setValue("completed");
my $tmpstr = $csapi->TransitionTask($aUser, $tmp); };
if ($@) { print $@; }
将任务的详细信息装入数据类中,可以在其中修改任务的详细信息。然后,可以使用某个修改 api 函数提交已修改的数据类以更改任务。 返回结果是 apiObjectVector 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar taskNumber :要引用的任务标识。 scalar templateName:要装入的 IBM Rational Change 模板的名称 ([CCM_TEMPLATE][NAME]template name[/NAME]...[/CCM_TEMPLATE])。
返回:apiObjectVector 数据格式的任务详细信息。
示例: my $csapi = new ChangeSynergy::csapi(); eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmp = $csapi->TransitionTaskData($aUser, "4", "TaskDetails");
my $tmpstr = $tmp->getXmlData(); };
if ($@) { print $@; }
卸载 IBM Rational Change 包。返回结果是 apiData 类的实例。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar packageName :要卸载的包的名称。
返回:apiData 仅当包卸载成功时,才会返回结果。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "Admin", "\\\\your_hostname\\ccmdb\\cm_database"); my $results = $csapi->UninstallAPackage($aUser, "dev_process"); print $results->getResponseData(); };
if ($@) { print $@; }
根据需要更新搜索索引,而不是等待下一个安排的时间间隔。 如果已禁用索引,那么这也可以起到隐式启用索引的效果(请参阅“EnableIndexing”和“DisableIndexing”)。
参数: apiUser aUser:当前 api 用户的登录数据。
返回:apiData 来自服务器的返回消息。 示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "Admin", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmpstr = $csapi->UpdateIndex($aUser); };
if ($@) { print $@; }
验证是否可以获取该许可证。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar licenseString:要验证的许可证标识。 返回:标量 true 或 false
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "Admin", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmp = $csapi->ValidateLicense($aUser, "pt"); };
if ($@) { print $@; }
在指定的 CCM_E_SIGNATURE 属性上验证变更请求的电子签名。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar problemNumber:要验证的问题号。 scalar attributeName:电子签名属性名称。 返回:标量 true 或 false
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "User", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmp = $csapi->VerifySignatures($aUser, "1", "myEig"); };
if ($@) { print $@; }
将项目安全性定义(包括角色和全局分配)从 RDS 导出到 LDIF 文件:CHANGE_APP_HOME/WEB-INF/wsconfig/tmpdir/import_<current date and time>.ldif。 可通过 API ImportProjectSecurityData 导入此文件。 只有 Rational Change 管理员用户才能使用该 API。
参数: apiUser aUser :当前 api 用户的登录数据。 返回:apiData 有关导出成功还是失败的消息。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "Admin", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmpstr = $csapi->ExportProjectSecurityData($aUser); print $tmpstr->getResponseData() . "\n"; };
if ($@) { print $@; }
将数据从通过 ExportProjectSecurityData 创建的 LDIF 文件导入到与 Rational Change 连接的 RDS。该文件必须位于 CHANGE_APP_HOME/WEB-INF/wsconfig/tmpdir 中。 只有 Rational Change 管理员用户才能使用该 API。
参数: apiUser aUser :当前 api 用户的登录数据。 scalar importFileName:要导入的 LDIF 文件的名称。 scalar isUpdate:“true”表示将数据更新/添加到 RDS, “false”表示只将新数据添加到 RDS,而不更新现有数据。 返回:apiData 有关导入成功还是失败的消息。
示例:
my $csapi = new ChangeSynergy::csapi();
eval { $csapi->setUpConnection("http://your_hostname:port/your_context");
my $aUser = $csapi->Login("u00001", "u00001", "Admin", "\\\\your_hostname\\ccmdb\\cm_database");
my $tmpstr = $csapi->ImportProjectSecurityData($aUser, "import_12_07_2010_12_41_12.ldif", true); print $tmpstr->getResponseData() . "\n"; };
if ($@) { print $@; }