44 строки
1.3 KiB
Markdown
44 строки
1.3 KiB
Markdown
# Plugins
|
|
|
|
Your `entitlements-app` config `config/entitlements.yaml` runs through ERB interpretation automatically. You can extend your entitlements configuration to load plugins like so:
|
|
|
|
```ruby
|
|
<%-
|
|
unless ENV['CI_MODE']
|
|
begin
|
|
require_relative "/data/entitlements-app/lib/entitlements-and-plugins"
|
|
rescue Exception
|
|
begin
|
|
require_relative "lib/entitlements-and-plugins"
|
|
rescue Exception
|
|
# We might not have the plugins installed and still want this file to be
|
|
# loaded. Don't raise anything but silently fail.
|
|
end
|
|
end
|
|
end
|
|
-%>
|
|
```
|
|
|
|
You can then define `lib/entitlements-and-plugins` like so:
|
|
|
|
```ruby
|
|
#!/usr/bin/env ruby
|
|
# frozen_string_literal: true
|
|
|
|
ENV["BUNDLE_GEMFILE"] = File.expand_path("../../Gemfile", File.dirname(__FILE__))
|
|
require "bundler/setup"
|
|
require "entitlements"
|
|
|
|
# require entitlements plugins here
|
|
require "entitlements/backend/github_org"
|
|
require "entitlements/backend/github_team"
|
|
require "entitlements/service/github"
|
|
```
|
|
|
|
Any plugins defined in `lib/entitlements-and-plugins` will be loaded and used at `entitlements-app` runtime.
|
|
|
|
For more on plugins, see:
|
|
|
|
- [entitlements-github-plugin](https://github.com/github/entitlements-github-plugin)
|
|
- [entitlements-gitrepo-auditor-plugin](https://github.com/github/entitlements-gitrepo-auditor-plugin)
|