It's possible that in some cases the start time of a build or test is not known, but the end time is. However these cases cannot be represented in the current schema. Consider replacing the duration field with end_time. This would allow omitting start_time, but still specifying end_time. And vice-versa. This however would require us to validate that start_time <= end_time, which the JSON schema doesn't allow, but which could be implemented in Python, as an extra validation step.
It's possible that in some cases the start time of a build or test is not known, but the end time is. However these cases cannot be represented in the current schema. Consider replacing the
durationfield withend_time. This would allow omittingstart_time, but still specifyingend_time. And vice-versa. This however would require us to validate thatstart_time <= end_time, which the JSON schema doesn't allow, but which could be implemented in Python, as an extra validation step.