mirror of
https://github.com/MervinPraison/PraisonAI.git
synced 2026-11-09 17:31:52 -10:00
* feat: add JIRA Agent watch tools for monitoring issues and projects - Add jira_tools.py with 4 comprehensive JIRA monitoring tools - jira_watch_issue: Monitor specific issues for real-time changes - jira_watch_project: Watch projects for new and updated issues - jira_get_issue_info: Get detailed issue information - jira_search_issues: Search using JQL queries - Support both cloud and server JIRA authentication - Include comprehensive unit tests and usage example - Follow protocol-driven architecture with @tool decorator - Implement lazy imports and proper error handling Co-authored-by: MervinPraison <[email protected]> * fix: resolve critical JIRA tools issues - blocking sleep, data loss, injection, mocking - Replace blocking time.sleep() polling with timestamp-based single-shot checks - Fix silent comment data loss by tracking comments independently - Add project key validation to prevent JQL injection attacks - Fix test mocking to use correct patch target (jira.JIRA) - Remove unused variables and improve code quality - Update tests for new non-blocking API Fixes blocking agent execution and security vulnerabilities identified by reviewers. Co-authored-by: Mervin Praison <[email protected]> * fix: resolve critical JIRA tools issues - string timestamp comparison, JQL injection, null safety - Added _parse_timestamp() helper to properly parse ISO 8601 timestamps into datetime objects - Added _validate_timestamp() to prevent JQL injection through timestamp parameters - Fixed all timestamp comparisons to use datetime objects instead of string comparisons - Added null safety checks for all JIRA API fields (author, creator, reporter) - Removed unnecessary expand parameter from jira_get_issue_info - Added comprehensive unit tests for timestamp parsing utilities Addresses issues identified by Gemini, Greptile, and other reviewers --------- Co-authored-by: praisonai-triage-agent[bot] <272766704+praisonai-triage-agent[bot]@users.noreply.github.com> Co-authored-by: MervinPraison <[email protected]>