Enhance JSON deserialization and file associations; refactor ProcessData classes for improved clarity and performance
This commit is contained in:
@ -143,7 +143,7 @@ function updateRecordCoD(b, r, t, c, e, w, workItem, highestTotalStoryPoints, da
|
||||
let businessValue = workItem.BusinessValue;
|
||||
let timeCriticality = workItem.TimeCriticality;
|
||||
let riskReductionMinusOpportunityEnablement = workItem.RiskReductionMinusOpportunityEnablement;
|
||||
let weightedShortestJobFirst = workItem.WeightedShortestJobFirst == undefined ? null : workItem.WeightedShortestJobFirst.toFixed(2);
|
||||
let weightedShortestJobFirst = workItem.WeightedShortestJobFirst == undefined ? ' ' : workItem.WeightedShortestJobFirst.toFixed(2);
|
||||
workItem.CumulativeStoryPoints = ' ';
|
||||
workItem.TotalStoryPoints = totalStoryPoints + ' User Story Point(s)';
|
||||
workItem.AbsoluteDelta = data.Effort == undefined || data.Effort.FibonacciAverage == undefined || totalStoryPoints == undefined || totalStoryPoints === 0 ? ' ' : round(Math.abs(data.Effort.FibonacciAverage - ((totalStoryPoints / highestTotalStoryPoints) * 5)), 1);
|
||||
@ -159,17 +159,30 @@ function updateRecordCoD(b, r, t, c, e, w, workItem, highestTotalStoryPoints, da
|
||||
workItem.TimeCriticalityNotifications = data.TimeCriticality == undefined ? ' ' : getNotifications(t, data.TimeCriticality);
|
||||
workItem.RiskReductionMinusOpportunityEnablementNotifications = data.RiskReductionOpportunityEnablement == undefined ? ' ' : getNotifications(r, data.RiskReductionOpportunityEnablement);
|
||||
workItem.SortOrder = data.SortOrder == undefined ? 0 : data.SortOrder;
|
||||
let check = effort == workItem.Effort
|
||||
&& businessValue === workItem.BusinessValue
|
||||
&& timeCriticality === workItem.TimeCriticality
|
||||
&& riskReductionMinusOpportunityEnablement === workItem.RiskReductionMinusOpportunityEnablement;
|
||||
if (check && weightedShortestJobFirst == workItem.WeightedShortestJobFirst) {
|
||||
if (workItem.Effort == undefined ||
|
||||
workItem.BusinessValue == undefined ||
|
||||
workItem.TimeCriticality == undefined ||
|
||||
workItem.RiskReductionMinusOpportunityEnablement == undefined ||
|
||||
workItem.WeightedShortestJobFirst == undefined ||
|
||||
workItem.Effort == ' ' ||
|
||||
workItem.BusinessValue == ' ' ||
|
||||
workItem.TimeCriticality == ' ' ||
|
||||
workItem.RiskReductionMinusOpportunityEnablement == ' ' ||
|
||||
workItem.WeightedShortestJobFirst == ' ') {
|
||||
workItem.api = '';
|
||||
} else {
|
||||
workItem.api = `
|
||||
### Work Item Patch ${check} WSJF ${workItem.Id} ${weightedShortestJobFirst} != ${workItem.WeightedShortestJobFirst}
|
||||
}
|
||||
else {
|
||||
let check = effort === workItem.Effort
|
||||
&& businessValue === workItem.BusinessValue
|
||||
&& timeCriticality === workItem.TimeCriticality
|
||||
&& riskReductionMinusOpportunityEnablement === workItem.RiskReductionMinusOpportunityEnablement;
|
||||
if (check && weightedShortestJobFirst == workItem.WeightedShortestJobFirst) {
|
||||
workItem.api = '';
|
||||
} else {
|
||||
workItem.api = `
|
||||
### Work Item Patch ${check} WSJF ${workItem.Id} ${effort}:${workItem.Effort}; ${businessValue}:${workItem.BusinessValue}; ${timeCriticality}:${workItem.TimeCriticality}; ${riskReductionMinusOpportunityEnablement}:${workItem.RiskReductionMinusOpportunityEnablement}; ${weightedShortestJobFirst}:${workItem.WeightedShortestJobFirst};
|
||||
|
||||
patch {{Factory-Integration}}/_apis/wit/workitems/${workItem.Id}?api-version=7.0
|
||||
PATCH https://tfs.intra.infineon.com/tfs/FactoryIntegration/_apis/wit/workitems/${workItem.Id}?api-version=7.0
|
||||
Authorization: Basic {{PAT}}
|
||||
Content-Type: application/json-patch+json
|
||||
|
||||
@ -216,6 +229,7 @@ jsonpath "$.fields['Custom.RRminusOE']" == ${workItem.RiskReductionMinusOpportun
|
||||
jsonpath "$.fields['Microsoft.VSTS.Common.TimeCriticality']" == ${workItem.TimeCriticality}
|
||||
jsonpath "$.fields['Custom.WSJF']" == ${workItem.WeightedShortestJobFirst}
|
||||
jsonpath "$.fields['Custom.WSJFFib']" == ${workItem.WeightedShortestJobFirst}`;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -319,10 +333,19 @@ function sendValue(fromHtml, element, page, id) {
|
||||
|
||||
function getHtmlTextAndApi(fromHtml, b, r, t, c, e, w, records) {
|
||||
let record;
|
||||
let api = '';
|
||||
let lineA = '';
|
||||
let lineB = '';
|
||||
let lineC = '';
|
||||
let api = `
|
||||
### FactoryIntegration (hurl.exe)
|
||||
|
||||
GET https://tfs.intra.infineon.com/tfs/FactoryIntegration
|
||||
|
||||
HTTP 401
|
||||
[Asserts]
|
||||
duration < 12345
|
||||
|
||||
`;
|
||||
let text = 'Id\tRisk Reduction and/or Opportunity Enablement\tTime Criticality\tBusiness Value\tEffort\tWSJF\tCoD\tFeature Total Story Points\tAbsolute Delta\tState\tRequester\tAssigned To\tIteration Path\tSystem\tTitle-123\r\n';
|
||||
let html = '<tr><th>Parent Id</th><th>Parent Title</th><th>Id</th><th>Requester</th><th>Title</th><th>Assigned To</th><th>System(s)</th><th>State</th><th>Priority</th><th>Risk Reduction and/or Opportunity Enablement</th><th>Time Criticality</th><th>Business Value</th><th>Cost of Delay (CoD)</th><th>Effort</th><th>WSJF</th></tr>';
|
||||
for (let i = 0; i < records.length; i++) {
|
||||
@ -403,7 +426,7 @@ function getHtmlTextAndApi(fromHtml, b, r, t, c, e, w, records) {
|
||||
console.log(text);
|
||||
html += lineA + lineB + lineC;
|
||||
}
|
||||
return { html, text, http: api };
|
||||
return { html, text, api };
|
||||
}
|
||||
|
||||
function updateSite(c, w) {
|
||||
@ -445,7 +468,12 @@ function setDocument(fromHtml, b, r, t, c, e, w, dataA, dataB, workItems) {
|
||||
if (fromHtml) {
|
||||
document.getElementById('HeaderGrid').innerHTML = result.html.replaceAll('>null<', '> <');
|
||||
if (_windowLocationHRef.indexOf('=WSJF') === -1) {
|
||||
document.getElementById('AllTextarea').value = result.text.replaceAll('null', '').replaceAll(' ', '') + result.http;
|
||||
if (_windowLocationHRef.indexOf('=EFFORT') > -1) {
|
||||
document.getElementById('AllTextarea').value = result.api;
|
||||
}
|
||||
else {
|
||||
document.getElementById('AllTextarea').value = result.text.replaceAll('null', '').replaceAll(' ', '');
|
||||
}
|
||||
}
|
||||
else {
|
||||
_toggle = !_toggle;
|
||||
|
Reference in New Issue
Block a user