@@ -26,6 +26,13 @@ def post_process(self, row: dict, context: Optional[dict] = None) -> Optional[di
2626 result ["owner_id" ] = pop_nested_id (result , "owner" )
2727 return result
2828
29+ def get_child_context (self , record : dict , context : Optional [dict ]) -> dict :
30+ assert context is not None
31+ return {
32+ "project_id" : record ["id" ],
33+ "project_path" : context ["project_path" ],
34+ }
35+
2936
3037class IssuesStream (ProjectBasedStream ):
3138 """Gitlab Issues stream."""
@@ -102,6 +109,20 @@ class BranchesStream(ProjectBasedStream):
102109 name = "branches"
103110 path = "/projects/{project_path}/repository/branches"
104111 primary_keys = ["project_id" , "name" ]
112+ # TODO: Research why this fails:
113+ # parent_stream_type = ProjectsStream
114+
115+ def post_process (self , row : dict , context : Optional [dict ] = None ) -> Optional [dict ]:
116+ result = super ().post_process (row , context )
117+ if result is None :
118+ return None
119+
120+ assert context is not None
121+
122+ # TODO: Uncomment when parent relationship works
123+ # result["project_id"] = context["project_id"]
124+ result ["commit_id" ] = pop_nested_id (result , "commit" )
125+ return result
105126
106127
107128class PipelinesStream (ProjectBasedStream ):
0 commit comments