[GH-ISSUE #14] GitLab connector does not support nested/multi-level group project paths #12

Closed
opened 2026-10-18 21:13:27 +00:00 by bsakaguchi · 2 comments
Owner

Originally created by @nwon910 on GitHub (Jun 2, 2026).
Original GitHub issue: https://github.com/open-webui/oikb/issues/14

Summary

The current GitLabConnector implementation does not support syncing from projects in nested group paths (multi-level namespaces) on self-hosted GitLab. For example, given a project at public/project1/docs, oikb tries to sync using the API path /api/v4/projects/public%2Fproject1, failing with 404 Project Not Found, since the actual project path should be /api/v4/projects/public%2Fproject1%2Fdocs.

Steps to Reproduce

  1. Try to sync from a GitLab repo in a nested group:
    oikb sync gitlab:public/project1/docs --kb-id <your-kb-id>
    
  2. Observe 404 Project Not Found error for /api/v4/projects/public%2Fproject1.

Expected Behavior

  • oikb should properly URL-encode and handle ANY depth of GitLab group/project path, so gitlab:public/project1/docs targets /api/v4/projects/public%2Fproject1%2Fdocs.

Actual Behavior

  • Only the first two path segments (public/project1) are used in the API call:
    self._project_id = f"{self.owner}%2F{self.repo}"
    
  • The third segment is always treated as a subdirectory to sync, not as part of the project path.

Thank you for your work, this is a fantastic addition to open-webui!

Originally created by @nwon910 on GitHub (Jun 2, 2026). Original GitHub issue: https://github.com/open-webui/oikb/issues/14 ### Summary The current `GitLabConnector` implementation does not support syncing from projects in nested group paths (multi-level namespaces) on self-hosted GitLab. For example, given a project at `public/project1/docs`, oikb tries to sync using the API path `/api/v4/projects/public%2Fproject1`, failing with 404 Project Not Found, since the actual project path should be `/api/v4/projects/public%2Fproject1%2Fdocs`. ### Steps to Reproduce 1. Try to sync from a GitLab repo in a nested group: ```bash oikb sync gitlab:public/project1/docs --kb-id <your-kb-id> ``` 2. Observe 404 Project Not Found error for `/api/v4/projects/public%2Fproject1`. ### Expected Behavior - oikb should properly URL-encode and handle ANY depth of GitLab group/project path, so `gitlab:public/project1/docs` targets `/api/v4/projects/public%2Fproject1%2Fdocs`. ### Actual Behavior - Only the first two path segments (`public/project1`) are used in the API call: ```python self._project_id = f"{self.owner}%2F{self.repo}" ``` - The third segment is always treated as a subdirectory to sync, not as part of the project path. --- Thank you for your work, this is a fantastic addition to open-webui!
Author
Owner

@rnogueira-tech commented on GitHub (Jul 6, 2026):

Hi, the user mhajder provided a solution for this problem some weeks ago, unfortunately we are still waiting for the new version. This problem makes oikb impossible to use.

<!-- gh-comment-id:4895014342 --> @rnogueira-tech commented on GitHub (Jul 6, 2026): Hi, the user [mhajder](https://github.com/mhajder) provided a solution for this problem some weeks ago, unfortunately we are still waiting for the new version. This problem makes oikb impossible to use.
Author
Owner

@rnogueira-tech commented on GitHub (Jul 9, 2026):

Is there a plans for future releases? This problem has a direct impact on the tool's usability.

<!-- gh-comment-id:4924001215 --> @rnogueira-tech commented on GitHub (Jul 9, 2026): Is there a plans for future releases? This problem has a direct impact on the tool's usability.
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
open-webui/oikb#12
No description provided.