How do I manually copy Catalog from the source project area to the destination project area before using RQM Copy Utility
The following resources must be manually copied from the source project area to the destination project area before using RQM Copy Utility:
- Catalog (catalog) customizations (labresourceattribute).
- Categories.
-
Custom attributes.
I used the tool CopyProjectPropertiesUtility to copy the project properties from an existing source project area to a different destination project area on different RQM server before using RQM Copy Utility
java -jar CopyProjectPropertiesUtility.jar -ss=https://resrqm01.rtp.raleigh.ibm.com/jazz -su=<JAZZADMIN> -sp=<PASSWORD> -sa=SVT_GreenHat -ds=https://ritwin911.rtp.raleigh.ibm.com:9443/qm -du=<JAZZADMIN> -dp=<PASSWORD> -da=GreenHat3 -l=copyProjectPropertiesUtilities.log
Then I used the RQMCopyUtility tool
java -jar -Xmx12g RQMCopyUtility.jar -s="https://resrqm01.rtp.raleigh.ibm.com/jazz/service/com.ibm.rqm.integration.service.IIntegrationService/resources/SVT_GreenHat" -us=<admin_ID> -pws=xxxxxxx -d="https://ritwin911.rtp.raleigh.ibm.com:9443/qm/service/com.ibm.rqm.integration.service.IIntegrationService/resources/GreenHat3" -ud=admin -pwd=admin -l=importlog.txt -pl=progress.txt -f -a=testsuite,testcase,testscript,testplan,datapool,remotescript,keyword,template -i=attachment,builddefinition,buildrecord,configuration,channel,executionresult,executionsequence,executionsequenceresult,executionworkitem,labresource,objective,request,reservation,resourcegroup,suiteexecutionrecord,testcell,testphase,testsuitelog
The tool only copied 8 test plans out of 32 and 209 test cases out of 250. In the log I see many
<style type="text/css"> body { margin: 0 0 0 0; padding:0 0 0 0 } td,div { font-family:Arial;font-size:10pt;vertical-align:top } / Copyright IBM Corp. 2016 All Rights Reserved. / body { margin: 0 0 0 0; padding:0 0 0 0; overflow:hidden; background-color:#fafafa; } .grayBackground { background-color:#f6f6f6; } .transcript { background-color:#d2d2d2;} .messageBlock {padding-left:10px; padding-right:10px;padding-top:0} .expansion{height:10px;width:100%;overflow:hidden;} .expansionx{height:10px;overflow:hidden;} .line{height:1px;background-color:#cccccc;overflow:hidden;} .message { padding-left:0px; padding-right:65px;margin-left:0px; word-wrap:break-word; white-space:-moz-pre-wrap; _white-space:pre; white-space:pre-wrap; } .messageCont { padding-left:0px; margin-left:95px; word-wrap:break-word; white-space:-moz-pre-wrap; _white-space:pre;white-space:pre-wrap;} .other { font-size:11px;color:#1970b0;vertical-align:top;font-weight:bold;font-style:normal;float:left; width:95px; white-space:nowrap; padding-top:2px; } .myself { font-size:11px;color:#222222;font-style:normal;font-weight:bold;font-style:normal;float:left; width:95px; white-space:nowrap; padding-top:2px; } .otherCont { font-size:8px;text-align:right; color:#1970b0;font-family:Arial,Lucida Grande;font-style:normal;vertical-align:top;font-weight:bold;float:left; width:95px; } .myselfCont { font-size:8px;text-align:right; color:#222222;font-family:Arial,Lucida Grande;font-style:normal;vertical-align:top;font-weight:bold;float:left; width:95px; } .system { font-size:11px; word-wrap:break-word;color:#d13f08;font-style:normal;font-weight:normal; white-space:-moz-pre-wrap; _white-space:pre;white-space:pre-wrap; } .showTimestamp { padding-left:20px;font-size:11px; float:right; color:#999999;font-style:normal;font-weight:normal; } .other1 { font-size:11px; color:#ba006e;vertical-align:top;font-weight:bold;font-style:normal;float:left; width:95px; padding-top:2px; } .otherCont1 { font-size:8px;text-align:right; color:#ba006e;font-family:Arial,Lucida Grande;font-style:normal;vertical-align:top;font-weight:bold;float:left; width:95px; } .other2 { font-size:11px; color:#007670;vertical-align:top;font-weight:bold;font-style:normal;float:left; width:95px; padding-top:2px; } .otherCont2 { font-size:8px;text-align:right; color:#007670;font-family:Arial,Lucida Grande;font-style:normal;vertical-align:top;font-weight:bold;float:left; width:95px; } .other3 { font-size:11px; color:#3b0256;vertical-align:top;font-weight:bold;font-style:normal;float:left; width:95px; padding-top:2px; } .otherCont3 { font-size:8px;text-align:right; color:#3b0256;font-family:Arial,Lucida Grande;font-style:normal;vertical-align:top;font-weight:bold;float:left; width:95px; } .other4 { font-size:11px; color:#00512b;vertical-align:top;font-weight:bold;font-style:normal;float:left; width:95px; padding-top:2px; } .otherCont4 { font-size:8px;text-align:right; color:#00512b;font-family:Arial,Lucida Grande;font-style:normal;vertical-align:top;font-weight:bold;float:left; width:95px; } .other5 { font-size:11px; color:#a91024;vertical-align:top;font-weight:bold;font-style:normal;float:left; width:95px; padding-top:2px;} .otherCont5 { font-size:8px;text-align:right; color:#a91024;font-family:Arial,Lucida Grande;font-style:normal;vertical-align:top;font-weight:bold;float:left; width:95px; } .other6 { font-size:11px; color:#b8471b;vertical-align:top;font-weight:bold;font-style:normal;float:left; width:95px; padding-top:2px;} .otherCont6 { font-size:8px;text-align:right; color:#b8471b;font-family:Arial,Lucida Grande;font-style:normal;vertical-align:top;font-weight:bold;float:left; width:95px; } .other7 { font-size:11px; color:#7f1c7d;vertical-align:top;font-weight:bold;font-style:normal;float:left; width:95px; padding-top:2px;} .otherCont7 { font-size:8px;text-align:right; color:#7f1c7d;font-family:Arial,Lucida Grande;font-style:normal;vertical-align:top;font-weight:bold;float:left; width:95px; } .highlight { background-color:#bed6f8; } .datestamp { padding-right:0px; font-size:11px; cursor:default;padding-top:1px;padding-bottom:1px; background-color:#a7a7a7; width:100%; float:left; text-align:right; color:#333333; font-weight:bold; font-style:italic; } #chatAlert { float:left; border-bottom:1px solid #E8D091; padding:6px; width:100%; color:#A5754C; } #chatAlertImage { float:left; } #chatAlertText { float:left; margin-left:6px; margin-right:10px;} #chatAlertClose { float:right; margin-right:10px; padding-right:6px; margin-top:0px; } #chatAlertText a { color:#A5754C; } #chatAlertText a:hover { color:#A5754C; text-decoration:none; } .tsDisplay { display:block }.dsDisplay { display:none } </style>
SEVERE: RestException executing: PUT, RC: 400, message: {"errorClass":"java.lang.IllegalArgumentException","errorCode":400,"errorTraceMarshall": |
errorTraceMethodName
12 Apr 2017 11:43:50,748-0400 [main] ERROR com.ibm.rqm.ct.CopyUtil: RestException executing: PUT, RC: 400, message: {"errorClass":"java.lang.IllegalArgumentException","errorCode":400,"errorTraceMarshall":[{"errorTraceFileName":"Approvals.java","errorTraceClassName":"com.ibm.rqm.common.Approvals","errorTraceMethodName":"add","errorTraceLineNumber":118},{"errorTraceFileName":"ApprovalCommand.java","errorTraceClassName":"com.ibm.rqm.process.service.internal.rest.ApprovalCommand$CommandFactory$1$1","errorTraceMethodName":"modify","errorTraceLineNumber":108},{"errorTraceFileName":"ApprovalRestService.java","errorTraceClassName":"com.ibm.rqm.process.service.internal.rest.ApprovalRestService$1","errorTraceMethodName":"run","errorTraceLineNumber":535},{"errorTraceFileName":"OperationAdviceManager.java","errorTraceClassName":"com.ibm.team.process.internal.common.advice.runtime.OperationAdviceManager","errorTraceMethodName":"runOperation","errorTraceLineNumber":1393},{"errorTraceFileName":"OperationAdviceManager.java","errorTraceClassName":"com.ibm.team.process.internal.common.advice.runtime.OperationAdviceManager","errorTraceMethodName":"advise","errorTraceLineNumber":326},{"errorTraceFileName":"AbstractProcess.java","errorTraceClassName":"com.ibm.team.process.internal.common.util.AbstractProcess","errorTraceMethodName":"doAdvise","errorTraceLineNumber":197},{"errorTraceFileName":"ServerProcess.java","errorTraceClassName":"com.ibm.team.process.internal.service.ServerProcess","errorTraceMethodName":"access$2","errorTraceLineNumber":1},{"errorTraceFileName":"ServerProcess.java","errorTraceClassName":"com.ibm.team.process.internal.service.ServerProcess$2","errorTraceMethodName":"run","errorTraceLineNumber":159},{"errorTraceFileName":"PrimitiveTransactionService.java","errorTraceClassName":"com.ibm.team.repository.service.internal.PrimitiveTransactionService$3","errorTraceMethodName":"run","errorTraceLineNumber":167},{"errorTraceFileName":"RepositoryDatabase.java","errorTraceClassName":"com.ibm.team.repository.service.internal.rdb.RepositoryDatabase","errorTraceMethodName":"runTransaction","errorTraceLineNumber":384},{"errorTraceFileName":"RepositoryDatabase.java","errorTraceClassName":"com.ibm.team.repository.service.internal.rdb.RepositoryDatabase","errorTraceMethodName":"runInTransaction","errorTraceLineNumber":289},{"errorTraceFileName":"PrimitiveTransactionService.java","errorTraceClassName":"com.ibm.team.repository.service.internal.PrimitiveTransactionService","errorTraceMethodName":"runInTransaction","errorTraceLineNumber":101},{"errorTraceFileName":"PrimitiveTransactionService.java","errorTraceClassName":"com.ibm.team.repository.service.internal.PrimitiveTransactionService","errorTraceMethodName":"runInTransaction","errorTraceLineNumber":96},{"errorTraceFileName":null,"errorTraceClassName":"sun.reflect.GeneratedMethodAccessor214","errorTraceMethodName":"invoke","errorTraceLineNumber":-1},{"errorTraceFileName":"DelegatingMethodAccessorImpl.java","errorTraceClassName":"sun.reflect.DelegatingMethodAccessorImpl","errorTraceMethodName":"invoke","errorTraceLineNumber":37},{"errorTraceFileName":"Method.java","errorTraceClassName":"java.lang.reflect.Method","errorTraceMethodName":"invoke","errorTraceLineNumber":611},{"errorTraceFileName":"ExportProxyServiceRecord.java","errorTraceClassName":"org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord","errorTraceMethodName":"invoke","errorTraceLineNumber":361},{"errorTraceFileName":"ExportProxyServiceRecord.java","errorTraceClassName":"org.eclipse.soda.sat.core.internal.reco
2 answers
If I read the error messages correctly, it is complaining about not being able to update "approvals", which can be similar to the issue discussed in this post.
https://jazz.net/forum/questions/123596/how-to-approve-a-test-plan-using-rqm-restful-api
BTW, I fail to understand that relationship between the title and the content of your post.
Comments
Thank for your response Donald. To clarify I am using the RQMCopyUtility: https://jazz.net/wiki/bin/view/Main/RQMCopyUtility and it states:
The following resources must be manually copied from the source project area to the destination project area:
Catalog (catalog) customizations (labresourceattribute).
Contributors (users).
Team areas.
Categories.
Custom attributes.
Timelines.
Custom workflow states.
I thought I did that by using the CopyProjectPropertiesUtility.jar but when I run the RQMCopyUtility, the tool only copied 8 test plans out of 32 and 209 test cases out of 250 and I am seeing error messages in the log as I posted above. So the title, "How do I manually copy Catalog from the source project area to the destination project area before using RQM Copy Utility" is as accurate as I believe it to be since maybe I did not copy what I thought I should have.
My end goal is to use the RQMCopyUtility to copy an RQM Project from one server to another. I have 17 RQM projects in total.
The first think I see when I open the RQMCopyUtility wiki is this
Preface - RQM Copy Utility is NOT a project move tool
I don't think it can copy everything from one project to another. You should take it as an example and further develop it to suit your need.
Ramin, I would suggest exporting the template from the source project area, importing the template to the target server, and creating the target project area from that template. Otherwise, you have to manually create the catalog customizations, categories, and custom attributes.
Note, the RQM Copy Utility is NOT a project move tool.
Comments
Thank for your response Paul. After exporting the template from the source project area, importing the template to the target server, and creating the target project area from that template. I run the RQMCopyUtility again, the tool again only copied 8 test plans out of 32 and 209 test cases out of 250 and I am seeing same error messages in the log as I posted above. I only want to copy "-a=testsuite,testcase,testscript,testplan,datapool,remotescript,keyword,template" from source project to target project and why RQMCopyUtility does not copy all the TPs and TCs?
Ramin, it's not copying all of the test artifacts since there is an exception. Send me the server information/credentials and I'll have a look.
Thank you Paul, I email you the server information & credentials