A GitHub App built with Probot that provides a web editor for configuring Probot apps
# Install dependencies
npm install probot-extended-setup
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.
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.env
inputType
- optional, defaults totext
- the HTML input type to render this paramter's value with. Supported values below:text
default input controlpassword
masks inputcheckbox
supportstrue
/false
valuestextarea
multi-line text input control
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
}
- 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-setup
merges your changes into your existing config and saves it to.env
in the root directory.
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
.
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
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.
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.