Skip to content

Commit

Permalink
add link and add validations
Browse files Browse the repository at this point in the history
  • Loading branch information
guskovaue committed May 8, 2023
1 parent acce3cb commit 8e0c49c
Show file tree
Hide file tree
Showing 5 changed files with 28 additions and 11 deletions.
3 changes: 2 additions & 1 deletion packages/kbn-doc-links/src/get_doc_links.ts
Original file line number Diff line number Diff line change
Expand Up @@ -507,7 +507,8 @@ export const getDocLinks = ({ kibanaBranch }: GetDocLinkOptions): DocLinks => {
serviceNowAction: `${KIBANA_DOCS}servicenow-action-type.html#configuring-servicenow`,
serviceNowSIRAction: `${KIBANA_DOCS}servicenow-sir-action-type.html`,
setupPrerequisites: `${KIBANA_DOCS}alerting-setup.html#alerting-prerequisites`,
slackAction: `${KIBANA_DOCS}slack-action-type.html#configuring-slack`,
slackAction: `${KIBANA_DOCS}slack-action-type.html#cconfiguring-slack-webhook`,
slackApiAction: `${KIBANA_DOCS}slack-action-type.html#configuring-slack-web-api`,
teamsAction: `${KIBANA_DOCS}teams-action-type.html#configuring-teams`,
connectors: `${KIBANA_DOCS}action-types.html`,
},
Expand Down
1 change: 1 addition & 0 deletions packages/kbn-doc-links/src/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -388,6 +388,7 @@ export interface DocLinks {
serviceNowSIRAction: string;
setupPrerequisites: string;
slackAction: string;
slackApiAction: string;
teamsAction: string;
connectors: string;
}>;
Expand Down
5 changes: 3 additions & 2 deletions x-pack/plugins/stack_connectors/common/slack_api/schema.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,10 @@ export const GetChannelsParamsSchema = schema.object({
});

export const PostMessageSubActionParamsSchema = schema.object({
channels: schema.arrayOf(schema.string()),
text: schema.string(),
channels: schema.arrayOf(schema.string(), { maxSize: 1 }),
text: schema.string({ minLength: 1 }),
});

export const PostMessageParamsSchema = schema.object({
subAction: schema.literal('postMessage'),
subActionParams: PostMessageSubActionParamsSchema,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,24 +10,38 @@ import {
ActionConnectorFieldsProps,
SecretsFieldSchema,
SimpleConnectorForm,
useKibana,
} from '@kbn/triggers-actions-ui-plugin/public';
import { EuiLink } from '@elastic/eui';
import { FormattedMessage } from '@kbn/i18n-react';
import { DocLinksStart } from '@kbn/core/public';
import * as i18n from './translations';

const secretsFormSchema: SecretsFieldSchema[] = [
const getSecretsFormSchema = (docLinks: DocLinksStart): SecretsFieldSchema[] => [
{
id: 'token',
label: i18n.TOKEN_LABEL,
isPasswordField: true,
helpText: (
<EuiLink href={docLinks.links.alerting.slackApiAction} target="_blank">
<FormattedMessage
id="xpack.stackConnectors.components.slack_api.apiKeyDocumentation"
defaultMessage="Create a Slack Web API token"
/>
</EuiLink>
),
},
];

const SlackActionFields: React.FC<ActionConnectorFieldsProps> = ({ readOnly, isEdit }) => {
const { docLinks } = useKibana().services;

return (
<SimpleConnectorForm
isEdit={isEdit}
readOnly={readOnly}
configFormSchema={[]}
secretsFormSchema={secretsFormSchema}
secretsFormSchema={getSecretsFormSchema(docLinks)}
/>
);
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,34 +8,34 @@
import { i18n } from '@kbn/i18n';

export const MESSAGE_REQUIRED = i18n.translate(
'xpack.stackConnectors.components.slack.error.requiredSlackMessageText',
'xpack.stackConnectors.components.slack_api.error.requiredSlackMessageText',
{
defaultMessage: 'Message is required.',
}
);
export const CHANNEL_REQUIRED = i18n.translate(
'xpack.stackConnectors.components.slack.error.requiredSlackChannel',
'xpack.stackConnectors.components.slack_api.error.requiredSlackChannel',
{
defaultMessage: 'Channel is required.',
}
);
export const TOKEN_LABEL = i18n.translate(
'xpack.stackConnectors.components.slack.tokenTextFieldLabel',
'xpack.stackConnectors.components.slack_api.tokenTextFieldLabel',
{
defaultMessage: 'API Token',
}
);
export const WEB_API = i18n.translate('xpack.stackConnectors.components.slack.webApi', {
export const WEB_API = i18n.translate('xpack.stackConnectors.components.slack_api.webApi', {
defaultMessage: 'Web API',
});
export const SELECT_MESSAGE = i18n.translate(
'xpack.stackConnectors.components.slack.selectMessageText',
'xpack.stackConnectors.components.slack_api.selectMessageText',
{
defaultMessage: 'Send messages to Slack channels.',
}
);
export const ACTION_TYPE_TITLE = i18n.translate(
'xpack.stackConnectors.components.slack.connectorTypeTitle',
'xpack.stackConnectors.components.slack_api.connectorTypeTitle',
{
defaultMessage: 'Send to Slack',
}
Expand Down

0 comments on commit 8e0c49c

Please sign in to comment.