unleash-server 4.2.0-2 → 4.2.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/addons/addon.js +1 -1
- package/dist/lib/addons/addon.js.map +1 -1
- package/dist/lib/addons/datadog-definition.js +7 -0
- package/dist/lib/addons/datadog-definition.js.map +1 -1
- package/dist/lib/addons/datadog.d.ts +5 -0
- package/dist/lib/addons/datadog.js +53 -0
- package/dist/lib/addons/datadog.js.map +1 -1
- package/dist/lib/addons/datadog.test.js +26 -1
- package/dist/lib/addons/datadog.test.js.map +1 -1
- package/dist/lib/addons/slack-definition.js +7 -0
- package/dist/lib/addons/slack-definition.js.map +1 -1
- package/dist/lib/addons/slack.d.ts +5 -0
- package/dist/lib/addons/slack.js +53 -0
- package/dist/lib/addons/slack.js.map +1 -1
- package/dist/lib/addons/slack.test.js +25 -0
- package/dist/lib/addons/slack.test.js.map +1 -1
- package/dist/lib/addons/teams-definition.js +7 -0
- package/dist/lib/addons/teams-definition.js.map +1 -1
- package/dist/lib/addons/teams.d.ts +5 -0
- package/dist/lib/addons/teams.js +53 -0
- package/dist/lib/addons/teams.js.map +1 -1
- package/dist/lib/addons/teams.test.js +25 -0
- package/dist/lib/addons/teams.test.js.map +1 -1
- package/dist/lib/addons/webhook-definition.js +8 -0
- package/dist/lib/addons/webhook-definition.js.map +1 -1
- package/dist/lib/app.js +20 -20
- package/dist/lib/app.js.map +1 -1
- package/dist/lib/app.test.js +3 -3
- package/dist/lib/app.test.js.map +1 -1
- package/dist/lib/create-config.js +11 -8
- package/dist/lib/create-config.js.map +1 -1
- package/dist/lib/db/client-instance-store.js +5 -2
- package/dist/lib/db/client-instance-store.js.map +1 -1
- package/dist/lib/db/client-metrics-store-v2.d.ts +19 -0
- package/dist/lib/db/client-metrics-store-v2.js +126 -0
- package/dist/lib/db/client-metrics-store-v2.js.map +1 -0
- package/dist/lib/db/db-pool.js +1 -1
- package/dist/lib/db/db-pool.js.map +1 -1
- package/dist/lib/db/environment-store.js +2 -2
- package/dist/lib/db/environment-store.js.map +1 -1
- package/dist/lib/db/event-store.test.js +2 -2
- package/dist/lib/db/event-store.test.js.map +1 -1
- package/dist/lib/db/feature-environment-store.d.ts +1 -0
- package/dist/lib/db/feature-environment-store.js +13 -1
- package/dist/lib/db/feature-environment-store.js.map +1 -1
- package/dist/lib/db/feature-strategy-store.js +9 -2
- package/dist/lib/db/feature-strategy-store.js.map +1 -1
- package/dist/lib/db/feature-toggle-client-store.js +5 -7
- package/dist/lib/db/feature-toggle-client-store.js.map +1 -1
- package/dist/lib/db/index.js +2 -0
- package/dist/lib/db/index.js.map +1 -1
- package/dist/lib/event-hook.test.js +1 -1
- package/dist/lib/event-hook.test.js.map +1 -1
- package/dist/lib/logger.js +1 -1
- package/dist/lib/logger.js.map +1 -1
- package/dist/lib/metrics.test.js +3 -3
- package/dist/lib/metrics.test.js.map +1 -1
- package/dist/lib/middleware/api-token-middleware.test.js +8 -8
- package/dist/lib/middleware/api-token-middleware.test.js.map +1 -1
- package/dist/lib/middleware/content_type_checker.test.js +4 -4
- package/dist/lib/middleware/content_type_checker.test.js.map +1 -1
- package/dist/lib/middleware/no-authentication.test.js +3 -3
- package/dist/lib/middleware/no-authentication.test.js.map +1 -1
- package/dist/lib/middleware/oss-authentication.test.js +7 -7
- package/dist/lib/middleware/oss-authentication.test.js.map +1 -1
- package/dist/lib/middleware/rbac-middleware.test.js +14 -14
- package/dist/lib/middleware/rbac-middleware.test.js.map +1 -1
- package/dist/lib/middleware/secure-headers.js +1 -1
- package/dist/lib/middleware/secure-headers.js.map +1 -1
- package/dist/lib/middleware/session-db.js +2 -2
- package/dist/lib/middleware/session-db.js.map +1 -1
- package/dist/lib/routes/admin-api/addon.js +3 -3
- package/dist/lib/routes/admin-api/addon.js.map +1 -1
- package/dist/lib/routes/admin-api/archive.js +2 -2
- package/dist/lib/routes/admin-api/archive.js.map +1 -1
- package/dist/lib/routes/admin-api/client-metrics.d.ts +12 -0
- package/dist/lib/routes/admin-api/client-metrics.js +35 -0
- package/dist/lib/routes/admin-api/client-metrics.js.map +1 -0
- package/dist/lib/routes/admin-api/config.test.js +5 -5
- package/dist/lib/routes/admin-api/config.test.js.map +1 -1
- package/dist/lib/routes/admin-api/context.js +3 -3
- package/dist/lib/routes/admin-api/context.js.map +1 -1
- package/dist/lib/routes/admin-api/context.test.js +6 -6
- package/dist/lib/routes/admin-api/context.test.js.map +1 -1
- package/dist/lib/routes/admin-api/email.test.js +6 -6
- package/dist/lib/routes/admin-api/email.test.js.map +1 -1
- package/dist/lib/routes/admin-api/events.test.js +5 -5
- package/dist/lib/routes/admin-api/events.test.js.map +1 -1
- package/dist/lib/routes/admin-api/feature.js +10 -10
- package/dist/lib/routes/admin-api/feature.js.map +1 -1
- package/dist/lib/routes/admin-api/index.js +2 -0
- package/dist/lib/routes/admin-api/index.js.map +1 -1
- package/dist/lib/routes/admin-api/metrics.test.js +6 -6
- package/dist/lib/routes/admin-api/metrics.test.js.map +1 -1
- package/dist/lib/routes/admin-api/project/features.d.ts +5 -1
- package/dist/lib/routes/admin-api/project/features.js +23 -17
- package/dist/lib/routes/admin-api/project/features.js.map +1 -1
- package/dist/lib/routes/admin-api/state.js +3 -3
- package/dist/lib/routes/admin-api/state.js.map +1 -1
- package/dist/lib/routes/admin-api/strategy.js +11 -11
- package/dist/lib/routes/admin-api/strategy.js.map +1 -1
- package/dist/lib/routes/admin-api/strategy.test.js +6 -6
- package/dist/lib/routes/admin-api/strategy.test.js.map +1 -1
- package/dist/lib/routes/admin-api/tag-type.js +3 -3
- package/dist/lib/routes/admin-api/tag-type.js.map +1 -1
- package/dist/lib/routes/admin-api/tag.js +2 -2
- package/dist/lib/routes/admin-api/tag.js.map +1 -1
- package/dist/lib/routes/admin-api/tag.test.js +6 -6
- package/dist/lib/routes/admin-api/tag.test.js.map +1 -1
- package/dist/lib/routes/admin-api/user.test.js +5 -5
- package/dist/lib/routes/admin-api/user.test.js.map +1 -1
- package/dist/lib/routes/backstage.test.js +5 -5
- package/dist/lib/routes/backstage.test.js.map +1 -1
- package/dist/lib/routes/client-api/feature.js +1 -1
- package/dist/lib/routes/client-api/feature.js.map +1 -1
- package/dist/lib/routes/client-api/feature.test.js +5 -5
- package/dist/lib/routes/client-api/feature.test.js.map +1 -1
- package/dist/lib/routes/client-api/metrics.d.ts +5 -1
- package/dist/lib/routes/client-api/metrics.js +22 -5
- package/dist/lib/routes/client-api/metrics.js.map +1 -1
- package/dist/lib/routes/client-api/metrics.test.js +29 -6
- package/dist/lib/routes/client-api/metrics.test.js.map +1 -1
- package/dist/lib/routes/client-api/register.d.ts +4 -2
- package/dist/lib/routes/client-api/register.js +15 -2
- package/dist/lib/routes/client-api/register.js.map +1 -1
- package/dist/lib/routes/client-api/register.test.js +5 -5
- package/dist/lib/routes/client-api/register.test.js.map +1 -1
- package/dist/lib/routes/controller.js +1 -1
- package/dist/lib/routes/controller.js.map +1 -1
- package/dist/lib/routes/health-check.test.js +9 -9
- package/dist/lib/routes/health-check.test.js.map +1 -1
- package/dist/lib/routes/index.test.js +5 -5
- package/dist/lib/routes/index.test.js.map +1 -1
- package/dist/lib/routes/logout.test.js +15 -15
- package/dist/lib/routes/logout.test.js.map +1 -1
- package/dist/lib/server-impl.js +15 -14
- package/dist/lib/server-impl.js.map +1 -1
- package/dist/lib/server-impl.test.js +9 -9
- package/dist/lib/server-impl.test.js.map +1 -1
- package/dist/lib/services/addon-service.js +2 -2
- package/dist/lib/services/addon-service.js.map +1 -1
- package/dist/lib/services/addon-service.test.js +1 -1
- package/dist/lib/services/addon-service.test.js.map +1 -1
- package/dist/lib/services/client-metrics/client-metrics-service-v2.d.ts +16 -0
- package/dist/lib/services/client-metrics/client-metrics-service-v2.js +68 -0
- package/dist/lib/services/client-metrics/client-metrics-service-v2.js.map +1 -0
- package/dist/lib/services/client-metrics/client-metrics.test.js +18 -18
- package/dist/lib/services/client-metrics/client-metrics.test.js.map +1 -1
- package/dist/lib/services/client-metrics/index.d.ts +0 -1
- package/dist/lib/services/client-metrics/index.js.map +1 -1
- package/dist/lib/services/client-metrics/register-schema.js +1 -0
- package/dist/lib/services/client-metrics/register-schema.js.map +1 -1
- package/dist/lib/services/email-service.js +5 -5
- package/dist/lib/services/email-service.js.map +1 -1
- package/dist/lib/services/event-service.js.map +1 -1
- package/dist/lib/services/feature-toggle-service-v2.d.ts +10 -4
- package/dist/lib/services/feature-toggle-service-v2.js +54 -11
- package/dist/lib/services/feature-toggle-service-v2.js.map +1 -1
- package/dist/lib/services/index.js +3 -0
- package/dist/lib/services/index.js.map +1 -1
- package/dist/lib/services/state-service.js +6 -6
- package/dist/lib/services/state-service.js.map +1 -1
- package/dist/lib/services/state-service.test.js +1 -1
- package/dist/lib/services/state-service.test.js.map +1 -1
- package/dist/lib/services/user-service.js +3 -3
- package/dist/lib/services/user-service.js.map +1 -1
- package/dist/lib/services/user-service.test.js +1 -1
- package/dist/lib/services/user-service.test.js.map +1 -1
- package/dist/lib/services/version-service.js +1 -1
- package/dist/lib/services/version-service.js.map +1 -1
- package/dist/lib/services/version-service.test.js +3 -3
- package/dist/lib/services/version-service.test.js.map +1 -1
- package/dist/lib/types/model.d.ts +2 -1
- package/dist/lib/types/model.js.map +1 -1
- package/dist/lib/types/models/metrics.d.ts +11 -0
- package/dist/lib/types/models/metrics.js +3 -0
- package/dist/lib/types/models/metrics.js.map +1 -0
- package/dist/lib/types/services.d.ts +2 -0
- package/dist/lib/types/stores/client-instance-store.d.ts +1 -0
- package/dist/lib/types/stores/client-metrics-store-v2.d.ts +17 -0
- package/dist/lib/types/stores/client-metrics-store-v2.js +3 -0
- package/dist/lib/types/stores/client-metrics-store-v2.js.map +1 -0
- package/dist/lib/types/stores/feature-environment-store.d.ts +1 -0
- package/dist/lib/types/stores.d.ts +2 -0
- package/dist/lib/types/user.js +1 -1
- package/dist/lib/types/user.js.map +1 -1
- package/dist/lib/util/format-base-uri.test.js +6 -6
- package/dist/lib/util/format-base-uri.test.js.map +1 -1
- package/dist/lib/util/rewriteHTML.test.js +4 -4
- package/dist/lib/util/rewriteHTML.test.js.map +1 -1
- package/dist/lib/util/snakeCase.js +1 -1
- package/dist/lib/util/snakeCase.js.map +1 -1
- package/dist/lib/util/snakeCase.test.js +3 -3
- package/dist/lib/util/snakeCase.test.js.map +1 -1
- package/dist/migrations/20211004104917-client-metrics-env.d.ts +2 -0
- package/dist/migrations/20211004104917-client-metrics-env.js +22 -0
- package/dist/migrations/20211004104917-client-metrics-env.js.map +1 -0
- package/dist/migrations/20211011094226-add-environment-to-client-instances.d.ts +5 -0
- package/dist/migrations/20211011094226-add-environment-to-client-instances.js +21 -0
- package/dist/migrations/20211011094226-add-environment-to-client-instances.js.map +1 -0
- package/dist/migrations/20211013093114-feature-strategies-parameters-not-null.d.ts +2 -0
- package/dist/migrations/20211013093114-feature-strategies-parameters-not-null.js +12 -0
- package/dist/migrations/20211013093114-feature-strategies-parameters-not-null.js.map +1 -0
- package/dist/migrator.js +2 -2
- package/dist/migrator.js.map +1 -1
- package/dist/server-dev.js +6 -1
- package/dist/server-dev.js.map +1 -1
- package/dist/test/config/create-config.test.js +20 -20
- package/dist/test/config/create-config.test.js.map +1 -1
- package/dist/test/config/test-config.js +1 -1
- package/dist/test/config/test-config.js.map +1 -1
- package/dist/test/e2e/api/admin/addon.e2e.test.js +2 -2
- package/dist/test/e2e/api/admin/addon.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/api-token.auth.e2e.test.js +4 -4
- package/dist/test/e2e/api/admin/api-token.auth.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/api-token.e2e.test.js +2 -2
- package/dist/test/e2e/api/admin/api-token.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/archive.test.js +2 -2
- package/dist/test/e2e/api/admin/archive.test.js.map +1 -1
- package/dist/test/e2e/api/admin/bootstrap.test.js +2 -2
- package/dist/test/e2e/api/admin/bootstrap.test.js.map +1 -1
- package/dist/test/e2e/api/admin/{project/feature.strategy.e2e.test.d.ts → client-metrics.e2e.test.d.ts} +0 -0
- package/dist/test/e2e/api/admin/client-metrics.e2e.test.js +219 -0
- package/dist/test/e2e/api/admin/client-metrics.e2e.test.js.map +1 -0
- package/dist/test/e2e/api/admin/context.e2e.test.js +2 -2
- package/dist/test/e2e/api/admin/context.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/environment.test.js +2 -2
- package/dist/test/e2e/api/admin/environment.test.js.map +1 -1
- package/dist/test/e2e/api/admin/event.e2e.test.js +2 -2
- package/dist/test/e2e/api/admin/event.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/feature-archive.e2e.test.js +2 -2
- package/dist/test/e2e/api/admin/feature-archive.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/feature-type.test.js +2 -2
- package/dist/test/e2e/api/admin/feature-type.test.js.map +1 -1
- package/dist/test/e2e/api/admin/feature.auth.e2e.test.js +3 -3
- package/dist/test/e2e/api/admin/feature.auth.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/feature.custom-auth.e2e.test.js +3 -3
- package/dist/test/e2e/api/admin/feature.custom-auth.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/feature.e2e.test.js +2 -2
- package/dist/test/e2e/api/admin/feature.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/feedback.e2e.test.js +2 -2
- package/dist/test/e2e/api/admin/feedback.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/metrics.e2e.test.js +2 -2
- package/dist/test/e2e/api/admin/metrics.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/project/environments.e2e.test.js +2 -2
- package/dist/test/e2e/api/admin/project/environments.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/project/features.e2e.test.d.ts +1 -0
- package/dist/test/e2e/api/admin/project/{feature.strategy.e2e.test.js → features.e2e.test.js} +323 -3
- package/dist/test/e2e/api/admin/project/features.e2e.test.js.map +1 -0
- package/dist/test/e2e/api/admin/project/project.health.e2e.test.js +76 -2
- package/dist/test/e2e/api/admin/project/project.health.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/project/projects.e2e.test.js +2 -2
- package/dist/test/e2e/api/admin/project/projects.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/state.e2e.test.js +2 -2
- package/dist/test/e2e/api/admin/state.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/strategy.e2e.test.js +2 -2
- package/dist/test/e2e/api/admin/strategy.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/tag-types.e2e.test.js +2 -2
- package/dist/test/e2e/api/admin/tag-types.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/tags.e2e.test.js +2 -2
- package/dist/test/e2e/api/admin/tags.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/user-admin.e2e.test.js +3 -3
- package/dist/test/e2e/api/admin/user-admin.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/user.test.js +2 -2
- package/dist/test/e2e/api/admin/user.test.js.map +1 -1
- package/dist/test/e2e/api/auth/reset-password-controller.e2e.test.js +5 -5
- package/dist/test/e2e/api/auth/reset-password-controller.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/client/feature.e2e.test.js +13 -14
- package/dist/test/e2e/api/client/feature.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/client/feature.env.disabled.e2e.test.js +2 -2
- package/dist/test/e2e/api/client/feature.env.disabled.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/client/feature.token.access.e2e.test.js +2 -2
- package/dist/test/e2e/api/client/feature.token.access.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/client/metrics.e2e.access.e2e.test.js +2 -2
- package/dist/test/e2e/api/client/metrics.e2e.access.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/client/metrics.e2e.test.js +4 -7
- package/dist/test/e2e/api/client/metrics.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/client/metricsV2.e2e.test.d.ts +1 -0
- package/dist/test/e2e/api/client/metricsV2.e2e.test.js +95 -0
- package/dist/test/e2e/api/client/metricsV2.e2e.test.js.map +1 -0
- package/dist/test/e2e/api/client/register.e2e.test.js +2 -2
- package/dist/test/e2e/api/client/register.e2e.test.js.map +1 -1
- package/dist/test/e2e/custom-auth.test.js +3 -3
- package/dist/test/e2e/custom-auth.test.js.map +1 -1
- package/dist/test/e2e/health.e2e.test.js +2 -2
- package/dist/test/e2e/health.e2e.test.js.map +1 -1
- package/dist/test/e2e/helpers/database-config.js +1 -1
- package/dist/test/e2e/helpers/database-config.js.map +1 -1
- package/dist/test/e2e/helpers/database-init.js +6 -6
- package/dist/test/e2e/helpers/database-init.js.map +1 -1
- package/dist/test/e2e/helpers/test-helper.d.ts +1 -1
- package/dist/test/e2e/helpers/test-helper.js +8 -9
- package/dist/test/e2e/helpers/test-helper.js.map +1 -1
- package/dist/test/e2e/routes/routes.test.js +2 -2
- package/dist/test/e2e/routes/routes.test.js.map +1 -1
- package/dist/test/e2e/services/access-service.e2e.test.js +1 -1
- package/dist/test/e2e/services/access-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/addon-service.e2e.test.js +2 -2
- package/dist/test/e2e/services/addon-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/api-token-service.e2e.test.js +2 -2
- package/dist/test/e2e/services/api-token-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/environment-service.test.js +2 -2
- package/dist/test/e2e/services/environment-service.test.js.map +1 -1
- package/dist/test/e2e/services/feature-toggle-service-v2.e2e.test.js +3 -3
- package/dist/test/e2e/services/feature-toggle-service-v2.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/project-health-service.e2e.test.js +2 -2
- package/dist/test/e2e/services/project-health-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/project-service.e2e.test.js +2 -2
- package/dist/test/e2e/services/project-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/reset-token-service.e2e.test.js +3 -3
- package/dist/test/e2e/services/reset-token-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/session-service.e2e.test.js +1 -1
- package/dist/test/e2e/services/session-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/setting-service.test.js +2 -2
- package/dist/test/e2e/services/setting-service.test.js.map +1 -1
- package/dist/test/e2e/services/user-service.e2e.test.js +14 -2
- package/dist/test/e2e/services/user-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/stores/client-application-store.e2e.test.js +1 -1
- package/dist/test/e2e/stores/client-application-store.e2e.test.js.map +1 -1
- package/dist/test/e2e/stores/client-metrics-store-v2.e2e.test.d.ts +1 -0
- package/dist/test/e2e/stores/client-metrics-store-v2.e2e.test.js +338 -0
- package/dist/test/e2e/stores/client-metrics-store-v2.e2e.test.js.map +1 -0
- package/dist/test/e2e/stores/event-store.e2e.test.js +1 -1
- package/dist/test/e2e/stores/event-store.e2e.test.js.map +1 -1
- package/dist/test/e2e/stores/feature-tag-store.e2e.test.js +1 -1
- package/dist/test/e2e/stores/feature-tag-store.e2e.test.js.map +1 -1
- package/dist/test/e2e/stores/feature-toggle-store.e2e.test.js +1 -1
- package/dist/test/e2e/stores/feature-toggle-store.e2e.test.js.map +1 -1
- package/dist/test/e2e/stores/feature-type-store.e2e.test.js +1 -1
- package/dist/test/e2e/stores/feature-type-store.e2e.test.js.map +1 -1
- package/dist/test/e2e/stores/project-store.e2e.test.js +1 -1
- package/dist/test/e2e/stores/project-store.e2e.test.js.map +1 -1
- package/dist/test/e2e/stores/setting-store.e2e.test.js +1 -1
- package/dist/test/e2e/stores/setting-store.e2e.test.js.map +1 -1
- package/dist/test/e2e/stores/user-feedback-store.e2e.test.js +1 -1
- package/dist/test/e2e/stores/user-feedback-store.e2e.test.js.map +1 -1
- package/dist/test/e2e/stores/user-store.e2e.test.js +1 -1
- package/dist/test/e2e/stores/user-store.e2e.test.js.map +1 -1
- package/dist/test/fixtures/fake-client-metrics-store-v2.d.ts +20 -0
- package/dist/test/fixtures/fake-client-metrics-store-v2.js +52 -0
- package/dist/test/fixtures/fake-client-metrics-store-v2.js.map +1 -0
- package/dist/test/fixtures/fake-feature-environment-store.d.ts +1 -0
- package/dist/test/fixtures/fake-feature-environment-store.js +7 -0
- package/dist/test/fixtures/fake-feature-environment-store.js.map +1 -1
- package/dist/test/fixtures/fake-feature-strategies-store.js +1 -1
- package/dist/test/fixtures/fake-feature-strategies-store.js.map +1 -1
- package/dist/test/fixtures/store.js +2 -0
- package/dist/test/fixtures/store.js.map +1 -1
- package/package.json +11 -10
- package/CHANGELOG.md +0 -920
- package/dist/test/e2e/api/admin/project/feature.strategy.e2e.test.js.map +0 -1
package/dist/lib/addons/addon.js
CHANGED
|
@@ -26,7 +26,7 @@ class Addon {
|
|
|
26
26
|
const retryCodes = [408, 500, 502, 503, 504, 522, 524];
|
|
27
27
|
let res;
|
|
28
28
|
try {
|
|
29
|
-
res = await
|
|
29
|
+
res = await node_fetch_1.default(url, options);
|
|
30
30
|
}
|
|
31
31
|
catch (error) {
|
|
32
32
|
res = { status: 500, ok: false };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addon.js","sourceRoot":"","sources":["../../../src/lib/addons/addon.ts"],"names":[],"mappings":";;;;;AAAA,4DAA6C;AAC7C,iDAAuD;AAKvD,MAA8B,KAAK;IAO/B,YACI,UAA4B,EAC5B,EAAE,SAAS,EAAqC;QAEhD,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,SAAS,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;QACpD,MAAM,EAAE,KAAK,EAAE,GAAG,oCAAqB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC7D,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ,iCAAiC,UAAU,CAAC,IAAI,EAAE,EAClD,KAAK,CACR,CAAC;YACF,MAAM,KAAK,CAAC;SACf;QACD,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAClC,CAAC;IAED,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,UAAU,CACZ,GAAW,EACX,OAAO,GAAG,EAAE,EACZ,UAAkB,CAAC,EACnB,UAAkB,GAAG;QAErB,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACvD,IAAI,GAAG,CAAC;QACR,IAAI;YACA,GAAG,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"addon.js","sourceRoot":"","sources":["../../../src/lib/addons/addon.ts"],"names":[],"mappings":";;;;;AAAA,4DAA6C;AAC7C,iDAAuD;AAKvD,MAA8B,KAAK;IAO/B,YACI,UAA4B,EAC5B,EAAE,SAAS,EAAqC;QAEhD,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,SAAS,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;QACpD,MAAM,EAAE,KAAK,EAAE,GAAG,oCAAqB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC7D,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ,iCAAiC,UAAU,CAAC,IAAI,EAAE,EAClD,KAAK,CACR,CAAC;YACF,MAAM,KAAK,CAAC;SACf;QACD,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAClC,CAAC;IAED,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,UAAU,CACZ,GAAW,EACX,OAAO,GAAG,EAAE,EACZ,UAAkB,CAAC,EACnB,UAAkB,GAAG;QAErB,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACvD,IAAI,GAAG,CAAC;QACR,IAAI;YACA,GAAG,GAAG,MAAM,oBAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;SACnC;QAAC,OAAO,KAAK,EAAE;YACZ,GAAG,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;SACpC;QACD,IAAI,GAAG,CAAC,EAAE,EAAE;YACR,OAAO,GAAG,CAAC;SACd;QACD,IAAI,OAAO,GAAG,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YAChD,UAAU,CACN,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,EAC7D,OAAO,CACV,CAAC;SACL;QACD,OAAO,GAAG,CAAC;IACf,CAAC;CAIJ;AA3DD,wBA2DC"}
|
|
@@ -32,6 +32,13 @@ const dataDogDefinition = {
|
|
|
32
32
|
events_1.FEATURE_REVIVED,
|
|
33
33
|
events_1.FEATURE_STALE_ON,
|
|
34
34
|
events_1.FEATURE_STALE_OFF,
|
|
35
|
+
events_1.FEATURE_ENVIRONMENT_ENABLED,
|
|
36
|
+
events_1.FEATURE_ENVIRONMENT_DISABLED,
|
|
37
|
+
events_1.FEATURE_STRATEGY_REMOVE,
|
|
38
|
+
events_1.FEATURE_STRATEGY_UPDATE,
|
|
39
|
+
events_1.FEATURE_STRATEGY_ADD,
|
|
40
|
+
events_1.FEATURE_METADATA_UPDATED,
|
|
41
|
+
events_1.FEATURE_PROJECT_CHANGE,
|
|
35
42
|
],
|
|
36
43
|
tagTypes: [
|
|
37
44
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datadog-definition.js","sourceRoot":"","sources":["../../../src/lib/addons/datadog-definition.ts"],"names":[],"mappings":";;AAAA,
|
|
1
|
+
{"version":3,"file":"datadog-definition.js","sourceRoot":"","sources":["../../../src/lib/addons/datadog-definition.ts"],"names":[],"mappings":";;AAAA,4CAcyB;AAGzB,MAAM,iBAAiB,GAAqB;IACxC,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,SAAS;IACtB,WAAW,EAAE,4CAA4C;IACzD,gBAAgB,EAAE,gDAAgD;IAClE,UAAU,EAAE;QACR;YACI,IAAI,EAAE,KAAK;YACX,WAAW,EAAE,oBAAoB;YACjC,WAAW,EACP,2GAA2G;YAC/G,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,KAAK;SACnB;QACD;YACI,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,YAAY;YACzB,WAAW,EAAE,kCAAkC;YAC/C,WAAW,EAAE,sBAAsB;YACnC,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,IAAI;SAClB;KACJ;IACD,MAAM,EAAE;QACJ,wBAAe;QACf,wBAAe;QACf,yBAAgB;QAChB,wBAAe;QACf,yBAAgB;QAChB,0BAAiB;QACjB,oCAA2B;QAC3B,qCAA4B;QAC5B,gCAAuB;QACvB,gCAAuB;QACvB,6BAAoB;QACpB,iCAAwB;QACxB,+BAAsB;KACzB;IACD,QAAQ,EAAE;QACN;YACI,IAAI,EAAE,SAAS;YACf,WAAW,EACP,gFAAgF;YACpF,IAAI,EAAE,GAAG;SACZ;KACJ;CACJ,CAAC;AAEF,kBAAe,iBAAiB,CAAC"}
|
|
@@ -8,6 +8,11 @@ export default class DatadogAddon extends Addon {
|
|
|
8
8
|
getLogger: LogProvider;
|
|
9
9
|
});
|
|
10
10
|
handleEvent(event: IEvent, parameters: any): Promise<void>;
|
|
11
|
+
generateEnvironmentToggleText(event: IEvent): string;
|
|
12
|
+
generateStrategyChangeText(event: IEvent): string;
|
|
13
|
+
generateMetadataText(event: IEvent): string;
|
|
14
|
+
generateProjectChangeText(event: IEvent): string;
|
|
15
|
+
strategiesLink(event: IEvent): string;
|
|
11
16
|
featureLink(event: IEvent): string;
|
|
12
17
|
generateStaleText(event: IEvent): string;
|
|
13
18
|
generateArchivedText(event: IEvent): string;
|
|
@@ -22,6 +22,25 @@ class DatadogAddon extends addon_1.default {
|
|
|
22
22
|
else if ([events_1.FEATURE_STALE_ON, events_1.FEATURE_STALE_OFF].includes(event.type)) {
|
|
23
23
|
text = this.generateStaleText(event);
|
|
24
24
|
}
|
|
25
|
+
else if ([
|
|
26
|
+
events_1.FEATURE_ENVIRONMENT_DISABLED,
|
|
27
|
+
events_1.FEATURE_ENVIRONMENT_ENABLED,
|
|
28
|
+
].includes(event.type)) {
|
|
29
|
+
text = this.generateEnvironmentToggleText(event);
|
|
30
|
+
}
|
|
31
|
+
else if ([
|
|
32
|
+
events_1.FEATURE_STRATEGY_ADD,
|
|
33
|
+
events_1.FEATURE_STRATEGY_REMOVE,
|
|
34
|
+
events_1.FEATURE_STRATEGY_UPDATE,
|
|
35
|
+
].includes(event.type)) {
|
|
36
|
+
text = this.generateStrategyChangeText(event);
|
|
37
|
+
}
|
|
38
|
+
else if (events_1.FEATURE_METADATA_UPDATED === event.type) {
|
|
39
|
+
text = this.generateMetadataText(event);
|
|
40
|
+
}
|
|
41
|
+
else if (events_1.FEATURE_PROJECT_CHANGE === event.type) {
|
|
42
|
+
text = this.generateProjectChangeText(event);
|
|
43
|
+
}
|
|
25
44
|
else {
|
|
26
45
|
text = this.generateText(event);
|
|
27
46
|
}
|
|
@@ -43,6 +62,40 @@ class DatadogAddon extends addon_1.default {
|
|
|
43
62
|
const res = await this.fetchRetry(url, requestOpts);
|
|
44
63
|
this.logger.info(`Handled event ${event.type}. Status codes=${res.status}`);
|
|
45
64
|
}
|
|
65
|
+
generateEnvironmentToggleText(event) {
|
|
66
|
+
const { environment, project, data, type } = event;
|
|
67
|
+
const toggleStatus = type === events_1.FEATURE_ENVIRONMENT_ENABLED ? 'enabled' : 'disabled';
|
|
68
|
+
const feature = `<${this.featureLink(event)}|${data.name}>`;
|
|
69
|
+
return `The feature toggle *${feature}* in the ${project} project was ${toggleStatus} in environment *${environment}*`;
|
|
70
|
+
}
|
|
71
|
+
generateStrategyChangeText(event) {
|
|
72
|
+
const { environment, project, data, type } = event;
|
|
73
|
+
const feature = `<${this.strategiesLink(event)}|${data.featureName}>`;
|
|
74
|
+
let action;
|
|
75
|
+
if (events_1.FEATURE_STRATEGY_UPDATE === type) {
|
|
76
|
+
action = 'updated in';
|
|
77
|
+
}
|
|
78
|
+
else if (events_1.FEATURE_STRATEGY_ADD) {
|
|
79
|
+
action = 'added to';
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
action = 'removed from';
|
|
83
|
+
}
|
|
84
|
+
const strategyText = `a ${data.name} strategy ${action} the *${environment}* environment`;
|
|
85
|
+
return `The feature toggle *${feature}* in project: ${project} had ${strategyText}`;
|
|
86
|
+
}
|
|
87
|
+
generateMetadataText(event) {
|
|
88
|
+
const { createdBy, project, data } = event;
|
|
89
|
+
const feature = `<${this.featureLink(event)}|${data.name}>`;
|
|
90
|
+
return `${createdBy} updated the metadata for ${feature} in project ${project}`;
|
|
91
|
+
}
|
|
92
|
+
generateProjectChangeText(event) {
|
|
93
|
+
const { createdBy, project, data } = event;
|
|
94
|
+
return `${createdBy} moved ${data.name} to ${project}`;
|
|
95
|
+
}
|
|
96
|
+
strategiesLink(event) {
|
|
97
|
+
return `${this.unleashUrl}/projects/${event.project}/features2/${event.data.featureName}/strategies?environment=${event.environment}`;
|
|
98
|
+
}
|
|
46
99
|
featureLink(event) {
|
|
47
100
|
const path = event.type === events_1.FEATURE_ARCHIVED ? 'archive' : 'features';
|
|
48
101
|
return `${this.unleashUrl}/${path}/strategies/${event.data.name}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datadog.js","sourceRoot":"","sources":["../../../src/lib/addons/datadog.ts"],"names":[],"mappings":";;;;;AAAA,sDAA2B;AAC3B,oDAA4B;AAC5B,
|
|
1
|
+
{"version":3,"file":"datadog.js","sourceRoot":"","sources":["../../../src/lib/addons/datadog.ts"],"names":[],"mappings":"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"}
|
|
@@ -46,7 +46,7 @@ test('Should call datadog webhook', async () => {
|
|
|
46
46
|
expect(fetchRetryCalls[0].url).toBe(parameters.url);
|
|
47
47
|
expect(fetchRetryCalls[0].options.body).toMatchSnapshot();
|
|
48
48
|
});
|
|
49
|
-
test('Should call datadog webhook
|
|
49
|
+
test('Should call datadog webhook for archived toggle', async () => {
|
|
50
50
|
const addon = new datadog_1.default({
|
|
51
51
|
getLogger: no_logger_1.default,
|
|
52
52
|
unleashUrl: 'http://some-url.com',
|
|
@@ -68,4 +68,29 @@ test('Should call datadog webhook for archived toggle', async () => {
|
|
|
68
68
|
expect(fetchRetryCalls[0].url).toBe(parameters.url);
|
|
69
69
|
expect(fetchRetryCalls[0].options.body).toMatchSnapshot();
|
|
70
70
|
});
|
|
71
|
+
test(`Should call datadog webhook for toggled environment`, async () => {
|
|
72
|
+
const addon = new datadog_1.default({
|
|
73
|
+
getLogger: no_logger_1.default,
|
|
74
|
+
unleashUrl: 'http://some-url.com',
|
|
75
|
+
});
|
|
76
|
+
const event = {
|
|
77
|
+
id: 2,
|
|
78
|
+
createdAt: new Date(),
|
|
79
|
+
type: events_1.FEATURE_ENVIRONMENT_DISABLED,
|
|
80
|
+
createdBy: 'some@user.com',
|
|
81
|
+
environment: 'development',
|
|
82
|
+
project: 'default',
|
|
83
|
+
data: {
|
|
84
|
+
name: 'some-toggle',
|
|
85
|
+
},
|
|
86
|
+
};
|
|
87
|
+
const parameters = {
|
|
88
|
+
url: 'http://hooks.slack.com',
|
|
89
|
+
};
|
|
90
|
+
await addon.handleEvent(event, parameters);
|
|
91
|
+
expect(fetchRetryCalls).toHaveLength(1);
|
|
92
|
+
expect(fetchRetryCalls[0].url).toBe(parameters.url);
|
|
93
|
+
expect(fetchRetryCalls[0].options.body).toMatch(/disabled/);
|
|
94
|
+
expect(fetchRetryCalls[0].options.body).toMatchSnapshot();
|
|
95
|
+
});
|
|
71
96
|
//# sourceMappingURL=datadog.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datadog.test.js","sourceRoot":"","sources":["../../../src/lib/addons/datadog.test.ts"],"names":[],"mappings":";;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"datadog.test.js","sourceRoot":"","sources":["../../../src/lib/addons/datadog.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -48,6 +48,13 @@ const slackDefinition = {
|
|
|
48
48
|
events_1.FEATURE_REVIVED,
|
|
49
49
|
events_1.FEATURE_STALE_ON,
|
|
50
50
|
events_1.FEATURE_STALE_OFF,
|
|
51
|
+
events_1.FEATURE_ENVIRONMENT_ENABLED,
|
|
52
|
+
events_1.FEATURE_ENVIRONMENT_DISABLED,
|
|
53
|
+
events_1.FEATURE_STRATEGY_REMOVE,
|
|
54
|
+
events_1.FEATURE_STRATEGY_UPDATE,
|
|
55
|
+
events_1.FEATURE_STRATEGY_ADD,
|
|
56
|
+
events_1.FEATURE_METADATA_UPDATED,
|
|
57
|
+
events_1.FEATURE_PROJECT_CHANGE,
|
|
51
58
|
],
|
|
52
59
|
tagTypes: [
|
|
53
60
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slack-definition.js","sourceRoot":"","sources":["../../../src/lib/addons/slack-definition.ts"],"names":[],"mappings":";;AAAA,
|
|
1
|
+
{"version":3,"file":"slack-definition.js","sourceRoot":"","sources":["../../../src/lib/addons/slack-definition.ts"],"names":[],"mappings":";;AAAA,4CAcyB;AAGzB,MAAM,eAAe,GAAqB;IACtC,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,OAAO;IACpB,WAAW,EAAE,0CAA0C;IACvD,gBAAgB,EAAE,8CAA8C;IAChE,UAAU,EAAE;QACR;YACI,IAAI,EAAE,KAAK;YACX,WAAW,EAAE,mBAAmB;YAChC,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,IAAI;SAClB;QACD;YACI,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,UAAU;YACvB,WAAW,EAAE,SAAS;YACtB,WAAW,EACP,4EAA4E;YAChF,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,KAAK;SACnB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,YAAY;YACzB,WAAW,EAAE,WAAW;YACxB,WAAW,EACP,gFAAgF;YACpF,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,KAAK;SACnB;QACD;YACI,IAAI,EAAE,gBAAgB;YACtB,WAAW,EAAE,iBAAiB;YAC9B,WAAW,EACP,sEAAsE;YAC1E,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,KAAK;SACnB;KACJ;IACD,MAAM,EAAE;QACJ,wBAAe;QACf,wBAAe;QACf,yBAAgB;QAChB,wBAAe;QACf,yBAAgB;QAChB,0BAAiB;QACjB,oCAA2B;QAC3B,qCAA4B;QAC5B,gCAAuB;QACvB,gCAAuB;QACvB,6BAAoB;QACpB,iCAAwB;QACxB,+BAAsB;KACzB;IACD,QAAQ,EAAE;QACN;YACI,IAAI,EAAE,OAAO;YACb,WAAW,EACP,iEAAiE;YACrE,IAAI,EAAE,GAAG;SACZ;KACJ;CACJ,CAAC;AAEF,kBAAe,eAAe,CAAC"}
|
|
@@ -4,6 +4,11 @@ export default class SlackAddon extends Addon {
|
|
|
4
4
|
unleashUrl: string;
|
|
5
5
|
constructor(args: IAddonConfig);
|
|
6
6
|
handleEvent(event: IEvent, parameters: any): Promise<void>;
|
|
7
|
+
generateEnvironmentToggleText(event: IEvent): string;
|
|
8
|
+
generateStrategyChangeText(event: IEvent): string;
|
|
9
|
+
generateMetadataText(event: IEvent): string;
|
|
10
|
+
generateProjectChangeText(event: IEvent): string;
|
|
11
|
+
strategiesLink(event: IEvent): string;
|
|
7
12
|
featureLink(event: IEvent): string;
|
|
8
13
|
findSlackChannels({ tags }: Pick<IEvent, 'tags'>): string[];
|
|
9
14
|
generateStaleText(event: IEvent): string;
|
package/dist/lib/addons/slack.js
CHANGED
|
@@ -26,6 +26,25 @@ class SlackAddon extends addon_1.default {
|
|
|
26
26
|
else if ([events_1.FEATURE_STALE_ON, events_1.FEATURE_STALE_OFF].includes(event.type)) {
|
|
27
27
|
text = this.generateStaleText(event);
|
|
28
28
|
}
|
|
29
|
+
else if ([
|
|
30
|
+
events_1.FEATURE_ENVIRONMENT_DISABLED,
|
|
31
|
+
events_1.FEATURE_ENVIRONMENT_ENABLED,
|
|
32
|
+
].includes(event.type)) {
|
|
33
|
+
text = this.generateEnvironmentToggleText(event);
|
|
34
|
+
}
|
|
35
|
+
else if ([
|
|
36
|
+
events_1.FEATURE_STRATEGY_ADD,
|
|
37
|
+
events_1.FEATURE_STRATEGY_REMOVE,
|
|
38
|
+
events_1.FEATURE_STRATEGY_UPDATE,
|
|
39
|
+
].includes(event.type)) {
|
|
40
|
+
text = this.generateStrategyChangeText(event);
|
|
41
|
+
}
|
|
42
|
+
else if (events_1.FEATURE_METADATA_UPDATED === event.type) {
|
|
43
|
+
text = this.generateMetadataText(event);
|
|
44
|
+
}
|
|
45
|
+
else if (events_1.FEATURE_PROJECT_CHANGE === event.type) {
|
|
46
|
+
text = this.generateProjectChangeText(event);
|
|
47
|
+
}
|
|
29
48
|
else {
|
|
30
49
|
text = this.generateText(event);
|
|
31
50
|
}
|
|
@@ -61,6 +80,40 @@ class SlackAddon extends addon_1.default {
|
|
|
61
80
|
const codes = results.map((res) => res.status).join(', ');
|
|
62
81
|
this.logger.info(`Handled event ${event.type}. Status codes=${codes}`);
|
|
63
82
|
}
|
|
83
|
+
generateEnvironmentToggleText(event) {
|
|
84
|
+
const { environment, project, data, type } = event;
|
|
85
|
+
const toggleStatus = type === events_1.FEATURE_ENVIRONMENT_ENABLED ? 'enabled' : 'disabled';
|
|
86
|
+
const feature = `<${this.featureLink(event)}|${data.name}>`;
|
|
87
|
+
return `The feature toggle *${feature}* in the ${project} project was ${toggleStatus} in environment *${environment}*`;
|
|
88
|
+
}
|
|
89
|
+
generateStrategyChangeText(event) {
|
|
90
|
+
const { environment, project, data, type } = event;
|
|
91
|
+
const feature = `<${this.strategiesLink(event)}|${data.featureName}>`;
|
|
92
|
+
let action;
|
|
93
|
+
if (events_1.FEATURE_STRATEGY_UPDATE === type) {
|
|
94
|
+
action = 'updated in';
|
|
95
|
+
}
|
|
96
|
+
else if (events_1.FEATURE_STRATEGY_ADD) {
|
|
97
|
+
action = 'added to';
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
action = 'removed from';
|
|
101
|
+
}
|
|
102
|
+
const strategyText = `a ${data.name} strategy ${action} the *${environment}* environment`;
|
|
103
|
+
return `The feature toggle *${feature}* in project: ${project} had ${strategyText}`;
|
|
104
|
+
}
|
|
105
|
+
generateMetadataText(event) {
|
|
106
|
+
const { createdBy, project, data } = event;
|
|
107
|
+
const feature = `<${this.featureLink(event)}|${data.name}>`;
|
|
108
|
+
return `${createdBy} updated the metadata for ${feature} in project ${project}`;
|
|
109
|
+
}
|
|
110
|
+
generateProjectChangeText(event) {
|
|
111
|
+
const { createdBy, project, data } = event;
|
|
112
|
+
return `${createdBy} moved ${data.name} to ${project}`;
|
|
113
|
+
}
|
|
114
|
+
strategiesLink(event) {
|
|
115
|
+
return `${this.unleashUrl}/projects/${event.project}/features2/${event.data.featureName}/strategies?environment=${event.environment}`;
|
|
116
|
+
}
|
|
64
117
|
featureLink(event) {
|
|
65
118
|
const path = event.type === events_1.FEATURE_ARCHIVED ? 'archive' : 'features';
|
|
66
119
|
return `${this.unleashUrl}/${path}/strategies/${event.data.name}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slack.js","sourceRoot":"","sources":["../../../src/lib/addons/slack.ts"],"names":[],"mappings":";;;;;AAAA,sDAA2B;AAC3B,oDAA4B;AAE5B,0EAAiD;AAGjD,
|
|
1
|
+
{"version":3,"file":"slack.js","sourceRoot":"","sources":["../../../src/lib/addons/slack.ts"],"names":[],"mappings":";;;;;AAAA,sDAA2B;AAC3B,oDAA4B;AAE5B,0EAAiD;AAGjD,4CAcyB;AAEzB,MAAqB,UAAW,SAAQ,eAAK;IAGzC,YAAY,IAAkB;QAC1B,KAAK,CAAC,0BAAe,EAAE,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;IACtC,CAAC;IAED,6EAA6E;IAC7E,KAAK,CAAC,WAAW,CAAC,KAAa,EAAE,UAAe;QAC5C,MAAM,EACF,GAAG,EACH,cAAc,EACd,QAAQ,GAAG,SAAS,EACpB,SAAS,GAAG,WAAW,GAC1B,GAAG,UAAU,CAAC;QAEf,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAEpD,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5B,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;SACtC;QAED,IAAI,IAAI,CAAC;QAET,IAAI,CAAC,yBAAgB,EAAE,wBAAe,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YAC1D,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;SAC3C;aAAM,IAAI,CAAC,yBAAgB,EAAE,0BAAiB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YACnE,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;SACxC;aAAM,IACH;YACI,qCAA4B;YAC5B,oCAA2B;SAC9B,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EACxB;YACE,IAAI,GAAG,IAAI,CAAC,6BAA6B,CAAC,KAAK,CAAC,CAAC;SACpD;aAAM,IACH;YACI,6BAAoB;YACpB,gCAAuB;YACvB,gCAAuB;SAC1B,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EACxB;YACE,IAAI,GAAG,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;SACjD;aAAM,IAAI,iCAAwB,KAAK,KAAK,CAAC,IAAI,EAAE;YAChD,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;SAC3C;aAAM,IAAI,+BAAsB,KAAK,KAAK,CAAC,IAAI,EAAE;YAC9C,IAAI,GAAG,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;SAChD;aAAM;YACH,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;SACnC;QAED,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3C,MAAM,IAAI,GAAG;gBACT,QAAQ;gBACR,UAAU,EAAE,SAAS;gBACrB,IAAI;gBACJ,OAAO,EAAE,IAAI,OAAO,EAAE;gBACtB,WAAW,EAAE;oBACT;wBACI,OAAO,EAAE;4BACL;gCACI,IAAI,EAAE,eAAe;gCACrB,IAAI,EAAE,iBAAiB;gCACvB,IAAI,EAAE,QAAQ;gCACd,KAAK,EAAE,eAAe;gCACtB,KAAK,EAAE,SAAS;gCAChB,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;6BAC/B;yBACJ;qBACJ;iBACJ;aACJ,CAAC;YAEF,MAAM,WAAW,GAAG;gBAChB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;aAC7B,CAAC;YAEF,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,KAAK,CAAC,IAAI,kBAAkB,KAAK,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,6BAA6B,CAAC,KAAa;QACvC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;QACnD,MAAM,YAAY,GACd,IAAI,KAAK,oCAA2B,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;QAClE,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC;QAC5D,OAAO,uBAAuB,OAAO,YAAY,OAAO,gBAAgB,YAAY,oBAAoB,WAAW,GAAG,CAAC;IAC3H,CAAC;IAED,0BAA0B,CAAC,KAAa;QACpC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;QACnD,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC;QACtE,IAAI,MAAM,CAAC;QACX,IAAI,gCAAuB,KAAK,IAAI,EAAE;YAClC,MAAM,GAAG,YAAY,CAAC;SACzB;aAAM,IAAI,6BAAoB,EAAE;YAC7B,MAAM,GAAG,UAAU,CAAC;SACvB;aAAM;YACH,MAAM,GAAG,cAAc,CAAC;SAC3B;QACD,MAAM,YAAY,GAAG,KAAK,IAAI,CAAC,IAAI,aAAa,MAAM,SAAS,WAAW,eAAe,CAAC;QAC1F,OAAO,uBAAuB,OAAO,iBAAiB,OAAO,QAAQ,YAAY,EAAE,CAAC;IACxF,CAAC;IAED,oBAAoB,CAAC,KAAa;QAC9B,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;QAC3C,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC;QAC5D,OAAO,GAAG,SAAS,6BAA6B,OAAO,eAAe,OAAO,EAAE,CAAC;IACpF,CAAC;IAED,yBAAyB,CAAC,KAAa;QACnC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;QAC3C,OAAO,GAAG,SAAS,UAAU,IAAI,CAAC,IAAI,OAAO,OAAO,EAAE,CAAC;IAC3D,CAAC;IAED,cAAc,CAAC,KAAa;QACxB,OAAO,GAAG,IAAI,CAAC,UAAU,aAAa,KAAK,CAAC,OAAO,cAAc,KAAK,CAAC,IAAI,CAAC,WAAW,2BAA2B,KAAK,CAAC,WAAW,EAAE,CAAC;IAC1I,CAAC;IAED,WAAW,CAAC,KAAa;QACrB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,KAAK,yBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;QACtE,OAAO,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,eAAe,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IACtE,CAAC;IAED,iBAAiB,CAAC,EAAE,IAAI,EAAwB;QAC5C,IAAI,IAAI,EAAE;YACN,OAAO,IAAI;iBACN,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC;iBACrC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;SAC5B;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAED,iBAAiB,CAAC,KAAa;QAC3B,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;QACxC,MAAM,OAAO,GAAG,IAAI,KAAK,yBAAgB,CAAC;QAC1C,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC;QAE5D,IAAI,OAAO,EAAE;YACT,OAAO,uBAAuB,OAAO;sBAC3B,SAAS,GAAG,CAAC;SAC1B;QACD,OAAO,uBAAuB,OAAO,gCAAgC,SAAS,GAAG,CAAC;IACtF,CAAC;IAED,oBAAoB,CAAC,KAAa;QAC9B,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;QACxC,MAAM,MAAM,GAAG,IAAI,KAAK,yBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;QAClE,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC;QAC5D,OAAO,uBAAuB,OAAO,UAAU,MAAM,QAAQ,SAAS,GAAG,CAAC;IAC9E,CAAC;IAED,YAAY,CAAC,KAAa;QACtB,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC;QAC5D,MAAM,OAAO,GAAG,cAAc,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,MAAM,OAAO,GAAG,WAAW,IAAI,CAAC,IAAI,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,cAAc,IAAI,CAAC,OAAO,EAAE,CAAC;QAC7C,MAAM,UAAU,GAAG,kCAAkC,iBAAI,CAAC,IAAI,CAC1D,IAAI,CAAC,UAAU,EACf,EAAE,WAAW,EAAE,IAAI,EAAE,CACxB,QAAQ,CAAC;QACV,OAAO,GAAG,SAAS,IAAI,MAAM,mBAAmB,OAAO;EAC7D,OAAO,GAAG,KAAK,MAAM,OAAO,MAAM,OAAO;EACzC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAClC,CAAC;IAED,SAAS,CAAC,IAAY;QAClB,QAAQ,IAAI,EAAE;YACV,KAAK,wBAAe;gBAChB,OAAO,SAAS,CAAC;YACrB,KAAK,wBAAe;gBAChB,OAAO,SAAS,CAAC;YACrB;gBACI,OAAO,IAAI,CAAC;SACnB;IACL,CAAC;CACJ;AA1LD,6BA0LC;AAED,MAAM,CAAC,OAAO,GAAG,UAAU,CAAC"}
|
|
@@ -68,6 +68,31 @@ test('Should call slack webhook for archived toggle', async () => {
|
|
|
68
68
|
expect(fetchRetryCalls[0].url).toBe(parameters.url);
|
|
69
69
|
expect(fetchRetryCalls[0].options.body).toMatchSnapshot();
|
|
70
70
|
});
|
|
71
|
+
test(`Should call webhook for toggled environment`, async () => {
|
|
72
|
+
const addon = new slack_1.default({
|
|
73
|
+
getLogger: no_logger_1.default,
|
|
74
|
+
unleashUrl: 'http://some-url.com',
|
|
75
|
+
});
|
|
76
|
+
const event = {
|
|
77
|
+
id: 2,
|
|
78
|
+
createdAt: new Date(),
|
|
79
|
+
type: events_1.FEATURE_ENVIRONMENT_DISABLED,
|
|
80
|
+
createdBy: 'some@user.com',
|
|
81
|
+
environment: 'development',
|
|
82
|
+
project: 'default',
|
|
83
|
+
data: {
|
|
84
|
+
name: 'some-toggle',
|
|
85
|
+
},
|
|
86
|
+
};
|
|
87
|
+
const parameters = {
|
|
88
|
+
url: 'http://hooks.slack.com',
|
|
89
|
+
};
|
|
90
|
+
await addon.handleEvent(event, parameters);
|
|
91
|
+
expect(fetchRetryCalls).toHaveLength(1);
|
|
92
|
+
expect(fetchRetryCalls[0].url).toBe(parameters.url);
|
|
93
|
+
expect(fetchRetryCalls[0].options.body).toMatch(/disabled/);
|
|
94
|
+
expect(fetchRetryCalls[0].options.body).toMatchSnapshot();
|
|
95
|
+
});
|
|
71
96
|
test('Should use default channel', async () => {
|
|
72
97
|
const addon = new slack_1.default({
|
|
73
98
|
getLogger: no_logger_1.default,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slack.test.js","sourceRoot":"","sources":["../../../src/lib/addons/slack.test.ts"],"names":[],"mappings":";;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"slack.test.js","sourceRoot":"","sources":["../../../src/lib/addons/slack.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,6 +22,13 @@ const teamsDefinition = {
|
|
|
22
22
|
events_1.FEATURE_REVIVED,
|
|
23
23
|
events_1.FEATURE_STALE_ON,
|
|
24
24
|
events_1.FEATURE_STALE_OFF,
|
|
25
|
+
events_1.FEATURE_ENVIRONMENT_ENABLED,
|
|
26
|
+
events_1.FEATURE_ENVIRONMENT_DISABLED,
|
|
27
|
+
events_1.FEATURE_STRATEGY_REMOVE,
|
|
28
|
+
events_1.FEATURE_STRATEGY_UPDATE,
|
|
29
|
+
events_1.FEATURE_STRATEGY_ADD,
|
|
30
|
+
events_1.FEATURE_METADATA_UPDATED,
|
|
31
|
+
events_1.FEATURE_PROJECT_CHANGE,
|
|
25
32
|
],
|
|
26
33
|
};
|
|
27
34
|
exports.default = teamsDefinition;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"teams-definition.js","sourceRoot":"","sources":["../../../src/lib/addons/teams-definition.ts"],"names":[],"mappings":";;AAAA,
|
|
1
|
+
{"version":3,"file":"teams-definition.js","sourceRoot":"","sources":["../../../src/lib/addons/teams-definition.ts"],"names":[],"mappings":";;AAAA,4CAcyB;AAGzB,MAAM,eAAe,GAAqB;IACtC,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,iBAAiB;IAC9B,WAAW,EAAE,oDAAoD;IACjE,gBAAgB,EAAE,8CAA8C;IAChE,UAAU,EAAE;QACR;YACI,IAAI,EAAE,KAAK;YACX,WAAW,EAAE,6BAA6B;YAC1C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,IAAI;SAClB;KACJ;IACD,MAAM,EAAE;QACJ,wBAAe;QACf,wBAAe;QACf,yBAAgB;QAChB,wBAAe;QACf,yBAAgB;QAChB,0BAAiB;QACjB,oCAA2B;QAC3B,qCAA4B;QAC5B,gCAAuB;QACvB,gCAAuB;QACvB,6BAAoB;QACpB,iCAAwB;QACxB,+BAAsB;KACzB;CACJ,CAAC;AAEF,kBAAe,eAAe,CAAC"}
|
|
@@ -8,6 +8,11 @@ export default class TeamsAddon extends Addon {
|
|
|
8
8
|
getLogger: LogProvider;
|
|
9
9
|
});
|
|
10
10
|
handleEvent(event: IEvent, parameters: any): Promise<void>;
|
|
11
|
+
generateEnvironmentToggleText(event: IEvent): string;
|
|
12
|
+
generateStrategyChangeText(event: IEvent): string;
|
|
13
|
+
generateMetadataText(event: IEvent): string;
|
|
14
|
+
generateProjectChangeText(event: IEvent): string;
|
|
15
|
+
strategiesLink(event: IEvent): string;
|
|
11
16
|
featureLink(event: IEvent): string;
|
|
12
17
|
generateStaleText(event: IEvent): string;
|
|
13
18
|
generateArchivedText(event: IEvent): string;
|
package/dist/lib/addons/teams.js
CHANGED
|
@@ -23,6 +23,25 @@ class TeamsAddon extends addon_1.default {
|
|
|
23
23
|
else if ([events_1.FEATURE_STALE_ON, events_1.FEATURE_STALE_OFF].includes(event.type)) {
|
|
24
24
|
text = this.generateStaleText(event);
|
|
25
25
|
}
|
|
26
|
+
else if ([
|
|
27
|
+
events_1.FEATURE_ENVIRONMENT_DISABLED,
|
|
28
|
+
events_1.FEATURE_ENVIRONMENT_ENABLED,
|
|
29
|
+
].includes(event.type)) {
|
|
30
|
+
text = this.generateEnvironmentToggleText(event);
|
|
31
|
+
}
|
|
32
|
+
else if ([
|
|
33
|
+
events_1.FEATURE_STRATEGY_ADD,
|
|
34
|
+
events_1.FEATURE_STRATEGY_REMOVE,
|
|
35
|
+
events_1.FEATURE_STRATEGY_UPDATE,
|
|
36
|
+
].includes(event.type)) {
|
|
37
|
+
text = this.generateStrategyChangeText(event);
|
|
38
|
+
}
|
|
39
|
+
else if (events_1.FEATURE_METADATA_UPDATED === event.type) {
|
|
40
|
+
text = this.generateMetadataText(event);
|
|
41
|
+
}
|
|
42
|
+
else if (events_1.FEATURE_PROJECT_CHANGE === event.type) {
|
|
43
|
+
text = this.generateProjectChangeText(event);
|
|
44
|
+
}
|
|
26
45
|
else {
|
|
27
46
|
text = this.generateText(event);
|
|
28
47
|
}
|
|
@@ -72,6 +91,40 @@ class TeamsAddon extends addon_1.default {
|
|
|
72
91
|
const res = await this.fetchRetry(url, requestOpts);
|
|
73
92
|
this.logger.info(`Handled event ${event.type}. Status codes=${res.status}`);
|
|
74
93
|
}
|
|
94
|
+
generateEnvironmentToggleText(event) {
|
|
95
|
+
const { environment, project, data, type } = event;
|
|
96
|
+
const toggleStatus = type === events_1.FEATURE_ENVIRONMENT_ENABLED ? 'enabled' : 'disabled';
|
|
97
|
+
const feature = `<${this.featureLink(event)}|${data.name}>`;
|
|
98
|
+
return `The feature toggle *${feature}* in the ${project} project was ${toggleStatus} in environment *${environment}*`;
|
|
99
|
+
}
|
|
100
|
+
generateStrategyChangeText(event) {
|
|
101
|
+
const { environment, project, data, type } = event;
|
|
102
|
+
const feature = `<${this.strategiesLink(event)}|${data.featureName}>`;
|
|
103
|
+
let action;
|
|
104
|
+
if (events_1.FEATURE_STRATEGY_UPDATE === type) {
|
|
105
|
+
action = 'updated in';
|
|
106
|
+
}
|
|
107
|
+
else if (events_1.FEATURE_STRATEGY_ADD) {
|
|
108
|
+
action = 'added to';
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
action = 'removed from';
|
|
112
|
+
}
|
|
113
|
+
const strategyText = `a ${data.name} strategy ${action} the *${environment}* environment`;
|
|
114
|
+
return `The feature toggle *${feature}* in project: ${project} had ${strategyText}`;
|
|
115
|
+
}
|
|
116
|
+
generateMetadataText(event) {
|
|
117
|
+
const { createdBy, project, data } = event;
|
|
118
|
+
const feature = `<${this.featureLink(event)}|${data.name}>`;
|
|
119
|
+
return `${createdBy} updated the metadata for ${feature} in project ${project}`;
|
|
120
|
+
}
|
|
121
|
+
generateProjectChangeText(event) {
|
|
122
|
+
const { createdBy, project, data } = event;
|
|
123
|
+
return `${createdBy} moved ${data.name} to ${project}`;
|
|
124
|
+
}
|
|
125
|
+
strategiesLink(event) {
|
|
126
|
+
return `${this.unleashUrl}/projects/${event.project}/features2/${event.data.featureName}/strategies?environment=${event.environment}`;
|
|
127
|
+
}
|
|
75
128
|
featureLink(event) {
|
|
76
129
|
const path = event.type === events_1.FEATURE_ARCHIVED ? 'archive' : 'features';
|
|
77
130
|
return `${this.unleashUrl}/${path}/strategies/${event.data.name}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"teams.js","sourceRoot":"","sources":["../../../src/lib/addons/teams.ts"],"names":[],"mappings":";;;;;AAAA,sDAA2B;AAC3B,oDAA4B;AAE5B,
|
|
1
|
+
{"version":3,"file":"teams.js","sourceRoot":"","sources":["../../../src/lib/addons/teams.ts"],"names":[],"mappings":";;;;;AAAA,sDAA2B;AAC3B,oDAA4B;AAE5B,4CAcyB;AAGzB,0EAAiD;AAGjD,MAAqB,UAAW,SAAQ,eAAK;IAGzC,YAAY,IAAoD;QAC5D,KAAK,CAAC,0BAAe,EAAE,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;IACtC,CAAC;IAED,6EAA6E;IAC7E,KAAK,CAAC,WAAW,CAAC,KAAa,EAAE,UAAe;QAC5C,MAAM,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC;QAC3B,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;QACxC,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,yBAAgB,EAAE,wBAAe,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YAC1D,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;SAC3C;aAAM,IAAI,CAAC,yBAAgB,EAAE,0BAAiB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YACnE,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;SACxC;aAAM,IACH;YACI,qCAA4B;YAC5B,oCAA2B;SAC9B,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EACxB;YACE,IAAI,GAAG,IAAI,CAAC,6BAA6B,CAAC,KAAK,CAAC,CAAC;SACpD;aAAM,IACH;YACI,6BAAoB;YACpB,gCAAuB;YACvB,gCAAuB;SAC1B,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EACxB;YACE,IAAI,GAAG,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;SACjD;aAAM,IAAI,iCAAwB,KAAK,KAAK,CAAC,IAAI,EAAE;YAChD,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;SAC3C;aAAM,IAAI,+BAAsB,KAAK,KAAK,CAAC,IAAI,EAAE;YAC9C,IAAI,GAAG,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;SAChD;aAAM;YACH,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;SACnC;QAED,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;QACnD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,GAAG;YACT,UAAU,EAAE,QAAQ;YACpB,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE;gBACN;oBACI,aAAa,EAAE,IAAI;oBACnB,gBAAgB,EAAE,6BAA6B;oBAC/C,KAAK,EAAE;wBACH;4BACI,IAAI,EAAE,MAAM;4BACZ,KAAK,EAAE,SAAS;yBACnB;wBACD;4BACI,IAAI,EAAE,QAAQ;4BACd,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;yBAC9B;wBACD;4BACI,IAAI,EAAE,SAAS;4BACf,KAAK,EAAE,GAAG,OAAO,GAAG,KAAK,EAAE;yBAC9B;qBACJ;iBACJ;aACJ;YACD,eAAe,EAAE;gBACb;oBACI,OAAO,EAAE,SAAS;oBAClB,IAAI,EAAE,eAAe;oBACrB,OAAO,EAAE;wBACL;4BACI,EAAE,EAAE,SAAS;4BACb,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;yBAC/B;qBACJ;iBACJ;aACJ;SACJ,CAAC;QAEF,MAAM,WAAW,GAAG;YAChB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC7B,CAAC;QACF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ,iBAAiB,KAAK,CAAC,IAAI,kBAAkB,GAAG,CAAC,MAAM,EAAE,CAC5D,CAAC;IACN,CAAC;IAED,6BAA6B,CAAC,KAAa;QACvC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;QACnD,MAAM,YAAY,GACd,IAAI,KAAK,oCAA2B,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;QAClE,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC;QAC5D,OAAO,uBAAuB,OAAO,YAAY,OAAO,gBAAgB,YAAY,oBAAoB,WAAW,GAAG,CAAC;IAC3H,CAAC;IAED,0BAA0B,CAAC,KAAa;QACpC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;QACnD,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC;QACtE,IAAI,MAAM,CAAC;QACX,IAAI,gCAAuB,KAAK,IAAI,EAAE;YAClC,MAAM,GAAG,YAAY,CAAC;SACzB;aAAM,IAAI,6BAAoB,EAAE;YAC7B,MAAM,GAAG,UAAU,CAAC;SACvB;aAAM;YACH,MAAM,GAAG,cAAc,CAAC;SAC3B;QACD,MAAM,YAAY,GAAG,KAAK,IAAI,CAAC,IAAI,aAAa,MAAM,SAAS,WAAW,eAAe,CAAC;QAC1F,OAAO,uBAAuB,OAAO,iBAAiB,OAAO,QAAQ,YAAY,EAAE,CAAC;IACxF,CAAC;IAED,oBAAoB,CAAC,KAAa;QAC9B,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;QAC3C,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC;QAC5D,OAAO,GAAG,SAAS,6BAA6B,OAAO,eAAe,OAAO,EAAE,CAAC;IACpF,CAAC;IAED,yBAAyB,CAAC,KAAa;QACnC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;QAC3C,OAAO,GAAG,SAAS,UAAU,IAAI,CAAC,IAAI,OAAO,OAAO,EAAE,CAAC;IAC3D,CAAC;IAED,cAAc,CAAC,KAAa;QACxB,OAAO,GAAG,IAAI,CAAC,UAAU,aAAa,KAAK,CAAC,OAAO,cAAc,KAAK,CAAC,IAAI,CAAC,WAAW,2BAA2B,KAAK,CAAC,WAAW,EAAE,CAAC;IAC1I,CAAC;IAED,WAAW,CAAC,KAAa;QACrB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,KAAK,yBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;QACtE,OAAO,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,eAAe,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IACtE,CAAC;IAED,iBAAiB,CAAC,KAAa;QAC3B,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;QAC7B,MAAM,OAAO,GAAG,IAAI,KAAK,yBAAgB,CAAC;QAC1C,IAAI,OAAO,EAAE;YACT,OAAO,uBAAuB,IAAI,CAAC,IAAI,+CAA+C,CAAC;SAC1F;QACD,OAAO,uBAAuB,IAAI,CAAC,IAAI,2BAA2B,CAAC;IACvE,CAAC;IAED,oBAAoB,CAAC,KAAa;QAC9B,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;QAC7B,MAAM,MAAM,GAAG,IAAI,KAAK,yBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;QAClE,OAAO,uBAAuB,IAAI,CAAC,IAAI,UAAU,MAAM,GAAG,CAAC;IAC/D,CAAC;IAED,YAAY,CAAC,KAAa;QACtB,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;QACvB,MAAM,OAAO,GAAG,WAAW,IAAI,CAAC,IAAI,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,cAAc,IAAI,CAAC,OAAO,EAAE,CAAC;QAC7C,MAAM,UAAU,GAAG,8BAA8B,iBAAI,CAAC,IAAI,CACtD,IAAI,CAAC,UAAU,EACf,EAAE,WAAW,EAAE,IAAI,EAAE,CACxB,EAAE,CAAC;QACJ,OAAO,kBAAkB,IAAI,CAAC,IAAI,MAAM,OAAO,MAAM,OAAO,WACxD,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EACnC,EAAE,CAAC;IACP,CAAC;IAED,SAAS,CAAC,IAAY;QAClB,QAAQ,IAAI,EAAE;YACV,KAAK,wBAAe;gBAChB,OAAO,QAAQ,CAAC;YACpB,KAAK,wBAAe;gBAChB,OAAO,QAAQ,CAAC;YACpB;gBACI,OAAO,IAAI,CAAC;SACnB;IACL,CAAC;CACJ;AA3KD,6BA2KC"}
|
|
@@ -68,4 +68,29 @@ test('Should call teams webhook for archived toggle', async () => {
|
|
|
68
68
|
expect(fetchRetryCalls[0].url).toBe(parameters.url);
|
|
69
69
|
expect(fetchRetryCalls[0].options.body).toMatchSnapshot();
|
|
70
70
|
});
|
|
71
|
+
test(`Should call teams webhook for toggled environment`, async () => {
|
|
72
|
+
const addon = new teams_1.default({
|
|
73
|
+
getLogger: no_logger_1.default,
|
|
74
|
+
unleashUrl: 'http://some-url.com',
|
|
75
|
+
});
|
|
76
|
+
const event = {
|
|
77
|
+
id: 2,
|
|
78
|
+
createdAt: new Date(),
|
|
79
|
+
type: events_1.FEATURE_ENVIRONMENT_DISABLED,
|
|
80
|
+
createdBy: 'some@user.com',
|
|
81
|
+
environment: 'development',
|
|
82
|
+
project: 'default',
|
|
83
|
+
data: {
|
|
84
|
+
name: 'some-toggle',
|
|
85
|
+
},
|
|
86
|
+
};
|
|
87
|
+
const parameters = {
|
|
88
|
+
url: 'http://hooks.slack.com',
|
|
89
|
+
};
|
|
90
|
+
await addon.handleEvent(event, parameters);
|
|
91
|
+
expect(fetchRetryCalls).toHaveLength(1);
|
|
92
|
+
expect(fetchRetryCalls[0].url).toBe(parameters.url);
|
|
93
|
+
expect(fetchRetryCalls[0].options.body).toMatch(/disabled/);
|
|
94
|
+
expect(fetchRetryCalls[0].options.body).toMatchSnapshot();
|
|
95
|
+
});
|
|
71
96
|
//# sourceMappingURL=teams.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"teams.test.js","sourceRoot":"","sources":["../../../src/lib/addons/teams.test.ts"],"names":[],"mappings":";;;;;AAEA,
|
|
1
|
+
{"version":3,"file":"teams.test.js","sourceRoot":"","sources":["../../../src/lib/addons/teams.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,9 +43,17 @@ const webhookDefinition = {
|
|
|
43
43
|
events_1.FEATURE_CREATED,
|
|
44
44
|
events_1.FEATURE_UPDATED,
|
|
45
45
|
events_1.FEATURE_ARCHIVED,
|
|
46
|
+
events_1.FEATURE_METADATA_UPDATED,
|
|
46
47
|
events_1.FEATURE_REVIVED,
|
|
47
48
|
events_1.FEATURE_STALE_ON,
|
|
48
49
|
events_1.FEATURE_STALE_OFF,
|
|
50
|
+
events_1.FEATURE_ENVIRONMENT_ENABLED,
|
|
51
|
+
events_1.FEATURE_ENVIRONMENT_DISABLED,
|
|
52
|
+
events_1.FEATURE_STRATEGY_REMOVE,
|
|
53
|
+
events_1.FEATURE_STRATEGY_UPDATE,
|
|
54
|
+
events_1.FEATURE_STRATEGY_ADD,
|
|
55
|
+
events_1.FEATURE_METADATA_UPDATED,
|
|
56
|
+
events_1.FEATURE_PROJECT_CHANGE,
|
|
49
57
|
],
|
|
50
58
|
};
|
|
51
59
|
exports.default = webhookDefinition;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhook-definition.js","sourceRoot":"","sources":["../../../src/lib/addons/webhook-definition.ts"],"names":[],"mappings":";;AAAA,
|
|
1
|
+
{"version":3,"file":"webhook-definition.js","sourceRoot":"","sources":["../../../src/lib/addons/webhook-definition.ts"],"names":[],"mappings":";;AAAA,4CAcyB;AAGzB,MAAM,iBAAiB,GAAqB;IACxC,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,SAAS;IACtB,WAAW,EACP,mFAAmF;IACvF,gBAAgB,EAAE,gDAAgD;IAClE,UAAU,EAAE;QACR;YACI,IAAI,EAAE,KAAK;YACX,WAAW,EAAE,aAAa;YAC1B,WAAW,EACP,qGAAqG;YACzG,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,IAAI;SAClB;QACD;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,cAAc;YAC3B,WAAW,EAAE,kBAAkB;YAC/B,WAAW,EACP,4EAA4E;YAChF,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,KAAK;SACnB;QACD;YACI,IAAI,EAAE,cAAc;YACpB,WAAW,EAAE,eAAe;YAC5B,WAAW,EAAE;;;;;EAKvB;YACU,WAAW,EACP,8LAA8L;YAClM,IAAI,EAAE,WAAW;YACjB,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,KAAK;SACnB;KACJ;IACD,MAAM,EAAE;QACJ,wBAAe;QACf,wBAAe;QACf,yBAAgB;QAChB,iCAAwB;QACxB,wBAAe;QACf,yBAAgB;QAChB,0BAAiB;QACjB,oCAA2B;QAC3B,qCAA4B;QAC5B,gCAAuB;QACvB,gCAAuB;QACvB,6BAAoB;QACpB,iCAAwB;QACxB,+BAAsB;KACzB;CACJ,CAAC;AAEF,kBAAe,iBAAiB,CAAC"}
|