MeltanoLabs / MeltanoLabs/tap-gitlab

Extract Comments for Issues, Merge Requests and Epics

Open
#19 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

accepting merge requests extract
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:

  1. List project issue notes
  2. List merge request notes
  3. 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:

  1. Gitlab API Documentation
  2. Gitlab API entities
  3. Entity Schemas

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.