https://github.com/sue445/gitpanda_fetcher
Module for parsing GitLab URLs and retrieving information via GitLab API
https://github.com/sue445/gitpanda_fetcher
gitlab
Last synced: 4 months ago
JSON representation
Module for parsing GitLab URLs and retrieving information via GitLab API
- Host: GitHub
- URL: https://github.com/sue445/gitpanda_fetcher
- Owner: sue445
- License: mit
- Created: 2026-02-12T09:36:58.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2026-02-12T15:53:20.000Z (5 months ago)
- Last Synced: 2026-02-13T00:05:39.555Z (5 months ago)
- Topics: gitlab
- Language: Go
- Homepage:
- Size: 203 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# gitpanda_fetcher :panda_face:
Module for parsing [GitLab™](https://about.gitlab.com/) URLs and retrieving information via GitLab API
This is a module spun-off from https://github.com/sue445/gitpanda.
_GITLAB is a trademark of GitLab Inc. in the United States and other countries and regions_
[](https://github.com/sue445/gitpanda_fetcher/tags)
[](https://github.com/sue445/gitpanda_fetcher/actions/workflows/test.yml)
[](https://godoc.org/github.com/sue445/gitpanda_fetcher)
[](https://goreportcard.com/report/github.com/sue445/gitpanda_fetcher)
[](https://coveralls.io/github/sue445/gitpanda_fetcher)
## Usage
```go
package main
import (
"github.com/sue445/gitpanda_fetcher"
)
func main() {
client, err := fetcher.NewClient(&fetcher.ClientParams{
APIEndpoint: "https://gitlab.example.com/api/v4",
BaseURL: "https://gitlab.example.com",
PrivateToken: "xxxxxxxxxx",
IsDebugLogging: true,
})
page, err := client.FetchURL("https://gitlab.example.com/user/repo/-/merge_requests/123")
}
```
## Requirements
* GitLab API v4
## Supported URL format
* User URL
* e.g. `${GITLAB_BASE_URL}/:username`
* Group URL
* e.g. `${GITLAB_BASE_URL}/:groupname`
* Project URL
* e.g. `${GITLAB_BASE_URL}/:namespace/:reponame`
* Issue URL
* e.g. `${GITLAB_BASE_URL}/:namespace/:reponame/issues/:iid`
* MergeRequest URL
* e.g. `${GITLAB_BASE_URL}/:namespace/:reponame/merge_requests/:iid`
* Job URL
* e.g. `${GITLAB_BASE_URL}/:namespace/:reponame/-/jobs/:id`
* Pipeline URL
* e.g. `${GITLAB_BASE_URL}/:namespace/:reponame/pipelines/:id`
* Blob URL
* e.g. `${GITLAB_BASE_URL}/:namespace/:reponame/blob/:sha1/:filename`
* Commit URL
* e.g. `${GITLAB_BASE_URL}/:namespace/:reponame/commit/:sha1`
* Project snippet URL
* e.g. `${GITLAB_BASE_URL}/:namespace/:reponame/snippets/:id`
* Snippet URL
* e.g. `${GITLAB_BASE_URL}/snippets/:id`
* Epic URL
* e.g. `${GITLAB_BASE_URL}/groups/:groupname/-/epics/:iid`
* Work item URL
* e.g. `${GITLAB_BASE_URL}/:namespace/:reponame/-/work_items/:iid`