probot-extended-setup
v0.6.0
Published
Web editor for configuring Probot apps
Maintainers
Readme
Getting started
Install
# Install dependencies
npm install probot-extended-setupCreate params.yml
Probot Extended Setup reads a file in your app's root directory named params.yml. It uses this file to determine what and how it should let you configure environment variables via a web ui.
See params.yml for a simple example.
Options
params.yml is written as an top-level array, with each element supporting these options:
name- required - a friendly name for the parameterdescription- optional - a terse representation of what this parameter is used for that is shown as a tooltip in the editorenv- required - the environment variable key that will be used when saving and loading this paramter to.envinputType- optional, defaults totext- the HTML input type to render this paramter's value with. Supported values below:textdefault input controlpasswordmasks inputcheckboxsupportstrue/falsevaluestextareamulti-line text input control
Load the plugin
Add probot-extended-setup to your Probot App
const ExtendedSetup = require('probot-extended-setup');
/**
* This is the main entrypoint to your Probot app
* @param {import('probot').Application} app
*/
module.exports = (app) => {
app.load(ExtendedSetup);
// your Probot App code here
}Using the editor
- Start your application and navigate to https://127.0.0.1:3000/probot/setup/extended.
- Edit your application configuration in the web form then save it.
probot-extended-setupmerges your changes into your existing config and saves it to.envin the root directory.
Access control
Access to the configuration editor is restricted to localhost.
You can also access the editor by supplying a generated token that can be found in the startup logs and <rootDir>/.token.
Reading the config
The Probot framework automatically loads the contents of .env into the environment variables for your app's running process. You can access them in your code by accessing process.env.<PARAMETER_NAME>, i.e. process.env.APP_ID
Contributing
Commits follow the Angular commit convention and this repository is commitizen friendly. In a general sense this means you'll want run npm run git-commit or git cz instead of git commit.
If you have suggestions for how probot-extended-setup could be improved, or want to report a bug, open an issue! We'd love all and any contributions.
For more, check out the Contributing Guide.
Releasing
This project uses semantic-release to handle releasing and publishing new versions. Merging pull requests into the main branch automatically runs this process via GitHub Actions.
