stepansib/alm-client

PHP的HP ALM/QC REST客户端

v0.5.4 2019-05-07 14:03 UTC

This package is auto-updated.

Last update: 2021-09-07 19:02:29 UTC


README

SensioLabs Insight Codacy branch Packagist Coveralls

通过REST API轻松与HP ALM交互。

安装

只需运行

composer require stepansib/alm-client

用法

设置ALM/QC连接

第一步是设置正确的连接凭据并实例化新的AlmClient对象

$almClient = new AlmClient(array(
    'host' => 'http://alm-qc-host:8080',
    'domain' => 'DOMAIN_NAME',
    'project' => 'PROJECT_NAME',
    'username' => 'johndoe',
    'password' => 'password123',
));

身份验证

您需要身份验证才能开始与ALM一起工作

$almClient = new AlmClient($connectionParams);
$almClient->getAuthenticator()->login();

// lets check if user authenticated successfully
echo $almClient->getAuthenticator()->isAuthenticated() ? "Authenticated" : "Not authenticated";

当您完成与ALM/QC的工作后,请使用注销方法

$almClient->getAuthenticator()->logout();

根据标准获取实体

所有实体都以AlmEntity对象的形式返回。您必须指定ALM/QC实体类型(缺陷、测试、运行等)以及用于过滤实体的标准数组

// you can get the array of entities
$defects = $almClient->getManager()->getBy(AlmEntityManager::ENTITY_TYPE_DEFECT, array(
    'id' => '>=100',
    'status' => 'Open',
    'owner' => 'johndoe',
));

// or get only first matching entity
$entity = $almClient->getManager()->getOneBy(AlmEntityManager::ENTITY_TYPE_DEFECT, array(
    'id' => '101'
));

您还可以通过指定水化类型以ALM/QC XML响应的形式获取实体

$defects = $almClient->getManager()->getBy(AlmEntityManager::ENTITY_TYPE_DEFECT, array(
    'owner' => 'johndoe',
), AlmEntityManager::HYDRATION_NONE);

// Lets output the XML returned by ALM/QC
echo $defects;

实体

实体字段值可以通过两种方式访问

// through getter method
$paramValue = $entity->getParameter('detected-by');

//or directly via magic getter method 
$paramValue = $entity->detected-by;

要创建新参数或更改现有参数,请使用setter方法

$entity->setParameter('description', 'my defect description');

要使用数组获取所有参数,请使用

$entityParameters = $entity->getParameters();

要获取和更改实体类型,请使用

$entityType = $entity->getType();
$entity->setType(AlmEntityManager::ENTITY_TYPE_RESOURCE); //This method also called in AlmEntity::__construct

创建新实体

要创建新实体,您必须实例化一个AlmEntity对象

$entity = new AlmEntity(AlmEntityManager::ENTITY_TYPE_DEFECT);

保存实体

要保存(持久化或更新)实体,请使用AlmEntityManager::save()方法

$almClient->getManager()->save($entity);

这将适用于新实体和现有实体。此方法返回保存的AlmEntity对象

完整工作流程示例

$entity = new AlmEntity(AlmEntityManager::ENTITY_TYPE_DEFECT);

// lets fill some entity fields
$entity->setParameter('name', 'REST API test defect ' . date('d/m/Y H:i:s'))
    ->setParameter('detected-by', 'johndoe')
    ->setParameter('owner', 'johndoe')
    ->setParameter('creation-time', date('Y-m-d'))
    ->setParameter('description', 'REST API test defect description');

// and finally save the new defect
$entity = $almClient->getManager()->save($entity);
echo 'New entity id: ' . $entity->id;

获取实体可用字段列表(以及可编辑字段列表)

待完成:完成此章节

获取可编辑字段列表

待完成:完成此章节

获取实体锁定状态

待完成:完成此章节