Accelerate the traceability matrix when there are a lot of Jira fields
The traceability matrix times out for a customer.
Jira instances can have hundreds of custom fields. It takes an enormous amount of time to retrieve all the fields, and then the traceability matrix times out.
Therefore, we need to only retrieve the fields which we need.
Impact on the suggestions
We'll have to entirely refactor the TraceabilitySuggestion object:
Upside: Building the matrix will be much smaller and less compute-intensive.
Downside: The menu may take a bit of time to display. We should certainly have a few items ready.
Impact on the "retrieveNextColumn()" algorith
This alg will have to look-ahead the next columns, to know whether there is any Jira field that depends on the current column.
https://playsql.atlassian.net/rest/api/2/search?limit=1000&jql=project+=+%27RY%27&startAt=0&fields=customfield_10500 takes 388ms
https://playsql.atlassian.net/rest/api/2/search?limit=1000&jql=project+=+%27RY%27&startAt=0 takes 2.09s.
Note: Will not cache the custom fields from Jira, will rather write an accelerated resource at:
We can test this method independently for performance if necessary.