nkdAgility/azure-devops-migration-tools

Fix ClodedData issues on old templates

MrHinsh opened this issue · 0 comments

Here is the method that fails:
The if statemetn and 2nd log statement reference a field which does not exist in my process template.

private void CheckClosedDateIsValid(WorkItemData sourceWorkItem, WorkItemData targetWorkItem) { if (targetWorkItem.ToWorkItem().Fields["System.ClosedDate"].Value == null && (targetWorkItem.ToWorkItem().Fields["System.State"].Value.ToString() == "Closed" || targetWorkItem.ToWorkItem().Fields["System.State"].Value.ToString() == "Done")) { Log.LogWarning("The field System.ClosedDate is set to Null and will revert to the current date on save! "); Log.LogWarning("Source Closed Date [#{sourceId}][Rev{sourceRev}]: {sourceClosedDate} ", sourceWorkItem.ToWorkItem().Id, sourceWorkItem.ToWorkItem().Rev, sourceWorkItem.ToWorkItem().Fields["System.ClosedDate"].Value); } }

I have revised the method as follows and it is working now.

`
private void CheckClosedDateIsValid(WorkItemData sourceWorkItem, WorkItemData targetWorkItem)
{

        if (targetWorkItem.ToWorkItem().Fields["**Microsoft.VSTS.Common.ClosedDate**"].Value == null && (targetWorkItem.ToWorkItem().Fields["System.State"].Value.ToString() == "Closed" || targetWorkItem.ToWorkItem().Fields["System.State"].Value.ToString() == "Done"))
        {
            Log.LogWarning("The field System.ClosedDate is set to Null and will revert to the current date on save! ");
            //Log.LogWarning("Source Closed Date [#{sourceId}][Rev{sourceRev}]: {sourceClosedDate} ", sourceWorkItem.ToWorkItem().Id, sourceWorkItem.ToWorkItem().Rev, sourceWorkItem.ToWorkItem().Fields["System.ClosedDate"].Value);
        }
    }

`

Originally posted by @Tuba-guy in #1867 (reply in thread)