Accelerate the traceability matrix when there are a lot of Jira fields

Description

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:

  • It shouldn't contain the data itself, but enough information for Javascript to fetch and build the suggestions at runtime,

  • 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.

Example

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.

Environment

None

Observations

None

Activity

Show:
Adrien Ragot (Play SQL / Requirement Yogi)
February 6, 2021, 7:15 PM

Note: Will not cache the custom fields from Jira, will rather write an accelerated resource at:
http://jira.local:2990/jira/rest/reqs/1/metadata/customfields

We can test this method independently for performance if necessary.

Resolved

Assignee

Unassigned

Reporter

Adrien Ragot (Play SQL / Requirement Yogi)

Labels

None

Participants

None

Fix versions

Priority

Matter of weeks