feat: enhance Jira filters and dashboard functionality

- Added new test scripts in `package.json` for story points and Jira fields validation.
- Updated `JiraDashboardPageClient` to utilize raw analytics for filtering, improving data handling with active filters.
- Introduced a loading state in `FilterBar` with visual feedback for filter application, enhancing user experience.
- Refactored `useJiraFilters` to support local filtering based on initial analytics, streamlining filter management.
- Enhanced `JiraAnalyticsService` to calculate story points based on issue types, improving accuracy in analytics.
This commit is contained in:
Julien Froidefond
2025-09-26 11:54:41 +02:00
parent bd7ede412e
commit 7de060566f
8 changed files with 448 additions and 54 deletions

View File

@@ -164,7 +164,7 @@ export class JiraService {
*/
async searchIssues(jql: string): Promise<JiraTask[]> {
try {
const fields = ['id', 'key', 'summary', 'description', 'status', 'priority', 'assignee', 'project', 'issuetype', 'components', 'fixVersions', 'duedate', 'created', 'updated', 'labels'];
const fields = ['id', 'key', 'summary', 'description', 'status', 'priority', 'assignee', 'project', 'issuetype', 'components', 'fixVersions', 'duedate', 'created', 'updated', 'labels', 'customfield_10002']; // customfield_10002 = Story Points par défaut
const allIssues: unknown[] = [];
let nextPageToken: string | undefined = undefined;
@@ -643,6 +643,7 @@ export class JiraService {
created: string;
updated: string;
labels?: string[];
customfield_10002?: number; // Story Points field
};
};
return {
@@ -671,7 +672,8 @@ export class JiraService {
duedate: issueData.fields.duedate,
created: issueData.fields.created,
updated: issueData.fields.updated,
labels: issueData.fields.labels || []
labels: issueData.fields.labels || [],
storyPoints: issueData.fields.customfield_10002 || undefined
};
}