Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
This repository was archived by the owner on Sep 14, 2019. It is now read-only.
/probot-configPublic archive

A Probot extension to easily share configs between repositories.

License

NotificationsYou must be signed in to change notification settings

probot/probot-config

Repository files navigation

This project has been merged intoProbot itself as part of the corecontext.config helper. Any future development takes place there.

Probot: Config

DownloadsversionLicenseBuild Status

AProbot extension to easily share configs betweenrepositories.

Setup

Just put common configuration keys in a common repository within yourorganization. Then reference this repository from config files with the samename.

# octocat/probot-settings:.github/test.yamlshared1:will be mergedshared2:will also be merged# octocat/repo1:.github/test.yaml_extends:probot-settingsother:AAA# octocat/repo2:.github/test.yaml_extends:probot-settingsshared2:overrides shared2other:BBB# octocat/repo3:.github/test.yamlother:CCC# standalone, does not extend other configs

Configs are deeply-merged. Nested objects do not have to be redefinedcompletely. This is accomplished usingdeepmerge. When using probot-config in an app, you can passoptions through todeepmerge.

You can also reference configurations from other organizations:

_extends:other/probot-settingsother:DDD

Additionally, you can specify a specific path for the configuration byappending a colon after the project.

_extends:probot-settings:.github/other_test.yamlother:FFF

Inherited configurations are in theexact same location within therepositories.

# octocat/repo1:.github/test.yaml_extends:.githubother:GGG# octocat/.github:test.yamlother:HHH

Additionally, if there is no config file, but there is a repo in the org named.github, it will be used as a base repository.

# octocat/repo1:.github/test.yaml <-- missing!# octocat/.github:.github/test.yamlother:III

Recipes

These recipes are specific to usage of the .github repo name, which is therecommended place to store your configuration files. Within the .github repository,your configuration must live in a.github/ folder.

An opt-in pattern

You may want to create a configuration that other projects in your org inheritfrom on an explicit opt-in basis. Example:

# octocat/.github:.github/_test.yamlshared1:Will be inherited by repo1 and not repo2# octocat/repo1:.github/test.yaml# Inherits from octocat/.github:_test.yaml_extends:.github:_test.yaml# octocat/repo3:.github/test.yaml <--missing!# Is not merged with another config.

An opt-out pattern

Alternatively, you may want to default to the config in your.github projectand occasionally opt-out. Example:

# octocat/.github:.github/test.yamlshared1:Will be inherited by repo1 and not repo2# octocat/repo1:.github/test.yaml <-- missing!# Uses octocat/.github:test.yaml instead# octocat/repo3:.github/test.yaml <-- either empty or populated# Will not inherit shared1, since no _extends field is specified

Usage

constgetConfig=require('probot-config');module.exports=robot=>{robot.on('push',asynccontext=>{// Will look for 'test.yml' inside the '.github' folderconstconfig=awaitgetConfig(context,'test.yml');});};

Development

# Install dependenciesnpm install# Run the botnpm start# Run test watchersnpm run test:watch

We useprettier for auto-formatting andeslint as linter. Both tools can automatically fix a lotof issues for you. To invoke them, simply run:

npm run fix

It is highly recommended to use VSCode and install the suggested extensions.They will configure your IDE to match the coding style, invoke auto formattersevery time you save and run tests in the background for you. No need to run thewatchers manually.

About

A Probot extension to easily share configs between repositories.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors14


[8]ページ先頭

©2009-2025 Movatter.jp