feat: PAT support for jira server in a hacky way
diff --git a/plugins/jira/api/connection.go b/plugins/jira/api/connection.go
index 8efb8d4..221d5b4 100644
--- a/plugins/jira/api/connection.go
+++ b/plugins/jira/api/connection.go
@@ -48,13 +48,17 @@
if err != nil {
return nil, err
}
+ headers := map[string]string{
+ "Authorization": fmt.Sprintf("Basic %v", connection.GetEncodedToken()),
+ }
+ if connection.Username == "_BEARER_TOKEN_" {
+ headers["Authorization"] = fmt.Sprintf("Bearer %v", connection.Password)
+ }
// test connection
apiClient, err := helper.NewApiClient(
context.TODO(),
connection.Endpoint,
- map[string]string{
- "Authorization": fmt.Sprintf("Basic %v", connection.GetEncodedToken()),
- },
+ headers,
3*time.Second,
connection.Proxy,
basicRes,
diff --git a/plugins/jira/api/proxy.go b/plugins/jira/api/proxy.go
index 4d767f6..5dd204c 100644
--- a/plugins/jira/api/proxy.go
+++ b/plugins/jira/api/proxy.go
@@ -35,12 +35,16 @@
if err != nil {
return nil, err
}
+ headers := map[string]string{
+ "Authorization": fmt.Sprintf("Basic %v", connection.GetEncodedToken()),
+ }
+ if connection.Username == "_BEARER_TOKEN_" {
+ headers["Authorization"] = fmt.Sprintf("Bearer %v", connection.Password)
+ }
apiClient, err := helper.NewApiClient(
context.TODO(),
connection.Endpoint,
- map[string]string{
- "Authorization": fmt.Sprintf("Basic %v", connection.GetEncodedToken()),
- },
+ headers,
30*time.Second,
connection.Proxy,
basicRes,
diff --git a/plugins/jira/tasks/api_client.go b/plugins/jira/tasks/api_client.go
index a354fec..3b27c0e 100644
--- a/plugins/jira/tasks/api_client.go
+++ b/plugins/jira/tasks/api_client.go
@@ -19,9 +19,10 @@
import (
"fmt"
- "github.com/apache/incubator-devlake/errors"
"net/http"
+ "github.com/apache/incubator-devlake/errors"
+
"github.com/apache/incubator-devlake/plugins/core"
"github.com/apache/incubator-devlake/plugins/helper"
"github.com/apache/incubator-devlake/plugins/jira/models"
@@ -32,6 +33,9 @@
headers := map[string]string{
"Authorization": fmt.Sprintf("Basic %v", connection.GetEncodedToken()),
}
+ if connection.Username == "_BEARER_TOKEN_" {
+ headers["Authorization"] = fmt.Sprintf("Bearer %v", connection.Password)
+ }
apiClient, err := helper.NewApiClient(taskCtx.GetContext(), connection.Endpoint, headers, 0, connection.Proxy, taskCtx)
if err != nil {