Skip to content

Commit f132f40

Browse files
committed
workaround and TODOs for random issues
1 parent 6be1da0 commit f132f40

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

tap_gitlab/streams.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

3037
class 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

107128
class PipelinesStream(ProjectBasedStream):

0 commit comments

Comments
 (0)