Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
71 commits
Select commit Hold shift + click to select a range
de8bab4
handle multiple changes as a batch
decyjphr Oct 3, 2025
fa00d78
Update index.js
decyjphr Oct 3, 2025
b87397c
Update index.js
decyjphr Oct 3, 2025
6b358e5
depup files in a push
decyjphr Oct 5, 2025
c971041
Update index.js
decyjphr Oct 5, 2025
ac8e195
moved the dedup logic
decyjphr Oct 5, 2025
8bc76fc
Update index.js
decyjphr Oct 5, 2025
b6887a2
Start at 2.1.18-rc1 and add roles plugin and enhance settings integr…
decyjphr May 15, 2026
bdcc6b5
Add custom repository roles schema to settings.json
decyjphr May 15, 2026
1d739f9
Add sub-org reevaluation logic and smoke tests
decyjphr May 19, 2026
baaa9d5
Add external group linking functionality for teams and update smoke t…
decyjphr May 19, 2026
6ca72a7
feat: add disable_plugins configuration to settings schema
decyjphr May 24, 2026
3cac68b
fix: add action.msg to dedup key so multiple disable_plugins NopComma…
decyjphr May 24, 2026
a294cbd
feat: add support for additive_plugins in settings
decyjphr May 26, 2026
d03062a
fix: update .gitignore to ignore all .env files
decyjphr May 27, 2026
fa5020e
fix: update app.yml to remove empty line and add organization custom …
decyjphr Jun 2, 2026
d9be605
Refactor Variables Plugin: Simplify methods and add NopCommand support
decyjphr Jun 4, 2026
6a38988
fix: update variables handling in smoke test and add new repository Y…
decyjphr Jun 7, 2026
16b9375
Added PR989 changes
decyjphr Jun 7, 2026
1892ac7
Add reverse settings generator (issue #994)
decyjphr Jun 13, 2026
5fac715
feat: enhance smoke tests with custom repository roles and rulesets
decyjphr Jun 17, 2026
b250312
fix: enhance ruleset handling in MergeDeep and add tests for required…
decyjphr Jun 17, 2026
2bfc2e8
test: add ruleset comparison tests for required_reviewers and unnamed…
decyjphr Jun 17, 2026
2d2f92f
feat: implement name-based resolution for ruleset bypass actors and r…
decyjphr Jun 23, 2026
2876b3f
Fix suborg-applied settings not removed when targeting rules change
decyjphr Jun 23, 2026
8659138
Add phase 5 smoke test for suborg targeting rule change removal
decyjphr Jun 23, 2026
90f0dea
Fix custom_properties test to use github.rest.repos mock
decyjphr Jun 23, 2026
30c514a
Potential fix for pull request finding
decyjphr Jun 23, 2026
6d9e38c
Potential fix for pull request finding
decyjphr Jun 23, 2026
9b49716
Fix suborgrepos tests to mock paginate for glob resolution
decyjphr Jun 23, 2026
ad373e4
Fix suborg targeting removal: inject empty plugin sections for cleanup
decyjphr Jun 23, 2026
4605093
Merge pull request #1006 from github/decyjphr-fix-suborg-targeting-re…
decyjphr Jun 23, 2026
71e7109
fix: add validation checks for compiled scripts in Settings class
decyjphr Jun 24, 2026
8c20bf2
Merge branch 'yadhav/fix-recent-issues' of https://github.com/github/…
decyjphr Jun 24, 2026
5894eae
feat: add app installation plugin for managing GitHub App repo access
decyjphr Jun 25, 2026
a51ab87
fix: use enterprise installation token for app installation API calls
decyjphr Jun 25, 2026
8fee0dd
perf: cache enterprise installation ID to avoid repeated lookups
decyjphr Jun 25, 2026
d0be177
Wire syncAppInstallations into syncSelectedRepos for delta processing
decyjphr Jun 26, 2026
24fb684
Compute repository_unselection by diffing previous vs current configs
decyjphr Jun 26, 2026
4b2cec7
Fix delta bugs: org-all precedence + repo config path; update schema
decyjphr Jun 26, 2026
b731d54
Address app installation review: remove bad drift handler, fix orderi…
decyjphr Jun 26, 2026
9a25bdc
Skip redundant app installation churn for unchanged delta
decyjphr Jun 26, 2026
eacef7f
Use correct Enterprise Org Installations API (names, toggle, PATCH ad…
decyjphr Jun 26, 2026
c55645e
Add verification for app-installations plugin functionality
decyjphr Jul 6, 2026
c43625a
Refactor enterprise installation handling: add getEnterpriseAppClient…
decyjphr Jul 6, 2026
1364b09
Add ADR 0001: app installation management plugin
decyjphr Jul 6, 2026
99cd47e
Enhance app installations plugin: add subject handling and improve re…
decyjphr Jul 6, 2026
47a8d11
ADR updates
decyjphr Jul 6, 2026
7832694
Refactor enterprise installation handling: update caching logic and i…
decyjphr Jul 7, 2026
366522b
Add functions to list installations and find enterprise installation
decyjphr Jul 7, 2026
b4f00b2
Potential fix for pull request finding
decyjphr Jul 7, 2026
b6b87a0
Resolved CCR PR review
decyjphr Jul 7, 2026
d22a410
Removed repository_selection as a field in the settings.yml
decyjphr Jul 7, 2026
31652a7
Enhance app_installations handling: add detection for layered configu…
decyjphr Jul 7, 2026
1b63531
syncSelectedRepos() repoConfigs often contains only the *last* proces…
decyjphr Jul 7, 2026
26b5010
Handle authentication errors by clearing cached enterprise installati…
decyjphr Jul 7, 2026
60c4b7a
Map and Array mismatch will cause delta-based sync to skip real add/r…
decyjphr Jul 7, 2026
19d911b
Fix error that makes the app_installations phase silently no-op (and …
decyjphr Jul 7, 2026
97e2b81
protective to change to lowercase
decyjphr Jul 7, 2026
4e8240c
cleaned up test
decyjphr Jul 7, 2026
57ce4bc
Fix edge case where deleting and adding may return 422 for full sync
decyjphr Jul 8, 2026
61f3141
Also took add-then-delete approach for delta-sync to avoid 422
decyjphr Jul 8, 2026
498631c
Normalize enterprise slug comparison to lowercase for consistency
decyjphr Jul 8, 2026
58205b5
Document app-centric shift and delta/full-sync model in installation …
decyjphr Jul 8, 2026
ff44c8b
minor doc updates
decyjphr Jul 8, 2026
95c3ad6
Fix external group handling, mergeDeep crash, and config validator gap
vish-dawange Jul 10, 2026
b9ba636
Correct empty desired set handling and document the decisions
decyjphr Jul 10, 2026
dfd9781
Update JSDoc for correct method parms
decyjphr Jul 10, 2026
e73f53e
Merge pull request #1012 from github-community-projects/decyjphr-app-…
decyjphr Jul 10, 2026
3ddbe11
Potential fix for pull request finding
decyjphr Jul 10, 2026
e9b51bd
Merge pull request #1016 from vish-dawange/feature/mc-safe-settings
decyjphr Jul 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ npm-debug.log
.DS_Store
node_modules/
private-key.pem
.env
*.env
*.pem
.vscode
yarn.lock
Expand Down
522 changes: 520 additions & 2 deletions README.md

Large diffs are not rendered by default.

77 changes: 45 additions & 32 deletions app.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,22 +22,23 @@ default_events:
- pull_request
- push
- repository
- repository_dispatch
- repository_ruleset
- team


# The set of permissions needed by the GitHub App. The format of the object uses
# the permission name for the key (for example, issues) and the access type for
# the value (for example, write).
# Valid values are `read`, `write`, and `none`
default_permissions:
repository_custom_properties: write
organization_custom_properties: admin

# Workflows, workflow runs and artifacts. (needed to read environments when repo is private or internal)
# https://developer.github.com/v3/apps/permissions/#repository-permissions-for-actions
actions: read

# Manage Actions variables.
# https://docs.github.com/en/rest/actions/variables?apiVersion=2022-11-28
actions_variables: write

# Repository creation, deletion, settings, teams, and collaborators.
# https://developer.github.com/v3/apps/permissions/#permission-on-administration
administration: write
Expand All @@ -54,6 +55,10 @@ default_permissions:
# https://developer.github.com/v3/apps/permissions/#permission-on-deployments
# deployments: read

enterprise_organization_installations: write

enterprise_organization_installation_repositories: write

# Manage repository environments.
# https://developer.github.com/v3/apps/permissions/#repository-permissions-for-environments
environments: write
Expand All @@ -62,10 +67,44 @@ default_permissions:
# https://developer.github.com/v3/apps/permissions/#permission-on-issues
issues: write

# Organization members and teams.
# https://developer.github.com/v3/apps/permissions/#permission-on-members
members: write

# Search repositories, list collaborators, and access repository metadata.
# https://developer.github.com/v3/apps/permissions/#metadata-permissions
metadata: read

# View and manage users blocked by the organization.
# https://developer.github.com/v3/apps/permissions/#permission-on-organization-user-blocking
# organization_user_blocking: read

# Manage organization projects, columns, and cards.
# https://developer.github.com/v3/apps/permissions/#permission-on-organization-projects
# organization_projects: read

# Manage team discussions and related comments.
# https://developer.github.com/v3/apps/permissions/#permission-on-team-discussions
# team_discussions: read

# Manage the post-receive hooks for an organization.
# https://developer.github.com/v3/apps/permissions/#permission-on-organization-hooks
# organization_hooks: read

# Get notified of, and update, content references.
# https://developer.github.com/v3/apps/permissions/
organization_administration: write

# Manage custom organization roles.
# https://docs.github.com/en/enterprise-cloud@latest/rest/authentication/permissions-required-for-github-apps?apiVersion=2026-03-10#organization-permissions-for-custom-organization-roles
organization_custom_org_roles: write

# Manage custom repository roles.
# https://docs.github.com/en/enterprise-cloud@latest/rest/authentication/permissions-required-for-github-apps?apiVersion=2026-03-10#organization-permissions-for-custom-repository-roles
organization_custom_roles: write

organization_custom_properties: admin

# Retrieve Pages statuses, configuration, and builds, as well as create new builds.
# https://developer.github.com/v3/apps/permissions/#permission-on-pages
# pages: read
Expand All @@ -74,6 +113,8 @@ default_permissions:
# https://developer.github.com/v3/apps/permissions/#permission-on-pull-requests
pull_requests: write

repository_custom_properties: write

# Manage the post-receive hooks for a repository.
# https://developer.github.com/v3/apps/permissions/#permission-on-repository-hooks
# repository_hooks: read
Expand All @@ -90,34 +131,6 @@ default_permissions:
# https://developer.github.com/v3/apps/permissions/#permission-on-statuses
statuses: write

# Organization members and teams.
# https://developer.github.com/v3/apps/permissions/#permission-on-members
members: write

# View and manage users blocked by the organization.
# https://developer.github.com/v3/apps/permissions/#permission-on-organization-user-blocking
# organization_user_blocking: read

# Manage organization projects, columns, and cards.
# https://developer.github.com/v3/apps/permissions/#permission-on-organization-projects
# organization_projects: read

# Manage team discussions and related comments.
# https://developer.github.com/v3/apps/permissions/#permission-on-team-discussions
# team_discussions: read

# Manage the post-receive hooks for an organization.
# https://developer.github.com/v3/apps/permissions/#permission-on-organization-hooks
# organization_hooks: read

# Get notified of, and update, content references.
# https://developer.github.com/v3/apps/permissions/
organization_administration: write

# Manage Actions variables.
# https://docs.github.com/en/rest/actions/variables?apiVersion=2022-11-28
actions_variables: write


# The name of the GitHub App. Defaults to the name specified in package.json
name: Safe Settings
Expand Down
2 changes: 2 additions & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,5 @@
| Configure deployment environments | [Deployment Environments](github-settings/6.%20deployment-environments.md) |
| Configure auto-link references | [AutoLinks](github-settings/7.%20autolinks.md) |
| Configure pre-defined labels for issues and pull requests | [Labels](github-settings/8.%20labels.md) |

For information on disabling plugins, see [Disabling plugins](../README.md#disabling-plugins-disable_plugins) in the root README.
Loading