1

我正在尝试使用“VersionOne.SDK.Java.APIClient 13.0.1”jar 创建一个缺陷。

        Oid projectId = services.getOid(scopeId);
        IAssetType assetType = this.metaModel.getAssetType("Defect");
        Asset newAsset = services.createNew(assetType, projectId);

        IAttributeDefinition nameAttribute = assetType.getAttributeDefinition("Name");
        IAttributeDefinition Custom_FailureType = assetType.getAttributeDefinition("Custom_FailureType.Name");
        IAttributeDefinition defectStatus=assetType.getAttributeDefinition("Status.Name");
        IAttributeDefinition defectSeverity=assetType.getAttributeDefinition("Type.Name");
        IAttributeDefinition defectSource=assetType.getAttributeDefinition("Source.Name");
        IAttributeDefinition defectVersion=assetType.getAttributeDefinition("VersionAffected");

        //newAsset.addAttributeValue(Custom_FailureType, "My New Defect");
        newAsset.setAttributeValue(nameAttribute, "My New Defect");
        newAsset.setAttributeValue(Custom_FailureType, "Functional Failure");
        newAsset.setAttributeValue(defectStatus, "Done");
        newAsset.setAttributeValue(defectSeverity, "Minor");
        newAsset.setAttributeValue(defectSource, "sales");
        newAsset.setAttributeValue(defectVersion, "1.2.3");

        services.save(newAsset);

        System.out.println(newAsset.getOid().getToken());
        System.out.println(newAsset.getAttribute(nameAttribute).getValue());

但出现以下错误:

“无法为只读属性分配新值:Defect.Custom_FailureType.Name”

Custom_FailureType 字段是必需的,因此如果不为 Custom_FailureType 分配值,我就无法创建缺陷。

你能告诉我我们如何制造缺陷吗?

4

1 回答 1

1

SDK 版本 13 不支持此功能。请下载版本 15:

https://community.versionone.com/Developers/Developer-Library/Documentation/Java_SDK

于 2015-10-27T18:46:27.767 回答