@@ -116,15 +116,22 @@ def track_parent(
116116 issue_activities ,
117117 epoch ,
118118):
119- if current_instance .get ("parent_id" ) != requested_data .get ("parent_id" ):
119+ current_parent_id = current_instance .get ("parent_id" ) or current_instance .get (
120+ "parent"
121+ )
122+ requested_parent_id = requested_data .get ("parent_id" ) or requested_data .get (
123+ "parent"
124+ )
125+
126+ if current_parent_id != requested_parent_id :
120127 old_parent = (
121- Issue .objects .filter (pk = current_instance . get ( "parent_id" ) ).first ()
122- if current_instance . get ( "parent_id" ) is not None
128+ Issue .objects .filter (pk = current_parent_id ).first ()
129+ if current_parent_id is not None
123130 else None
124131 )
125132 new_parent = (
126- Issue .objects .filter (pk = requested_data . get ( "parent_id" ) ).first ()
127- if requested_data . get ( "parent_id" ) is not None
133+ Issue .objects .filter (pk = requested_parent_id ).first ()
134+ if requested_parent_id is not None
128135 else None
129136 )
130137
@@ -193,9 +200,12 @@ def track_state(
193200 issue_activities ,
194201 epoch ,
195202):
196- if current_instance .get ("state_id" ) != requested_data .get ("state_id" ):
197- new_state = State .objects .get (pk = requested_data .get ("state_id" , None ))
198- old_state = State .objects .get (pk = current_instance .get ("state_id" , None ))
203+ current_state_id = current_instance .get ("state_id" ) or current_instance .get ("state" )
204+ requested_state_id = requested_data .get ("state_id" ) or requested_data .get ("state" )
205+
206+ if current_state_id != requested_state_id :
207+ new_state = State .objects .get (pk = requested_state_id )
208+ old_state = State .objects .get (pk = current_state_id )
199209
200210 issue_activities .append (
201211 IssueActivity (
@@ -298,8 +308,26 @@ def track_labels(
298308 issue_activities ,
299309 epoch ,
300310):
301- requested_labels = set ([str (lab ) for lab in requested_data .get ("label_ids" , [])])
302- current_labels = set ([str (lab ) for lab in current_instance .get ("label_ids" , [])])
311+ requested_labels = set (
312+ [
313+ str (lab )
314+ for lab in (
315+ requested_data ["label_ids" ]
316+ if "label_ids" in requested_data
317+ else requested_data .get ("labels" , [])
318+ )
319+ ]
320+ )
321+ current_labels = set (
322+ [
323+ str (lab )
324+ for lab in (
325+ current_instance ["label_ids" ]
326+ if "label_ids" in current_instance
327+ else current_instance .get ("labels" , [])
328+ )
329+ ]
330+ )
303331
304332 added_labels = requested_labels - current_labels
305333 dropped_labels = current_labels - requested_labels
@@ -365,13 +393,22 @@ def track_assignees(
365393 epoch ,
366394):
367395 requested_assignees = (
368- set ([str (asg ) for asg in requested_data .get ("assignee_ids" , [])])
369- if requested_data is not None
396+ set ([str (asg ) for asg in (
397+ requested_data .get ("assignee_ids" )
398+ if "assignee_ids" in requested_data
399+ else requested_data .get ("assignees" , [])
400+ )])
401+ if requested_data is not None
370402 else set ()
371403 )
404+
372405 current_assignees = (
373- set ([str (asg ) for asg in current_instance .get ("assignee_ids" , [])])
374- if current_instance is not None
406+ set ([str (asg ) for asg in (
407+ current_instance .get ("assignee_ids" )
408+ if "assignee_ids" in current_instance
409+ else current_instance .get ("assignees" , [])
410+ )])
411+ if current_instance is not None
375412 else set ()
376413 )
377414
@@ -631,6 +668,11 @@ def update_issue_activity(
631668 "estimate_point" : track_estimate_points ,
632669 "archived_at" : track_archive_at ,
633670 "closed_to" : track_closed_to ,
671+ # External endpoint keys
672+ "parent" : track_parent ,
673+ "state" : track_state ,
674+ "assignees" : track_assignees ,
675+ "labels" : track_labels ,
634676 }
635677
636678 requested_data = json .loads (requested_data ) if requested_data is not None else None
0 commit comments