import React from 'react'; import PropTypes from 'prop-types'; import { withTranslation } from 'react-i18next'; import { createSubscribedElement } from '../../UnstatedUtils'; import AppContainer from '../../../services/AppContainer'; import AdminNotificationContainer from '../../../services/AdminNotificationContainer'; import AdminUpdateButtonRow from '../Common/AdminUpdateButtonRow'; class SlackAppConfiguration extends React.Component { // TODO GW-788 i18n render() { const { adminNotificationContainer } = this.props; return (
{/* TODO adjust dropdown after BS4 */}
{adminNotificationContainer.state.selectSlackOption === 'Incoming Webhooks' ? (

Slack Incoming Webhooks Configuration

adminNotificationContainer.changeWebhookUrl(e.target.value)} />
{ adminNotificationContainer.switchIsIncomingWebhookPrioritized() }} />

Check this option and GROWI use Incoming Webhooks even if Slack App settings are enabled.

) : (

Slack App Configuration

NOT RECOMMENDED

This is the way that compatible with Crowi,
but not recommended in GROWI because it is too complex.

Please use adminNotificationContainer.switchSlackOption('Incoming Webhooks')} > Slack incomming webhooks Configuration instead.
adminNotificationContainer.changeSlackToken(e.target.value)} />
) }

How to configure Incoming Webhooks?

  1. (At Workspace) Add a hook
    1. Go to Incoming Webhooks Configuration page.
    2. Choose the default channel to post.
    3. Add.
  2. (At GROWI admin page) Set Webhook URL
    1. Input ”Webhook URL” and submit on this page.
); } } const SlackAppConfigurationWrapper = (props) => { return createSubscribedElement(SlackAppConfiguration, props, [AppContainer, AdminNotificationContainer]); }; SlackAppConfiguration.propTypes = { t: PropTypes.func.isRequired, // i18next appContainer: PropTypes.instanceOf(AppContainer).isRequired, adminNotificationContainer: PropTypes.instanceOf(AdminNotificationContainer).isRequired, }; export default withTranslation()(SlackAppConfigurationWrapper);