Skip to content

Commit fc24be6

Browse files
DevRevDevRev
authored andcommitted
corrected a bug in dates field
1 parent cc2b2fe commit fc24be6

File tree

1 file changed

+32
-11
lines changed

1 file changed

+32
-11
lines changed

src/devrev_mcp/server.py

Lines changed: 32 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@ async def handle_list_tools() -> list[types.Tool]:
117117
"after": {"type": "string", "description": "The start date of the target start date range, for example: 2025-06-03T00:00:00Z"},
118118
"before": {"type": "string", "description": "The end date of the target start date range, for example: 2025-06-03T00:00:00Z"},
119119
},
120+
"description": "The target start date range can only be used for issues. Do not use this field for tickets.",
120121
"required": ["after", "before"]
121122
},
122123
"actual_close_date": {
@@ -133,6 +134,7 @@ async def handle_list_tools() -> list[types.Tool]:
133134
"after": {"type": "string", "description": "The start date of the actual start date range, for example: 2025-06-03T00:00:00Z"},
134135
"before": {"type": "string", "description": "The end date of the actual start date range, for example: 2025-06-03T00:00:00Z"},
135136
},
137+
"description": "The actual start date range can only be used for issues. Do not use this field for tickets.",
136138
"required": ["after", "before"]
137139
},
138140
"created_date": {
@@ -444,7 +446,7 @@ async def handle_call_tool(
444446
payload = {}
445447
payload["issue"] = {}
446448
payload["ticket"] = {}
447-
449+
448450
type = arguments.get("type")
449451
if not type:
450452
raise ValueError("Missing type parameter")
@@ -475,25 +477,30 @@ async def handle_call_tool(
475477
payload["sort_by"] = sort_by
476478

477479
rev_orgs = arguments.get("rev_orgs")
478-
if rev_orgs:
479-
payload["ticket"]["rev_org"] = rev_orgs
480-
payload["issue"]["rev_orgs"] = rev_orgs
480+
if rev_orgs and rev_orgs != []:
481+
if 'ticket' in type:
482+
payload["ticket"]["rev_org"] = rev_orgs
483+
484+
if 'issue' in type:
485+
payload["issue"]["rev_orgs"] = rev_orgs
481486

482487
target_close_date = arguments.get("target_close_date")
483488
if target_close_date:
484489
payload["target_close_date"] = {"type": "range", "after": target_close_date["after"], "before": target_close_date["before"]}
485490

486491
target_start_date = arguments.get("target_start_date")
487492
if target_start_date:
488-
payload["issue"]["target_start_date"] = {"type": "range", "after": target_start_date["after"], "before": target_start_date["before"]}
493+
if 'issue' in type:
494+
payload["issue"]["target_start_date"] = {"type": "range", "after": target_start_date["after"], "before": target_start_date["before"]}
489495

490496
actual_close_date = arguments.get("actual_close_date")
491497
if actual_close_date:
492498
payload["actual_close_date"] = {"type": "range", "after": actual_close_date["after"], "before": actual_close_date["before"]}
493499

494500
actual_start_date = arguments.get("actual_start_date")
495501
if actual_start_date:
496-
payload["issue"]["actual_start_date"] = {"type": "range", "after": actual_start_date["after"], "before": actual_start_date["before"]}
502+
if 'issue' in type:
503+
payload["issue"]["actual_start_date"] = {"type": "range", "after": actual_start_date["after"], "before": actual_start_date["before"]}
497504

498505
created_date = arguments.get("created_date")
499506
if created_date:
@@ -503,6 +510,12 @@ async def handle_call_tool(
503510
if modified_date:
504511
payload["modified_date"] = {"type": "range", "after": modified_date["after"], "before": modified_date["before"]}
505512

513+
if payload["issue"] == {}:
514+
payload.pop("issue")
515+
516+
if payload["ticket"] == {}:
517+
payload.pop("ticket")
518+
506519
response = make_devrev_request(
507520
"works.list",
508521
payload
@@ -692,23 +705,31 @@ async def handle_call_tool(
692705

693706
accounts = arguments.get("accounts")
694707
if accounts:
695-
payload["enhancement"]["accounts"] = accounts
708+
if 'enhancement' in type:
709+
payload["enhancement"]["accounts"] = accounts
696710

697711
target_close_date = arguments.get("target_close_date")
698712
if target_close_date:
699-
payload["enhancement"]["target_close_date"] = {"after": target_close_date["after"], "before": target_close_date["before"]}
713+
if 'enhancement' in type:
714+
payload["enhancement"]["target_close_date"] = {"after": target_close_date["after"], "before": target_close_date["before"]}
700715

701716
target_start_date = arguments.get("target_start_date")
702717
if target_start_date:
703-
payload["enhancement"]["target_start_date"] = {"after": target_start_date["after"], "before": target_start_date["before"]}
718+
if 'enhancement' in type:
719+
payload["enhancement"]["target_start_date"] = {"after": target_start_date["after"], "before": target_start_date["before"]}
704720

705721
actual_close_date = arguments.get("actual_close_date")
706722
if actual_close_date:
707-
payload["enhancement"]["actual_close_date"] = {"after": actual_close_date["after"], "before": actual_close_date["before"]}
723+
if 'enhancement' in type:
724+
payload["enhancement"]["actual_close_date"] = {"after": actual_close_date["after"], "before": actual_close_date["before"]}
708725

709726
actual_start_date = arguments.get("actual_start_date")
710727
if actual_start_date:
711-
payload["enhancement"]["actual_start_date"] = {"after": actual_start_date["after"], "before": actual_start_date["before"]}
728+
if 'enhancement' in type:
729+
payload["enhancement"]["actual_start_date"] = {"after": actual_start_date["after"], "before": actual_start_date["before"]}
730+
731+
if payload["enhancement"] == {}:
732+
payload.pop("enhancement")
712733

713734
response = make_devrev_request(
714735
"parts.list",

0 commit comments

Comments
 (0)