IBM®
Skip to main content
    Country/region [select]      Terms of use
 
 
    
     Home      Products      Services & solutions      Support & downloads      My account     
 
developerworks > My developerWorks >  Dashboard > Configuration Management > ... > ClearQuest > 1.5.1.2.7 BASE
developerWorks
Log In   View a printable version of the current page.
Overview Connect Spaces Forums Wikis
1.5.1.2.7 BASE
Added by mavi, last edited by mavi on Sep 28, 2008  (view change)
Labels: 
(None)

1.5.1.2.7.1  * How to export a defect to another DB*
Create a new global hook and call it in your field choice list hook:


REM Start of Global Script Defect_Exporting
REM TODO - put your script code here

Sub Defect_Exporting()
' Case_ID As String
' id As String
' actiontype As Long
' action is Submit
' record type name is Defect
REM Post-commit notifications about actions may be handled here

' MsgBox "Defect_Exporting =" & "100"
' mySession.OutputDebugString VBCrLf & "yossis: Defect_Exporting =" & "100"

'************* SET DEBUG ON/OFF **********
MYDBG = 0
'************* SET DEBUG ON/OFF **********

id = GetFieldValue("id").GetValue
Submitter = GetFieldValue("Submitter").GetValue
Company = GetFieldValue("Company").GetValue

' MsgBox "Defect_Exporting =" & "105"
' MsgBox "Defect_Exporting ID=" & id & " Submitter=" & Submitter& " Company=" & Company

'************************************************
'Logging into ClearQuest DATABASE
'************************************************
Set mySession = GetSession
' Get the user's personal information
myUserLogin = mySession.GetUserLoginName
NewPassword = ""
CqDbName = "YOUR DB NAME"
If myUserLogin = "YOUR USER NAME" Then
'MsgBox "yossi 200"

NewPassword = "YOUR PASSWORD"
If MYDBG <> 0 Then
CqDbName = "YOUR TEST_DB NAME"
End If
End If
'dbset = "2002.05.00"
dbset = "pcc"
' Get a ClearQuest "session"
' Set currentsession = CreateObject("CLEARQUEST.SESSION")
Set NewSession = CreateObject("CLEARQUEST.SESSION")
NewSession.UserLogon myUserLogin, NewPassword, CqDbName, AD_PRIVATE_SESSION, dbset
'Set NewSession = CreateObject("CLEARQUEST.AdminSession")
'NewSession.Logon myUserLogin, NewPassword, CqDbName, AD_PRIVATE_SESSION, dbset

'build new Defect entry
Set NewRec = NewSession.BuildEntity("defect")
' treat attachments
set attachFields = Defect.AttachmentFields
set attachField1 = attachFields.Item(0)
set attachments = attachField1.Attachments
'newrec
set NRattachFields = NewRec.AttachmentFields
set NRattachField1 = NRattachFields.Item(0)
set NRattachments = NRattachField1.Attachments

numAttachments = attachments.Count
For x = 0 to numAttachments - 1
set attachment = attachments.Item
'key = attachment.DisplayName
name = attachment.FileName
size = attachment.FileSize
description = attachment.Description
attachment.load "c:\temp\" & name
'DBGOUT "Name: " & name & VBCrLf & "size: " & size & VBCrLf & "description: " & description
set NRattachment = attachments.Item
NRattachments.add "c:\temp\" & name, description
Next
NewRec.SetFieldValue "Customer_Bug", GetFieldValue("Case_ID").GetValue
NewRec.SetFieldValue "Headline", "*** " & GetFieldValue("Headline").GetValue
NewRec.SetFieldValue "Severity", GetFieldValue("Severity").GetValue
NewRec.SetFieldValue "Description", GetFieldValue("Description").GetValue
' NewRec.SetFieldValue "Owner", GetFieldValue("Submitter").GetValue
NewRec.SetFieldValue "Owner", myUserLogin
NewRec.SetFieldValue "Ref_Corr_Project", "UnKnown"
NewRec.SetFieldValue "Ref_Department", "UnKnown"
NewRec.SetFieldValue "Ref_Functional_Area", "UnKnown"
NewRec.SetFieldValue "Ref_Functional_Area_type", "UnKnown"
NewRec.SetFieldValue "Ref_HW_Rev", "UnKnown"
NewRec.SetFieldValue "Ref_Module", "UnKnown"
NewRec.SetFieldValue "ucm_project", "UnKnown"
NewRec.SetFieldValue "Ref_SW_Ver_1", "UnKnown"
retn = NewRec.Validate
If retn <> "" Then
'DBGOUT "Error " & retn & " adding record, defect id " & id & "." & vbInformation
NewRec.Revert
'gretn = "Error '" & retn & "' occurred while trying to add a new record with defect id '" & DefectId & "'. "
Else
NewRec.Commit 'save the new record in CQ
Set MyItems = Nothing
'kill attachment files from tmp_dir
numAttachments = attachments.Count
For x = 0 to numAttachments - 1
set attachment = attachments.Item
name = attachment.FileName
set fso=CreateObject("Scripting.FileSystemObject")
fso.DeleteFile "c:\temp\" & name
set fso = Nothing
Set attachment = Nothing
Next 'x
End If 'retn <> "" Then
' CLEANUP
set sessionObj = GetSession
set entityObj = sessionObj.GetEntity("defect",GetFieldValue("id").GetValue)
sessionObj.EditEntity entityObj, "modify"
eid = NewRec.GetFieldValue("id").GetValue
entityObj.SetFieldValue "InternalBug",eid
' DBGOUT "eid =" & eid
retn = entityObj.Validate
If retn <> "" Then
'DBGOUT "Error " & retn & " adding record, defect id " & id & "." & vbInformation
NewRec.Revert
Else
entityObj.Commit
End If 'retn <> "" Then

' CLEANUP
Set NewSession = Nothing
Set NewRec = Nothing
Set sessionObj = Nothing
Set entityObj = Nothing

End Sub


 
    About IBM Privacy Contact