All Projects → CanarysAutomations → automate-branch-rules-cli

CanarysAutomations / automate-branch-rules-cli

Licence: MIT license
The tool lets you automate the addition, removal or alteration of the branch protection rules for 1 or more branches & repositories in one go.

Programming Languages

python
139335 projects - #7 most used programming language
Dockerfile
14818 projects

Projects that are alternatives of or similar to automate-branch-rules-cli

branch-protection-bot
A bot tool to disable and re-enable "Include administrators" option in branch protection
Stars: ✭ 57 (+96.55%)
Mutual labels:  protection, branch-protection
weedow-searchy
Automatically exposes web services over HTTP to search for Entity-related data using a powerful query language
Stars: ✭ 21 (-27.59%)
Mutual labels:  repository, repositories
ghec-audit-log-cli
Query the GitHub Audit Log for your organization to send it over to other services like elastic, splunk or sentinel for visualization and security
Stars: ✭ 54 (+86.21%)
Mutual labels:  enterprise
Filterlist-for-AdGuard-or-PiHole
A very aggressive filter-list that consolidates over 370 lists for use in AdGuard Home, Pi-Hole or similar.
Stars: ✭ 349 (+1103.45%)
Mutual labels:  protection
repository
[PHP 7] Implementation and definition of a base Repository in Domain land.
Stars: ✭ 26 (-10.34%)
Mutual labels:  repository
Hexagonal-architecture-ASP.NET-Core
App generator API solution template which is built on Hexagnonal Architecture with all essential feature using .NET Core
Stars: ✭ 57 (+96.55%)
Mutual labels:  repository
meta-repo
Meta-repo is a git repository that contains all the ports trees for Funtoo Linux. (GitHub Mirror)
Stars: ✭ 40 (+37.93%)
Mutual labels:  repository
receptacle
minimalistic implementation of the repository pattern
Stars: ✭ 18 (-37.93%)
Mutual labels:  repository
sensible-github-labels
Github labels for teams that like workflows and structure
Stars: ✭ 121 (+317.24%)
Mutual labels:  organization
ForkMe-Mobile
FIT3027 Android-iOS Project: A Trending 📈 Github Repository Viewer (wip)
Stars: ✭ 13 (-55.17%)
Mutual labels:  repositories
backup-repository
Backup storage for E2E GPG-encrypted files, with multi-user, quotas, versioning, using a object storage (S3/Min.io/GCS etc.) and deployed on Kubernetes or standalone.
Stars: ✭ 21 (-27.59%)
Mutual labels:  repository
debianopt-repo
Additional debian repository for awesome open-source projects.
Stars: ✭ 47 (+62.07%)
Mutual labels:  repository
mrgit
A tool for managing projects build using multiple repositories.
Stars: ✭ 42 (+44.83%)
Mutual labels:  repository
langx-java
Java tools, helper, common utilities. A replacement of guava, apache-commons, hutool
Stars: ✭ 50 (+72.41%)
Mutual labels:  repository
ngx-vant
Lightweight Mobile UI Components built on Vant and Angular
Stars: ✭ 34 (+17.24%)
Mutual labels:  enterprise
scif
scientific filesystem: a filesystem organization for scientific software and metadata
Stars: ✭ 30 (+3.45%)
Mutual labels:  organization
areas
A rewrite of the node_ownership Minetest mod with many new features.
Stars: ✭ 48 (+65.52%)
Mutual labels:  protection
standardnotes-extensions
Standard Notes Extensions
Stars: ✭ 16 (-44.83%)
Mutual labels:  repository
ioBroker.heatingcontrol
heating control incl. simple actor handling
Stars: ✭ 43 (+48.28%)
Mutual labels:  repository
Banana
🍌 The collection of CRUD helpers for Dapper.
Stars: ✭ 61 (+110.34%)
Mutual labels:  repository

Automate Branch Rules (CLI)

The tool lets you automate the addition, removal or alteration of the branch protection rules for 1 or more branches & repositories in one go. This helps users to bulk update the branch rules which saves lot of time when you have hundreds of branches and repositories in your organization.

Supported branch protection rules

The tool currently supports adding or modifying the below branch protection rules-

  • Require pull request reviews before merging
    • Dismiss stale pull request approvals when new commits are pushed
    • Require review from Code Owners
    • Restrict who can dismiss pull request reviews
  • Require status checks to pass before merging
    • Require branches to be up to date before merging
  • Require signed commits
  • Include administrators
  • Restrict who can push to matching branches
  • Add or update CODEOWNERS

Prerequisites

You can run the tool as Docker Container or cli using Python. Refer to the below sections in both cases.

  • A GitHub organization with permissions to update the branch protection rules
  • Git installed on your machine.Click here to get the latest version of Git.

Run as a Docker Container 🐳

  • Docker installed on your machine

Run using Python 🐍

  • Python 3.8 or above installed on your machine

  • Install the latest version of pip

    python -m pip install --upgrade pip

  • Install the Python library stdiomask

    pip install stdiomask

  • Install the Python library PyGithub

    pip install pygithub

Note ⚠️ Run the above commands as a root user (linux) or as an administrator mode in command prompt (windows).

Usage Instructions 📝

To learn how to setup and use the tool click here.

Current limitations

  • The tool does not support for Personal user accounts
  • Allow force pushes, Allow deletions and Require linear history rules are not supported

You can try the web app from here.

License

The scripts and documentation in this project are released under the MIT License

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].