Support multi-environments in ChatOps feature commands
Problem
Currently, the chatops commands for feature flags don't support multiple environments. This sometimes result in an awkward situation that the #production channel becomes very noisy by the commands and responses. Also, it takes long time to finish one command and another.
Related #120 (closed)
What's changed in this MR
Reference: Feature Flag issue template.
Preproduction rollout phase
Before
/chatops run feature set <flag-name> true --dev
/chatops run feature set <flag-name> true --staging
After
/chatops run feature set <flag-name> true --dev --staging
Cleanup rollout phase
Before
/chatops run feature delete <flag-name> --dev
/chatops run feature delete <flag-name> --staging
/chatops run feature delete <flag-name>
After
/chatops run feature cleanup <flag-name> --dev --staging --production
NOTES
- The current business logic, such as logging and blocking on incident, is unchanged. Even if the command succeeded on
--dev, it could fail on--production. The progress message is shown in the Slack channel. - Multi-environments is only supported in
featurechatops command only. If the other kind of commands attempts multi-envs args, it results inthis chatops command does not support multiple environmentserror.
Edited by Shinya Maeda