From 54fb7792c83b1545e37806da5f3f0b46aae12f34 Mon Sep 17 00:00:00 2001 From: George <58168766+useruid@users.noreply.github.com> Date: Tue, 20 Feb 2024 00:17:36 +0200 Subject: [PATCH] Add Jira Server connector form (#1046) --- .../connectors/danswer_jira/connector.py | 10 ++++- web/src/app/admin/connectors/jira/page.tsx | 45 +++++++++++++++---- web/src/lib/types.ts | 4 ++ 3 files changed, 48 insertions(+), 11 deletions(-) diff --git a/backend/danswer/connectors/danswer_jira/connector.py b/backend/danswer/connectors/danswer_jira/connector.py index 8d82fd8b4..15be91888 100644 --- a/backend/danswer/connectors/danswer_jira/connector.py +++ b/backend/danswer/connectors/danswer_jira/connector.py @@ -103,9 +103,15 @@ class JiraConnector(LoadConnector, PollConnector): self.jira_client: JIRA | None = None def load_credentials(self, credentials: dict[str, Any]) -> dict[str, Any] | None: - email = credentials["jira_user_email"] api_token = credentials["jira_api_token"] - self.jira_client = JIRA(basic_auth=(email, api_token), server=self.jira_base) + # if user provide an email we assume it's cloud + if "jira_user_email" in credentials: + email = credentials["jira_user_email"] + self.jira_client = JIRA( + basic_auth=(email, api_token), server=self.jira_base + ) + else: + self.jira_client = JIRA(token_auth=api_token, server=self.jira_base) return None def load_from_state(self) -> GenerateDocumentsOutput: diff --git a/web/src/app/admin/connectors/jira/page.tsx b/web/src/app/admin/connectors/jira/page.tsx index 7e46fcee6..23cf93306 100644 --- a/web/src/app/admin/connectors/jira/page.tsx +++ b/web/src/app/admin/connectors/jira/page.tsx @@ -8,6 +8,7 @@ import { CredentialForm } from "@/components/admin/connectors/CredentialForm"; import { JiraConfig, JiraCredentialJson, + JiraServerCredentialJson, ConnectorIndexingStatus, } from "@/lib/types"; import useSWR, { useSWRConfig } from "swr"; @@ -71,7 +72,7 @@ const Main = () => { const jiraConnectorIndexingStatuses: ConnectorIndexingStatus< JiraConfig, - JiraCredentialJson + JiraCredentialJson | JiraServerCredentialJson >[] = connectorIndexingStatuses.filter( (connectorIndexingStatus) => connectorIndexingStatus.connector.source === "jira" @@ -90,12 +91,6 @@ const Main = () => { {jiraCredential ? ( <>
Existing Username:
-- {confluenceCredential.credential_json?.confluence_username} -
{" "} -Existing Access Token:
{jiraCredential.credential_json?.jira_api_token} @@ -142,8 +137,10 @@ const Main = () => { > here {" "} - to generate an Access Token. + to generate an Access Token (for cloud) or Personal Access Token + (for server). Submit only one form. +