aboutsummaryrefslogtreecommitdiffstats
path: root/bridge/gitlab/gitlab.go
diff options
context:
space:
mode:
authorMichael Muré <batolettre@gmail.com>2019-07-23 19:50:58 +0200
committerGitHub <noreply@github.com>2019-07-23 19:50:58 +0200
commit9ecbcb1cf6348b95b31ccef3f9722be078dbe223 (patch)
treed855b993905051d5ff5dbc3e30460bc09fa2e2c4 /bridge/gitlab/gitlab.go
parentca00c9c6b84f0b1333e40666ab979d0d8fdc4036 (diff)
parent29fdd37ce69b48aa9fc3c1b829ff67818041068f (diff)
downloadgit-bug-9ecbcb1cf6348b95b31ccef3f9722be078dbe223.tar.gz
Merge pull request #179 from MichaelMure/gitlab-support
Add gitlab bridge configuration and importer
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)
+}