Mr-Help commited on
Commit
329a73c
·
verified ·
1 Parent(s): c49d4bf

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +30 -1
app.py CHANGED
@@ -86,4 +86,33 @@ def create_task(task: TaskData):
86
 
87
  logging.info(f"WhatsApp API Response: {whatsapp_response.status_code}, {whatsapp_response.json()}")
88
 
89
- return {"status_code": response.status_code, "response": response_data}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
86
 
87
  logging.info(f"WhatsApp API Response: {whatsapp_response.status_code}, {whatsapp_response.json()}")
88
 
89
+ return {"status_code": response.status_code, "response": response_data}
90
+
91
+ @app.post("/updates")
92
+ async def task_update(request: Request):
93
+ data = await request.json()
94
+ logging.info(f"Received task update from ClickUp: {data}")
95
+
96
+ # Extract necessary fields
97
+ task_id = data.get("task_id", "Unknown ID")
98
+ task_name = data.get("task", {}).get("name", "Unknown Task")
99
+ new_status = data.get("task", {}).get("status", {}).get("status", "").lower()
100
+ action_timestamp = data.get("history_items", [{}])[0].get("date", 0) # Get action date if available
101
+
102
+ # Convert action timestamp to a human-readable format
103
+ action_date_human = datetime.utcfromtimestamp(int(action_timestamp) / 1000).strftime('%Y-%m-%d %H:%M:%S') if action_timestamp else "Unknown Date"
104
+
105
+ # If status is "Ready for Review", send a WhatsApp notification
106
+ if new_status == "ready for review":
107
+ task_link = f"https://app.clickup.com/t/{task_id}"
108
+
109
+ whatsapp_payload = {
110
+ "chatId": "201092003112@c.us",
111
+ "message": f"📝 *Task Submitted for Review!*\n\n📌 *Task:* {task_name}\n📅 *Submitted On:* {action_date_human}\n\n🔗 *View Task:* {task_link}\n\nPlease review the task and provide feedback."
112
+ }
113
+
114
+ logging.info(f"Sending WhatsApp notification for task review: {whatsapp_payload}")
115
+ whatsapp_response = requests.post(WHATSAPP_URL, json=whatsapp_payload, headers=whatsapp_headers)
116
+ logging.info(f"WhatsApp API Response: {whatsapp_response.status_code}, {whatsapp_response.json()}")
117
+
118
+ return {"status": "Update received"}