It's all about the answers!

Ask a question

RQMCopyUtility fails with 'Disallow Saving of Test Plans with State Approved or Retired'


jeff mccallum (302812) | asked Jun 14 '13, 12:23 a.m.
retagged Jun 14 '13, 9:06 a.m. by Max Bridges (24126)
Hi Team,
Transferring all test plans from one project to another I notice that all Test plans in Approved state are not being copied.
Please let me know how to get around this issue.

Jun 13, 2013 9:09:10 PM com.ibm.rqm.ct.util.Logger logError
SEVERE: RestException executing: PUT, RC: 403, message: <?xml version="1.0" encoding="UTF-8" standalone="yes"?><ns2:Error xmlns:ns10="http://jazz.net/xmlns/alm/qm/qmadapter/task/v0.1" 

<ns2:statusCode>403</ns2:statusCode><ns2:message>'Save Test Plan' Failed.
&lt;strong&gt;Disallow Saving of Test Plans with State Approved or Retired&lt;/strong&gt; - &lt;em&gt;Precondition not met: Modifications to Approved or Closed artifacts are not allowed. This artifact is in an Approved state&lt;/em&gt;
</ns2:message><ns2:trace>com.ibm.team.repository.common.TeamRepositoryException: 'Save Test Plan' Failed.
&lt;strong&gt;Disallow Saving of Test Plans with State Approved or Retired&lt;/strong&gt; - &lt;em&gt;Precondition not met: Modifications to Approved or Closed artifacts are not allowed. This artifact is in an Approved state&lt;/em&gt;

        at com.ibm.rqm.planning.service.internal.rest.TestPlanRestService.postTestPlan(TestPlanRestService.java:536)
        at sun.reflect.GeneratedMethodAccessor3292.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
        at java.lang.reflect.Method.invoke(Method.java:611)
        at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:361)
        at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:347)
        at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56)
        at $Proxy1885.postTestPlan(Unknown Source)
        at com.ibm.rqm.oslc.service.internal.integration.handler.post.TestplanPostHandler$1.run(TestplanPostHandler.java:630)
        at com.ibm.team.repository.service.internal.PrimitiveTransactionService$3.run(PrimitiveTransactionService.java:176)
        at com.ibm.team.repository.service.internal.rdb.RepositoryDatabase.runTransaction(RepositoryDatabase.java:339)
        at com.ibm.team.repository.service.internal.rdb.RepositoryDatabase.runInTransaction(RepositoryDatabase.java:263)
        at com.ibm.team.repository.service.internal.PrimitiveTransactionService.runInTransaction(PrimitiveTransactionService.java:110)
        at com.ibm.team.repository.service.internal.PrimitiveTransactionService.runInTransaction(PrimitiveTransactionService.java:105)
        at sun.reflect.GeneratedMethodAccessor360.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
        at java.lang.reflect.Method.invoke(Method.java:611)
        at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:361)
        at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:347)
        at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56)
        at $Proxy95.runInTransaction(Unknown Source)
        at com.ibm.team.repository.service.internal.TransactionService.runInTransaction(TransactionService.java:37)
        at sun.reflect.GeneratedMethodAccessor359.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
        at java.lang.reflect.Method.invoke(Method.java:611)
        at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:361)
        at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:347)
        at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56)
        at $Proxy174.runInTransaction(Unknown Source)
        at com.ibm.rqm.oslc.service.internal.integration.handler.post.TestplanPostHandler.unmarshal(TestplanPostHandler.java:623)
        at com.ibm.rqm.oslc.service.internal.integration.handler.post.TestplanPostHandler.unmarshal(TestplanPostHandler.java:1)
        at com.ibm.rqm.integration.handler.AbstractPutHandler.handle(AbstractPutHandler.java:160)
        at com.ibm.rqm.integration.handler.AbstractPostHandler.handle(AbstractPostHandler.java:80)
        at sun.reflect.GeneratedMethodAccessor921.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
        at java.lang.reflect.Method.invoke(Method.java:611)
        at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:361)
        at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:347)
        at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56)
        at $Proxy23551.handle(Unknown Source)
        at com.ibm.rqm.integration.service.internal.IntegrationService$1.run(IntegrationService.java:532)
        at com.ibm.rqm.common.service.internal.BucketLockService$1.run(BucketLockService.java:67)
        at com.ibm.team.repository.service.internal.PrimitiveTransactionService$3.run(PrimitiveTransactionService.java:176)
        at com.ibm.team.repository.service.internal.rdb.RepositoryDatabase$Transaction.run(RepositoryDatabase.java:488)
        at com.ibm.team.repository.service.internal.rdb.RepositoryDatabase$1.run(RepositoryDatabase.java:312)
        at com.ibm.team.repository.service.internal.rdb.ConnectionPoolService.withCurrentConnection(ConnectionPoolService.java:381)
        at sun.reflect.GeneratedMethodAccessor68.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
        at java.lang.reflect.Method.invoke(Method.java:611)
        at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:361)
        at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:347)
        at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56)
        at $Proxy60.withCurrentConnection(Unknown Source)
        at com.ibm.team.repository.service.internal.rdb.RepositoryDatabase.runTransaction(RepositoryDatabase.java:308)
        at com.ibm.team.repository.service.internal.rdb.RepositoryDatabase.runInTransaction(RepositoryDatabase.java:263)
        at com.ibm.team.repository.service.internal.PrimitiveTransactionService.runInTransaction(PrimitiveTransactionService.java:110)
        at com.ibm.team.repository.service.internal.PrimitiveTransactionService.runInTransaction(PrimitiveTransactionService.java:105)
        at sun.reflect.GeneratedMethodAccessor360.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
        at java.lang.reflect.Method.invoke(Method.java:611)
        at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:361)
        at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:347)
        at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56)
        at $Proxy95.runInTransaction(Unknown Source)
        at com.ibm.team.repository.service.internal.TransactionService.runInTransaction(TransactionService.java:37)
        at sun.reflect.GeneratedMethodAccessor359.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
        at java.lang.reflect.Method.invoke(Method.java:611)
        at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:361)
        at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:347)
        at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56)
        at $Proxy174.runInTransaction(Unknown Source)
        at com.ibm.rqm.common.service.internal.BucketLockService.runInTransaction(BucketLockService.java:61)
        at com.ibm.rqm.common.service.internal.BucketLockService.runInTransactionS(BucketLockService.java:175)
        at sun.reflect.GeneratedMethodAccessor1842.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
        at java.lang.reflect.Method.invoke(Method.java:611)
        at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:361)
        at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:347)
        at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56)



Thanks.

Comments
jeff mccallum commented Jun 14 '13, 12:29 a.m.

This is also show in the trace:

Caused by: com.ibm.team.process.common.advice.TeamOperationCanceledException: 'Save Test Plan' failed. Preconditions have not been met: Modifications to Approved or Closed artifacts are not allowed. This artifact is in an Approved stateĀ 

2 answers



permanent link
Rajat Singh (59833544) | answered Jun 14 '13, 2:31 a.m.

Two things:

You may either remove the precondition on the test plan or
Change the state of the test plan back to draft.


permanent link
Bing Dong Ma (1962) | answered Jun 14 '13, 2:33 a.m.
JAZZ DEVELOPER
Hi Jeff,

This is controlled by the preconditions in process.  You could turn off it following http://pic.dhe.ibm.com/infocenter/clmhelp/v4r0m3/topic/com.ibm.rational.test.qm.doc/topics/t_allow_approved_artifact_save.html

Best Regards,

Bing Dong

Your answer


Register or to post your answer.