PHPackages                             cdamian/plus-pull - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. cdamian/plus-pull

AbandonedArchivedLibrary[Utility &amp; Helpers](/categories/utility)

cdamian/plus-pull
=================

Script to merge Github pull requests, which have enough +1 votes

v0.8.1(6y ago)1313.9k4MITPHPCI passing

Since May 7Pushed 3mo ago2 watchersCompare

[ Source](https://github.com/christofdamian/plus-pull)[ Packagist](https://packagist.org/packages/cdamian/plus-pull)[ Docs](https://github.com/christofdamian/plus-pull)[ RSS](/packages/cdamian-plus-pull/feed)WikiDiscussions master Synced 4w ago

READMEChangelog (10)Dependencies (5)Versions (37)Used By (0)

⚠️ **This repository has moved to Codeberg: **

This GitHub repository is archived and no longer maintained here. [![Build Status](https://camo.githubusercontent.com/f3e111bf6474af8374a24010c7491755c43cf45d9a3dc928d8802e1c4c2b316b/68747470733a2f2f7472617669732d63692e6f72672f6368726973746f6664616d69616e2f706c75732d70756c6c2e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/christofdamian/plus-pull)

plus-pull
=========

[](#plus-pull)

Simple script that checks pull requests on a repository on Github and pulls them if they satisfy certain requirements.

By default these requirements are:

1. the sum of +1 and -1 is at least 3
2. there are no \[B\] blocker comments
3. the request is mergeable
4. (optionally) all build statuses are OK

Install
-------

[](#install)

composer.phar create-project cdamian/plus-pull

Command Line Usage
------------------

[](#command-line-usage)

Check pull requests:

```
check [-p|--pull] [-l|--limit="..."] [config-file]

Arguments:
 config-file           Path of the yaml configuration file (default: "config.yml")

Options:
 --pull (-p)           Pull the request if all conditions are met
 --limit (-l)          Maximum numbers of pull (default: 1)

```

Create a new github authorization token:

```
token:create [--note="..."]

Options:
 --note                Note for the authorization token on github (default: "plus-push")

```

Configuration File
------------------

[](#configuration-file)

With the config file you can set the github authorization username and password or an github authorizisation token.

The other section sets the repository owner and name and you can change the defaults for needed votes, if status will be checked and voter whitelist.

You have also the option to automatically add labels for keywords found in the comments. In the example below we will add the label 'blocked' with the given color if we see '\[B\]' in one of the comments. The label will be created if it doesn't exist.

```
authorization:
    username: christofdamian
    password: secret
    token: githubtoken

repositories:
    -
        username: christofdamian
        name: test
        status: true
        required: 3
        whitelist: [ christofdamian ]
        wait: 300
        mergemode: merge
        labels:
            -
                name: blocked
                color: eb6420
                hook: '[B]'
```

Credits
-------

[](#credits)

We are using a similar script at work, which was started by @adriacidre . This is a complete rewrite though to make it easier to add further features.

Label support by @ifosch

###  Health Score

44

—

FairBetter than 91% of packages

Maintenance55

Moderate activity, may be stable

Popularity29

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity65

Established project with proven stability

 Bus Factor1

Top contributor holds 74.5% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~90 days

Recently: every ~271 days

Total

26

Last Release

2535d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/17934949?v=4)[Cosmin Damian](/maintainers/cdamian)[@cdamian](https://github.com/cdamian)

---

Top Contributors

[![christofdamian](https://avatars.githubusercontent.com/u/175254?v=4)](https://github.com/christofdamian "christofdamian (79 commits)")[![ifosch](https://avatars.githubusercontent.com/u/2912400?v=4)](https://github.com/ifosch "ifosch (26 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (1 commits)")

---

Tags

cigithubphp

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/cdamian-plus-pull/health.svg)

```
[![Health](https://phpackages.com/badges/cdamian-plus-pull/health.svg)](https://phpackages.com/packages/cdamian-plus-pull)
```

###  Alternatives

[friendsoftypo3/content-blocks

TYPO3 CMS Content Blocks - Content Types API | Define reusable components via YAML

103519.9k45](/packages/friendsoftypo3-content-blocks)[aeliot/todo-registrar

Register TODOs from source code in issue tracker

153.0k](/packages/aeliot-todo-registrar)[altis/local-server

Local Server module for Altis

18217.0k2](/packages/altis-local-server)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
