MeltanoLabs / MeltanoLabs/tap-gitlab
Extract Comments for Issues, Merge Requests and Epics
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 12
- Forks
- 29
- Avg merge
- 4d 1h
- Merged PRs (30d)
- 1
Description
In GitLab by @iroussos on Nov 12, 2019, 07:27
We are currently not extracting the Comments on Issues and Merge Requests.
All comments can be fetched by using the notes API end point:
- List project issue notes
- List merge request notes
- List epic notes (should be enabled only if
"ultimate_license": true)
Similarly to fetching the Commits for a Merge Request, this operation requires one API call per Merge Request (or Issue / Epic), so going through that flow can slow down considerably the end-to-end extraction time. For example, in a project like gitlab-org/gitlab-foss, this would result to an additional ~90K more API calls.
The approach should be similar to what we did with fetching the Commits for a Merge Request, with a configuration parameter similar to fetch_merge_request_commits that will allow users to manually set this option for projects they know can handle that type of N+1 querying.
Useful Resources when working with Gitlab's API:
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by comparing the existing merge-request commit extraction flow and its fetch_merge_request_commits configuration with GitLab's issue, merge request, and epic notes API endpoints. Check the linked GitLab API documentation, entity definitions, and schema resources. Done means comments can be optionally fetched for each resource, epic notes respect ultimate_license, and the extra N+1 requests are disabled unless configured.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- gitlab, python
- Domain
- api, backend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100