feat: Add story points support and AI daily briefing feature

- Enhanced JIRA integration to fetch story points from multiple custom fields.
- Updated task display to show story points and their estimated duration.
- Introduced AI daily briefing banner with dynamic content loading.
- Implemented subtasks functionality with add, toggle, and delete capabilities.
- Improved task management UI with better accessibility and interaction.
This commit is contained in:
2026-09-10 22:38:06 +02:00
parent c0e0dd5947
commit 5ce08443cc
8 changed files with 780 additions and 69 deletions
+14
View File
@@ -236,6 +236,9 @@ function jira_fetch_issues(string $domain, string $email, string $apiToken, stri
'description',
'labels',
'components',
'story_points',
'customfield_10016', // Story Points (Jira Cloud standaard)
'customfield_10028', // Story Points (alternatief veld sommige instanties)
];
// 1. Moderne Atlassian Jira Cloud endpoint (/rest/api/3/search/jql) conform CHANGE-2046 via POST
@@ -389,6 +392,16 @@ function jira_fetch_issues(string $domain, string $email, string $apiToken, stri
elseif (str_contains($sumLower, 'koppeling')) $onderwerpLogging = 'Koppelingen';
}
// Detectie van story points (customfield_10016 is Jira Cloud standaard, met fallback naar alternatieven)
$storyPoints = null;
if (isset($fields['customfield_10016']) && is_numeric($fields['customfield_10016'])) {
$storyPoints = (float)$fields['customfield_10016'];
} elseif (isset($fields['customfield_10028']) && is_numeric($fields['customfield_10028'])) {
$storyPoints = (float)$fields['customfield_10028'];
} elseif (isset($fields['story_points']) && is_numeric($fields['story_points'])) {
$storyPoints = (float)$fields['story_points'];
}
$issues[] = [
'key' => $key,
'summary' => $summary,
@@ -409,6 +422,7 @@ function jira_fetch_issues(string $domain, string $email, string $apiToken, stri
'created' => $created,
'updated' => $updated,
'url' => "{$cleanDomain}/browse/{$key}",
'story_points' => $storyPoints,
'source' => 'JIRA_LIVE',
];
}