Change Request
Automate opening/closing of change requests for FT applications.
change-request \
--owner-email "you@ft.com" \
--summary "Hello World" \
--description "This is a description" \
--service "my service" \
--api-key "xxxxxx"
Table Of Contents
Requirements
Running the change request tool requires Node.js 4.x and npm.
Install
npm install -g @financial-times/change-request
Usage
Usage: change-request [options]
Options:
-h, --help output usage information
-V, --version output the version number
-a, --api-key <key> the API key to use when accessing the CR API
-o, --owner-email <email> the change request owner email address
-s, --summary <summary> a short summary of the change
-d, --description <description> a short description of the change
-f, --description-file <filename> file to read description from, instead of --description
-r, --reason <reason> the reason for the change. Default: "Deployment"
-c, --open-category <category> the category for opening the change request. One of "Major", "Minor", "Significant". Default: "Minor"
-C, --close-category <category> the category for closing the change request. One of "Implemented", "Partially Implemented", "Rejected", "Rolled back", "Cancelled". Default: "Implemented"
-R, --risk-profile <risk-profile> the risk profile for the change request. One of "Low", "Medium", "High". Default: "Low"
-e, --environment <environment> the environment the change request applies to. One of "Production", "Test", "Development", "Disaster Recovery". Default: "Test"
-O, --outage whether there will be an outage. Default: false
-S, --service <service> the service that the change request applies to
-n, --notify-channel <slack-channel> the slack channel to notify of the change request
Testing
To run tests on your machine you'll need to install Node.js and run make install
. Then you can run the following commands:
make test
make test-unit
You can run the unit tests with coverage reporting, which expects 90% coverage or more:
make test-unit-coverage verify-coverage
The code will also need to pass linting on CI, you can run the linter locally with:
make verify
We run the tests and linter on CI, you can view results on CircleCI. make test
and make lint
must pass before we merge a pull request.
Deployment
New versions of the module are published automatically by CI when a new tag is created matching the pattern /v.*/
.
License
The Financial Times has published this software under the MIT license.