| Line 22... |
Line 22... |
| 22 |
<!--#include file="common/common_dbedit.asp"-->
|
22 |
<!--#include file="common/common_dbedit.asp"-->
|
| 23 |
<%
|
23 |
<%
|
| 24 |
'------------ ACCESS CONTROL ------------------
|
24 |
'------------ ACCESS CONTROL ------------------
|
| 25 |
%>
|
25 |
%>
|
| 26 |
<!--#include file="_access_control_general.asp"-->
|
26 |
<!--#include file="_access_control_general.asp"-->
|
| - |
|
27 |
<SCRIPT LANGUAGE="VBScript" RUNAT=SERVER SRC="class/classaspJSON.vbs"></SCRIPT>
|
| - |
|
28 |
<SCRIPT LANGUAGE="VBScript" RUNAT=SERVER SRC="common/base64encode.vbs"></SCRIPT>
|
| - |
|
29 |
<SCRIPT LANGUAGE="VBScript" RUNAT=SERVER SRC="common/jiraIssues.vbs"></SCRIPT>
|
| 27 |
<%
|
30 |
<%
|
| 28 |
'------------ Variable Definition -------------
|
31 |
'------------ Variable Definition -------------
|
| 29 |
Dim rsQry
|
32 |
Dim rsQry
|
| 30 |
Dim parPv_id
|
33 |
Dim parPv_id
|
| 31 |
Dim objSbomDetailsA, objSbomDetailsB
|
34 |
Dim objSbomDetailsA, objSbomDetailsB
|
| Line 51... |
Line 54... |
| 51 |
Set objRelCollectorB = CreateObject("Scripting.Dictionary")
|
54 |
Set objRelCollectorB = CreateObject("Scripting.Dictionary")
|
| 52 |
Set objSbomDetailsA = CreateObject("Scripting.Dictionary")
|
55 |
Set objSbomDetailsA = CreateObject("Scripting.Dictionary")
|
| 53 |
Set objSbomDetailsB = CreateObject("Scripting.Dictionary")
|
56 |
Set objSbomDetailsB = CreateObject("Scripting.Dictionary")
|
| 54 |
Set objIssueDetails = CreateObject("Scripting.Dictionary")
|
57 |
Set objIssueDetails = CreateObject("Scripting.Dictionary")
|
| 55 |
Set cqIssues = Server.CreateObject("ADODB.Recordset")
|
58 |
Set cqIssues = Server.CreateObject("ADODB.Recordset")
|
| 56 |
Set jiraIssues = Server.CreateObject("ADODB.Recordset")
|
59 |
Set jiraIssues = CreateObject( "Scripting.Dictionary" )
|
| 57 |
Set rsBomPackages = Server.CreateObject("ADODB.Recordset")
|
60 |
Set rsBomPackages = Server.CreateObject("ADODB.Recordset")
|
| 58 |
Set rsPkgDeps = Server.CreateObject("ADODB.Recordset")
|
61 |
Set rsPkgDeps = Server.CreateObject("ADODB.Recordset")
|
| 59 |
'----------------------------------------------
|
62 |
'----------------------------------------------
|
| 60 |
%>
|
63 |
%>
|
| 61 |
<%
|
64 |
<%
|
| Line 181... |
Line 184... |
| 181 |
|
184 |
|
| 182 |
End If
|
185 |
End If
|
| 183 |
|
186 |
|
| 184 |
End Function
|
187 |
End Function
|
| 185 |
'----------------------------------------------------------------------------------------------------------------------------------------
|
188 |
'----------------------------------------------------------------------------------------------------------------------------------------
|
| 186 |
Function Get_JIRA_Issues ( NNpv_id, SSsql )
|
- |
|
| 187 |
Dim rsTemp, sqlstr, JIRAIss, retVal, joiner
|
- |
|
| 188 |
|
- |
|
| 189 |
JIRAIss = ""
|
- |
|
| 190 |
joiner = ""
|
- |
|
| 191 |
|
- |
|
| 192 |
sqlstr = "SELECT iss_key FROM JIRA_ISSUES WHERE pv_id="& NNpv_id
|
- |
|
| 193 |
|
- |
|
| 194 |
Set rsTemp = OraDatabase.DbCreateDynaset( sqlstr, cint(0))
|
- |
|
| 195 |
retVal = rsTemp.RecordCount
|
- |
|
| 196 |
|
- |
|
| 197 |
if retVal > 0 then
|
- |
|
| 198 |
|
- |
|
| 199 |
' Convert the Jira Issue of the form (PRJ-NNNN) into parts of an SQL expression
|
- |
|
| 200 |
' that looks like (PRJ = match AND NNNN = match
|
- |
|
| 201 |
'
|
- |
|
| 202 |
While ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF))
|
- |
|
| 203 |
dim bits
|
- |
|
| 204 |
bits = Split( rsTemp("iss_key"), "-" ,2)
|
- |
|
| 205 |
JIRAIss = JIRAIss & joiner & "(P.pkey = '" & bits(0) & "' AND I.issuenum = " & bits(1) & ")"
|
- |
|
| 206 |
joiner = " OR "
|
- |
|
| 207 |
rsTemp.MoveNext
|
- |
|
| 208 |
WEnd
|
- |
|
| 209 |
|
- |
|
| 210 |
' If there is no resolution for an issue, then it will not be picked up by this query
|
- |
|
| 211 |
SSsql = "SELECT P.pkey AS project, I.issuenum AS iss_num, I.summary, ISS.pname AS Status, IT.pname as issue_type, PR.pname as Priority, R.PNAME as RESOLUTION"&_
|
- |
|
| 212 |
" FROM jiraissue I, issuestatus ISS, issuetype IT, resolution R, priority PR, project P "&_
|
- |
|
| 213 |
" WHERE (" & JIRAIss & ")"&_
|
- |
|
| 214 |
" AND I.issuestatus = ISS.ID "&_
|
- |
|
| 215 |
" AND I.RESOLUTION = R.ID "&_
|
- |
|
| 216 |
" AND IT.ID = I.issuetype "&_
|
- |
|
| 217 |
" AND PR.ID = I.PRIORITY " &_
|
- |
|
| 218 |
" AND P.ID = I.project"
|
- |
|
| 219 |
|
- |
|
| 220 |
End If
|
- |
|
| 221 |
rsTemp.Close()
|
- |
|
| 222 |
Set rsTemp = nothing
|
- |
|
| 223 |
|
- |
|
| 224 |
On Error Resume Next
|
- |
|
| 225 |
oRsJiraIssTemp.ActiveConnection = JIRA_conn
|
- |
|
| 226 |
oRsJiraIssTemp.Source = jira_query_string
|
- |
|
| 227 |
oRsJiraIssTemp.CursorType = 0
|
- |
|
| 228 |
oRsJiraIssTemp.CursorLocation = 3
|
- |
|
| 229 |
oRsJiraIssTemp.LockType = 3
|
- |
|
| 230 |
oRsJiraIssTemp.Open()
|
- |
|
| 231 |
|
- |
|
| 232 |
Get_JIRA_Issues = Err.Number
|
- |
|
| 233 |
|
- |
|
| 234 |
Get_JIRA_Issues = retVal
|
- |
|
| 235 |
|
- |
|
| 236 |
End Function
|
- |
|
| 237 |
|
- |
|
| 238 |
Function Get_JIRA_Issues ( sPvIdList, oRsJiraIssTemp )
|
189 |
Function Get_JIRA_Issues ( sPvIdList, oRsJiraIssTemp )
|
| 239 |
|
190 |
|
| 240 |
Dim rsTemp, JIRAIss
|
- |
|
| 241 |
Dim jira_query_string, joiner
|
- |
|
| 242 |
|
- |
|
| 243 |
JIRAIss = ""
|
- |
|
| 244 |
joiner = ""
|
- |
|
| 245 |
|
- |
|
| 246 |
Set rsTemp = OraDatabase.DbCreateDynaset( "SELECT DISTINCT iss_key FROM JIRA_ISSUES WHERE pv_id IN ("& sPvIdList & ")", cint(0))
|
- |
|
| 247 |
If rsTemp.RecordCount <> 0 Then
|
- |
|
| 248 |
|
- |
|
| 249 |
' Convert the Jira Issue of the form (PRJ-NNNN) into parts of an SQL expression
|
- |
|
| 250 |
' that looks like (PRJ = match AND NNNN = match
|
- |
|
| 251 |
'
|
- |
|
| 252 |
while ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF))
|
- |
|
| 253 |
dim bits
|
- |
|
| 254 |
bits = Split( rsTemp("iss_key"), "-" ,2)
|
- |
|
| 255 |
JIRAIss = JIRAIss & joiner & "(P.pkey = '" & bits(0) & "' AND I.issuenum = " & bits(1) & ")"
|
- |
|
| 256 |
joiner = " OR "
|
- |
|
| 257 |
rsTemp.MoveNext
|
- |
|
| 258 |
WEnd
|
- |
|
| 259 |
|
- |
|
| 260 |
rsTemp.Close()
|
- |
|
| 261 |
Set rsTemp = nothing
|
- |
|
| 262 |
|
- |
|
| 263 |
' Form the JIRA database query string
|
- |
|
| 264 |
jira_query_string = "SELECT P.pkey AS project, I.issuenum AS iss_num, I.summary, ISS.pname AS state, IT.pname as IssueType, PR.pname as Priority, I.RESOLUTION "&_
|
- |
|
| 265 |
" FROM jiraissue I, issuestatus ISS, issuetype IT, priority PR, project P "&_
|
- |
|
| 266 |
" WHERE (" & JIRAIss & ")"&_
|
- |
|
| 267 |
" AND I.issuestatus = ISS.ID "&_
|
- |
|
| 268 |
" AND IT.ID = I.issuetype "&_
|
- |
|
| 269 |
" AND P.ID = I.project" &_
|
- |
|
| 270 |
" AND PR.ID = I.PRIORITY "
|
- |
|
| 271 |
|
- |
|
| 272 |
If oRsJiraIssTemp.State = 1 Then
|
- |
|
| 273 |
oRsJiraIssTemp.Close()
|
- |
|
| 274 |
End If
|
- |
|
| 275 |
|
- |
|
| 276 |
On Error Resume Next
|
191 |
On Error Resume Next
|
| 277 |
oRsJiraIssTemp.ActiveConnection = JIRA_conn
|
192 |
Call getJiraIssueDetails(sPvIdList, oRsJiraIssTemp, 1)
|
| 278 |
oRsJiraIssTemp.Source = jira_query_string
|
- |
|
| 279 |
oRsJiraIssTemp.CursorType = 0
|
193 |
If Err.Number <> 0 Then
|
| 280 |
oRsJiraIssTemp.CursorLocation = 3
|
194 |
Get_JIRA_Issues = Err.Number
|
| 281 |
oRsJiraIssTemp.LockType = 3
|
195 |
ElseIf oRsJiraIssTemp.Count = 0 Then
|
| 282 |
oRsJiraIssTemp.Open()
|
- |
|
| 283 |
|
- |
|
| 284 |
Get_JIRA_Issues = Err.Number
|
196 |
Get_JIRA_Issues = -1
|
| 285 |
Else
|
197 |
Else
|
| 286 |
|
- |
|
| 287 |
Get_JIRA_Issues = -1
|
198 |
Get_JIRA_Issues = 0
|
| 288 |
|
- |
|
| 289 |
End If
|
199 |
End If
|
| 290 |
|
200 |
|
| 291 |
End Function
|
201 |
End Function
|
| 292 |
'----------------------------------------------------------------------------------------------------------------------------------------
|
202 |
'----------------------------------------------------------------------------------------------------------------------------------------
|
| 293 |
Sub GetPackageDependencies ( nPv_id_a, nPv_id_b, oRsTemp )
|
203 |
Sub GetPackageDependencies ( nPv_id_a, nPv_id_b, oRsTemp )
|
| 294 |
|
204 |
|
| Line 754... |
Line 664... |
| 754 |
<td background="images/bg_form_lightbluedark.gif" nowrap width="80px" class="form_field">Status</td>
|
664 |
<td background="images/bg_form_lightbluedark.gif" nowrap width="80px" class="form_field">Status</td>
|
| 755 |
<td background="images/bg_form_lightbluedark.gif" nowrap class="form_field">Package(s)</td>
|
665 |
<td background="images/bg_form_lightbluedark.gif" nowrap class="form_field">Package(s)</td>
|
| 756 |
</tr>
|
666 |
</tr>
|
| 757 |
|
667 |
|
| 758 |
<%
|
668 |
<%
|
| - |
|
669 |
Dim key, el
|
| - |
|
670 |
For Each key In jiraIssues
|
| 759 |
While (NOT jiraIssues.BOF) AND (NOT jiraIssues.EOF)
|
671 |
Set el = jiraIssues.item(key)
|
| 760 |
|
672 |
|
| 761 |
Call GetPackageDetailsForJIRAIssue( jiraIssues("project") &"-"& jiraIssues("iss_num"), pvIdList, objIssueDetails )
|
673 |
Call GetPackageDetailsForJIRAIssue( key, pvIdList, objIssueDetails )
|
| 762 |
|
674 |
|
| 763 |
firstPackageRow = TRUE
|
675 |
firstPackageRow = TRUE
|
| 764 |
Do While (NOT objIssueDetails.BOF) AND (NOT objIssueDetails.EOF)%>
|
676 |
Do While (NOT objIssueDetails.BOF) AND (NOT objIssueDetails.EOF)%>
|
| 765 |
<tr>
|
677 |
<tr>
|
| 766 |
<%If firstPackageRow Then%>
|
678 |
<%If firstPackageRow Then%>
|
| 767 |
<%firstPackageRow = FALSE%>
|
679 |
<%firstPackageRow = FALSE%>
|
| 768 |
<td background="images/bg_form_lightgray.gif" valign="top" class="form_item"><%=jiraIssues("project") &"-"&jiraIssues("iss_num")%></td>
|
680 |
<td background="images/bg_form_lightgray.gif" valign="top" class="form_item"><%=key%></td>
|
| 769 |
<td background="images/bg_form_lightgray.gif" valign="top" class="form_item"><%=jiraIssues("summary")%></td>
|
681 |
<td background="images/bg_form_lightgray.gif" valign="top" class="form_item"><%=el.item("summary")%></td>
|
| 770 |
<td nowrap background="images/bg_form_lightgray.gif" valign="top" class="form_item"><%=jiraIssues("IssueType")%></td>
|
682 |
<td nowrap background="images/bg_form_lightgray.gif" valign="top" class="form_item"><%=el.item("issuetype")%></td>
|
| 771 |
<td nowrap background="images/bg_form_lightgray.gif" valign="top" class="form_item"><%=jiraIssues("state")%></td>
|
683 |
<td nowrap background="images/bg_form_lightgray.gif" valign="top" class="form_item"><%=el.item("status")%></td>
|
| 772 |
<%Else%>
|
684 |
<%Else%>
|
| 773 |
<td background="images/bg_form_lightgray.gif" valign="top" class="form_item"></td>
|
685 |
<td background="images/bg_form_lightgray.gif" valign="top" class="form_item"></td>
|
| 774 |
<td background="images/bg_form_lightgray.gif" valign="top" class="form_item"></td>
|
686 |
<td background="images/bg_form_lightgray.gif" valign="top" class="form_item"></td>
|
| 775 |
<td background="images/bg_form_lightgray.gif" valign="top" class="form_item"></td>
|
687 |
<td background="images/bg_form_lightgray.gif" valign="top" class="form_item"></td>
|
| 776 |
<td background="images/bg_form_lightgray.gif" valign="top" class="form_item"></td>
|
688 |
<td background="images/bg_form_lightgray.gif" valign="top" class="form_item"></td>
|
| Line 784... |
Line 696... |
| 784 |
</tr>
|
696 |
</tr>
|
| 785 |
<%
|
697 |
<%
|
| 786 |
objIssueDetails.MoveNext
|
698 |
objIssueDetails.MoveNext
|
| 787 |
If multiPackagesEnabled = FALSE Then Exit Do
|
699 |
If multiPackagesEnabled = FALSE Then Exit Do
|
| 788 |
Loop
|
700 |
Loop
|
| 789 |
jiraIssues.MoveNext
|
- |
|
| 790 |
WEnd
|
701 |
Next
|
| 791 |
%>
|
702 |
%>
|
| 792 |
</table>
|
703 |
</table>
|
| 793 |
<%End If%>
|
704 |
<%End If%>
|
| 794 |
</fieldset>
|
705 |
</fieldset>
|
| 795 |
<br>
|
706 |
<br>
|