Symptoms

When using the feature in KronoDesk to log a new incident through into Spira:

you fill out the new incident form in KronoDesk:

and when you click Add, you get the following error message:

Inside Spira, the incident is correctly created:

But the ticket inside KronoDesk is not correctly updated to show the relationship:

It should look something like this instead:

This will only happen for customers that are hosting Spira on a web server that is set to a timezone that is ahead of UTC/GMT (e.g. UTC+1, UTC+2). It works for timezones behind UTC/GMT (e.g. UTC-1, UTC-2)

Cause

The cause of the issue was that the web service request from KronoDesk to Spira was not returning back the data correctly to KronoDesk. The reason was that KronoDesk communicates to Spira using the Spira v5.0 REST API. This version of the API has a known limitation with the way JSON dates are serialized. Due to a bug in the Microsoft WCF data handler, any date that is not nullable and is uninitialized will not serialize correctly in timezones that are ahead of UTC/GMT. We have fixed this in the Spira 6.0 API using a different JSON serializer, but the issue remains in the v5.0 as we need to maintain the older date format for compatibility reasons.

Solution

The solution to fixing the issue is the following:

1. Update the Server Time to UTC

RDP into the Windows Server running SpiraTest, SpiraTeam or SpiraPlan (aka Spira) and change the system timezone from one that is ahead of UTC to either UTC itself or one behind UTC:

Then to get the correct timezone showing up inside Spira, switch the application timezone to the correct timezone instead:

Now you can display the correct timezone in Spira and have the integration work correctly.