Excel HP ALM连接OTA-导出项目错误
我使用以下命令从HP ALM 12.5导出项目(使用ALM Connectivity-OTA)。目前,它在以下行失败:sa.ExportProject v_domain、v_project、v_fileName 带有错误消息:“运行时错误”-2147220350(80040482):无效的服务器响应[ERR-SEP]。如有任何更正此错误的反馈,将不胜感激 先谢谢你 代码如下:Excel HP ALM连接OTA-导出项目错误,excel,alm,hp-quality-center,hp-alm,vba,Excel,Alm,Hp Quality Center,Hp Alm,Vba,我使用以下命令从HP ALM 12.5导出项目(使用ALM Connectivity-OTA)。目前,它在以下行失败:sa.ExportProject v_domain、v_project、v_fileName 带有错误消息:“运行时错误”-2147220350(80040482):无效的服务器响应[ERR-SEP]。如有任何更正此错误的反馈,将不胜感激 先谢谢你 代码如下: Sub ALM_Backup() Dim v_qcURL, sa, v_username, v_pasword Dim
Sub ALM_Backup()
Dim v_qcURL, sa, v_username, v_pasword
Dim v_domain, v_project, v_date, v_fileName, bugId, v_summary
Dim v_projectList, v_domainProject, v_domainProjectArray
' The following code is to move the existing files from to source to destination folder
Dim fso
Dim sfol As String
Dim dfol As String
sfol = "C:\ALM Backup"
dfol = "C:\ALM Backup Archive"
Set fso = CreateObject("Scripting.FileSystemObject")
fso.MoveFile (sfol & "\*.*"), dfol 'Change "\*.*" to "\*.qcp"
v_qcURL = "https://qcurl"
v_projectList = "Domain1:Project1;Domain2:Project2;Domain3:Project3"
v_username = "userid"
v_password = "password"
For Each v_domainProject In Split(v_projectList, ";")
v_domainProjectArray = Split(v_domainProject, ":")
v_domain = v_domainProjectArray(0)
v_project = v_domainProjectArray(1)
v_year = Year(Now)
v_month = Month(Now)
v_day = Day(Now)
v_hour = Hour(Now)
v_minute = Minute(Now)
v_second = Second(Now)
If v_month < 10 Then
v_month = "0" & v_month
End If
If v_day < 10 Then
v_day = "0" & v_day
End If
If v_hour < 10 Then
v_hour = "0" & v_hour
End If
If v_minute < 10 Then
v_minute = "0" & v_minute
End If
If v_second < 10 Then
v_second = "0" & v_second
End If
v_date = v_year & v_month & v_day & v_hour & v_minute & v_second
v_fileName = "C:\ALM_Backup" & v_date & "_" & v_project & ".qcp"
v_summary = "For project <" & v_domainProject & "> backup started: " & v_date
bugId = openDefect(v_summary)
Set sa = CreateObject("SAClient.SaApi")
sa.Login v_qcURL, v_username, v_password
sa.SendAllQualifiedNow "IT", "QA_Internal_Projects"
sa.SendMessageToProjectConnectedUsers v_domain, v_project, "This project is going to be deactivated due to maintenence."
sa.DisconnectProject v_domain, v_project
sa.DeactivateProject v_domain, v_project
sa.ExportProject v_domain, v_project, v_fileName
sa.ActivateProject v_domain, v_project
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFile(v_fileName)
fixAndCloseDefect bugId, v_fileName & ": " & Round((f.Size / 1024) / 1024, 2) & " MB"
sa.SendAllQualifiedNow "IT", "QA_Internal_Projects"
Next
sa.Logout
End Sub
Function openDefect(p_summary)
v_detectionDate = Day(Now) & "." & Month(Now) & "." & Year(Now)
If Day(Now) < 10 Then
v_detectionDate = "0" & Day(Now) & "." & Month(Now) & "." & Year(Now)
End If
If Month(Now) < 10 Then
v_detectionDate = Day(Now) & ".0" & Month(Now) & "." & Year(Now)
End If
If Month(Now) < 10 And Day(Now) < 10 Then
v_detectionDate = "0" & Day(Now) & ".0" & Month(Now) & "." & Year(Now)
End If
Set tdc = CreateObject("TDApiOle80.TDConnection")
tdc.InitConnectionEx "http://qcurl"
tdc.Login "userid", "password"
tdc.Connect "IT", "QA_Internal_Projects"
Set bfact = tdc.BugFactory
Set mybug = bfact.AddItem(Null)
mybug.Summary = p_summary
mybug.Status = "Open"
mybug.Field("BG_SEVERITY") = "2-Medium"
mybug.DetectedBy = "userid"
mybug.Field("BG_DETECTION_DATE") = Date
mybug.Post
bugId = mybug.ID
tdc.Logout
tdc.Disconnect
openDefect = bugId
End Function
Function fixAndCloseDefect(p_bugId, p_comment)
Set tdc = CreateObject("TDApiOle80.TDConnection")
tdc.InitConnectionEx "https://qcurl"
tdc.Login "userid", "passsword"
tdc.Connect "IT", "QA_Internal_Projects"
Set bfact = tdc.BugFactory
Set bgfilter = bfact.Filter
bgfilter.Filter("BG_BUG_ID") = p_bugId
Set bglist = bgfilter.NewList
For Each theBug In bglist
Set bg = bfact.Item(theBug.ID)
bg.Field("BG_STATUS") = "Closed"
bg.Field("BG_DEV_COMMENTS") = "Backup completed on <backup_host>: " & p_comment
bg.Post
Next
tdc.Logout
tdc.Disconnect
End Function
子ALM_备份()
Dim v_qcURL、sa、v_用户名、v_密码
Dim v_域、v_项目、v_日期、v_文件名、bugId、v_摘要
Dim v_项目列表、v_域项目、v_域项目阵列
'以下代码用于将现有文件从源文件夹移动到目标文件夹
模糊fso
作为字符串的Dim-sfol
Dim-dfol作为字符串
sfol=“C:\ALM备份”
dfol=“C:\ALM备份存档”
设置fso=CreateObject(“Scripting.FileSystemObject”)
fso.MoveFile(sfol&“\*.*”),dfol'将“\*.*”更改为“\*.qcp”
v_qcURL=”https://qcurl"
v_projectList=“域1:Project1;领域2:项目2;领域3:项目3“
v_username=“userid”
v_password=“password”
对于拆分中的每个v_domainProject(v_projectList,“;”)
v_domainProjectArray=Split(v_domainProject,“:”)
v_域=v_域项目数组(0)
v_project=v_domainProjectArray(1)
v_year=年(现在)
v_月=月(现在)
v_day=天(现在)
v_hour=小时(现在)
v_分钟=分钟(现在)
秒=秒(现在)
如果v_月<10,则
v_month=“0”和v_month
如果结束
如果v_日<10,则
v_day=“0”和v_day
如果结束
如果v_小时<10,则
v_hour=“0”和v_hour
如果结束
如果v_分钟<10,则
v_minute=“0”和v_minute
如果结束
如果v_秒<10,则
v_second=“0”和v_second
如果结束
v_日期=v_年、v_月、v_日、v_小时、v_分钟、v_秒
v_fileName=“C:\ALM_Backup”&v_date&“u”&v_project&“.qcp”
v_summary=“对于已开始的项目备份:”&v_日期
bugId=openDefect(v_摘要)
设置sa=CreateObject(“SAClient.SaApi”)
sa.登录v_qcURL、v_用户名、v_密码
sa.SendAllQualifiedNow“IT”、“QA_内部项目”
sa.SendMessageToProjectConnectedUsers v_域,v_项目,“此项目将因维护而停用。”
sa.Disconnect项目v_域,v_项目
sa.E项目v_域,v_项目
sa.ExportProject v_域,v_项目,v_文件名
sa.ActivateProject v_域,v_项目
设置fs=CreateObject(“Scripting.FileSystemObject”)
Set f=fs.GetFile(v_文件名)
fixAndCloseDefect bugId,v_文件名&“:”和Round((f.Size/1024)/1024,2)和“MB”
sa.SendAllQualifiedNow“IT”、“QA_内部项目”
下一个
sa.注销
端接头
函数openDefect(p_摘要)
v_detectionDate=日(现在)&“&”月(现在)&“&”年(现在)
如果天(现在)<10那么
v_detectionDate=“0”&天(现在)&“&”“月(现在)&”“年(现在)
如果结束
如果月份(现在)<10那么
v_detectionDate=日(现在)&“.0”和月(现在)&“.”和年(现在)
如果结束
如果月份(现在)<10天(现在)<10那么
v_detectionDate=“0”和Day(现在)&“.0”和Month(现在)&“.”和Year(现在)
如果结束
设置tdc=CreateObject(“TDApiOle80.TDConnection”)
tdc.InitConnectionEx“http://qcurl"
tdc.登录“用户ID”、“密码”
贸发局.连接“IT”、“QA_内部项目”
设置bfact=tdc.BugFactory
设置mybug=bfact.AddItem(Null)
mybug.Summary=p_Summary
mybug.Status=“打开”
mybug.Field(“BG_严重性”)=“2-中等”
mybug.DetectedBy=“userid”
mybug.Field(“BG\U检测日期”)=日期
mybug.Post
bugId=mybug.ID
tdc.注销
断开
openDefect=bugId
端函数
函数fixAndCloseDefect(p_bugId,p_comment)
设置tdc=CreateObject(“TDApiOle80.TDConnection”)
tdc.InitConnectionEx“https://qcurl"
tdc.登录“用户ID”,“密码剑”
贸发局.连接“IT”、“QA_内部项目”
设置bfact=tdc.BugFactory
设置bgfilter=bfact.Filter
bgfilter.Filter(“BG\u BUG\u ID”)=p\u bugId
设置bglist=bgfilter.NewList
对于bglist中的每个bug
设置bg=bfact.Item(theBug.ID)
bg.字段(“bg_状态”)=“已关闭”
bg.Field(“bg_DEV_COMMENTS”)=“备份已于:”&p_comment完成”
背景邮政
下一个
tdc.注销
断开
端函数
我已经解决了错误。代码现在运行良好,并将ALM项目导出到.qcp文件中
这是如何解决的
我刚刚将v_fileName变量更改为斜杠
以前是:
v_fileName = "C:\ALM_Backup" & v_date & "_" & v_project & ".qcp"
改为:
v_fileName = "C:\ALM_Backup\" & v_date & "_" & v_project & ".qcp"
发生错误的原因是,在“ALM_备份”之后没有新添加的反斜杠,程序试图将文件保存在C目录中,而不是C:\ALM_备份目录中。我已解决错误。代码现在运行良好,并将ALM项目导出到.qcp文件中 这是如何解决的 我刚刚将v_fileName变量更改为斜杠 以前是:
v_fileName = "C:\ALM_Backup" & v_date & "_" & v_project & ".qcp"
改为:
v_fileName = "C:\ALM_Backup\" & v_date & "_" & v_project & ".qcp"
发生错误的原因是,在“ALM_备份”之后没有新添加的反斜杠,程序试图将文件保存在C目录而不是C:\ALM_备份目录中