diff --git a/web/src/components/credentials/lib.ts b/web/src/components/credentials/lib.ts index d2f9c35c62e5..4ffc5cd2cdd0 100644 --- a/web/src/components/credentials/lib.ts +++ b/web/src/components/credentials/lib.ts @@ -11,9 +11,13 @@ export function createValidationSchema(json_values: dictionaryType) { for (const key in json_values) { if (Object.prototype.hasOwnProperty.call(json_values, key)) { - schemaFields[key] = Yup.string().required( - `Please enter your ${getDisplayNameForCredentialKey(key)}` - ); + if (json_values[key] === null) { + schemaFields[key] = Yup.string().optional(); + } else { + schemaFields[key] = Yup.string().required( + `Please enter your ${getDisplayNameForCredentialKey(key)}` + ); + } } } diff --git a/web/src/lib/connectors/credentials.ts b/web/src/lib/connectors/credentials.ts index 49bf31aafc7c..3e27f5cb0f18 100644 --- a/web/src/lib/connectors/credentials.ts +++ b/web/src/lib/connectors/credentials.ts @@ -35,7 +35,7 @@ export interface ConfluenceCredentialJson { } export interface JiraCredentialJson { - jira_user_email: string; + jira_user_email: string | null; jira_api_token: string; } @@ -201,7 +201,7 @@ export const credentialTemplates: Record = { confluence_access_token: "", } as ConfluenceCredentialJson, jira: { - jira_user_email: "", + jira_user_email: null, jira_api_token: "", } as JiraCredentialJson, productboard: { productboard_access_token: "" } as ProductboardCredentialJson, @@ -311,8 +311,8 @@ export const credentialDisplayNames: Record = { confluence_access_token: "Confluence Access Token", // Jira - jira_user_email: "Jira User Email", - jira_api_token: "Jira API Token", + jira_user_email: "Jira User Email (required for Jira Cloud)", + jira_api_token: "API or Personal Access Token", // Productboard productboard_access_token: "Productboard Access Token",