aboutsummaryrefslogtreecommitdiffstats
path: root/bridge/gitlab/gitlab.go
diff options
context:
space:
mode:
Diffstat (limited to 'bridge/gitlab/gitlab.go')
-rw-r--r--bridge/gitlab/gitlab.go50
1 files changed, 50 insertions, 0 deletions
diff --git a/bridge/gitlab/gitlab.go b/bridge/gitlab/gitlab.go
new file mode 100644
index 00000000..63c212ed
--- /dev/null
+++ b/bridge/gitlab/gitlab.go
@@ -0,0 +1,50 @@
+package gitlab
+
+import (
+ "net/http"
+ "time"
+
+ "github.com/xanzy/go-gitlab"
+
+ "github.com/MichaelMure/git-bug/bridge/core"
+)
+
+const (
+ target = "gitlab"
+
+ keyGitlabId = "gitlab-id"
+ keyGitlabUrl = "gitlab-url"
+ keyGitlabLogin = "gitlab-login"
+ keyGitlabProject = "gitlab-project-id"
+
+ keyProjectID = "project-id"
+ keyToken = "token"
+
+ defaultTimeout = 60 * time.Second
+)
+
+func init() {
+ core.Register(&Gitlab{})
+}
+
+type Gitlab struct{}
+
+func (*Gitlab) Target() string {
+ return target
+}
+
+func (*Gitlab) NewImporter() core.Importer {
+ return &gitlabImporter{}
+}
+
+func (*Gitlab) NewExporter() core.Exporter {
+ return nil
+}
+
+func buildClient(token string) *gitlab.Client {
+ client := &http.Client{
+ Timeout: defaultTimeout,
+ }
+
+ return gitlab.NewClient(client, token)
+}