PHPackages                             terminus-plugin-project/terminus-upstream-testing-plugin - 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. [Testing &amp; Quality](/categories/testing)
4. /
5. terminus-plugin-project/terminus-upstream-testing-plugin

ActiveTerminus-plugin[Testing &amp; Quality](/categories/testing)

terminus-plugin-project/terminus-upstream-testing-plugin
========================================================

Pantheon plugin to deploy upstream branch / features to specified branches before committing to master environment.

v1.1.1(8y ago)22.5k1[4 issues](https://github.com/terminus-plugin-project/terminus-upstream-testing-plugin/issues)MITPHPPHP &gt;=5.4

Since Apr 3Pushed 8y ago2 watchersCompare

[ Source](https://github.com/terminus-plugin-project/terminus-upstream-testing-plugin)[ Packagist](https://packagist.org/packages/terminus-plugin-project/terminus-upstream-testing-plugin)[ Docs](https://github.com/terminus-plugin-project/terminus-upstream-testing-plugin)[ RSS](/packages/terminus-plugin-project-terminus-upstream-testing-plugin/feed)WikiDiscussions 1.x Synced 2mo ago

READMEChangelog (7)Dependencies (1)Versions (9)Used By (0)

Terminus Upstream Testing
=========================

[](#terminus-upstream-testing)

[![Terminus v1.x Compatible](https://camo.githubusercontent.com/9ea8fb0893368c0b24f172cc2df676fa4bb7246d14c0377b7924a6918065be26/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7465726d696e75732d76312e782d677265656e2e737667)](https://github.com/terminus-plugin-project/terminus-upstream-testing/tree/1.x)

OptionDescription--repoRepository to use and pull code from. When omitted this will use the sites upstream--branchBranch from the repository to use.--envEnvironment to use for testing--copyEnvironment to copy database and files from--teardownTear down the environment before applying any changes--rebuildRebuild the database and files--usernameChange user 1's username--passwordChange user 1's password--notifyRun a script after the process has been completed--skipautocommitSkip files that were not autocommittedSlack Integration
-----------------

[](#slack-integration)

Integration with [Slack](https://slack.com) using [incoming webhooks](https://my.slack.com/services/new/incoming-webhook)

OptionDescription--slack\_urlSlack URL to post to--slack\_channelSlack Channel to post message to. Should be prefixed with #--slack\_messageMessage to post to slack. Following variables are available {env} {site\_id} {site\_name} {url}--slack\_usernameUsername to push through as slack message--slack\_iconIcon to use for slack messageExamples
--------

[](#examples)

### Default Running

[](#default-running)

The following will apply all updates from the master branch of the site's upstream to the upstream multi-dev

```
$ terminus site:upstream:test companysite-33

```

### Separate Upstream

[](#separate-upstream)

If the `--repo` argument is omitted the plugin with default to the site's upstream git repository. Otherwise a git url could be used to pull from a completely different repo.

```
$ terminus site:upstream:test companysite-33 --repo="https://github.com/pantheon-systems/drops-7.git"

```

### Specifying the environment to copy database and files

[](#specifying-the-environment-to-copy-database-and-files)

The `--copy` argument will allow you to specify the environment to bring the database and files from. This environment must already be initialized. Otherwise, the live/test/dev environments will be used respectively

```
$ terminus site:upstream:test companysite-33 --copy="dev"

```

### Upstream Branch

[](#upstream-branch)

To specify a particular branch that code would live in the `--branch` argument could be used. That branch will need to exist within the upstream or `--repo` repository.

```
$ terminus site:upstream:test companysite-33 --branch="v1.3.3"

```

### Rebuild

[](#rebuild)

To rebuild or copy the database and files from a particular environment use the `--rebuild` flag as it will dictate that you want to completely pull new content. In conjunction with `--copy` these could be helpful in automation if wanting to specify the environment that data should be rebuilt from.

```
$ terminus site:upstream:test companysite-33 --rebuild

```

### Reset User 1 Username and Password

[](#reset-user-1-username-and-password)

The following will reset the username and password of the user 1 account. This is helpful if you would like a standard account username and password for any other sort of automated testing like behat. Each argument may be used independently and do not need to be combined.

#### Reset Username

[](#reset-username)

```
$ terminus site:upstream:test companysite-33 --username="admin"

```

#### Reset Password

[](#reset-password)

```
$ terminus site:upstream:test companysite-33 --password="admin"

```

### Slack Notification

[](#slack-notification)

There is an ability to have a slack message sent to a particular channel to notify when an environment has been updated. This is particularly useful if and when you are using this plugin for any sort of Continuous Integration work.

```
$ terminus site:upstream.test companysite-33 --slack-url="[REDACTED]" --slack-channel="#general"

```

Installation
------------

[](#installation)

For help installing, see [Manage Plugins](https://pantheon.io/docs/terminus/plugins/)

```
mkdir -p ~/.terminus/plugins
composer create-project -d ~/.terminus/plugins terminus-plugin-project/terminus-upstream-testing-plugin:~1

```

Install Notes
-------------

[](#install-notes)

Occasionally you may get this issue:

```
[Pantheon\Terminus\Exceptions\TerminusException]
  The plugin terminus-plugin-project/terminus-upstream-testing-plugin has installed the project guzzlehttp/psr7: 1.4.2, but Terminus has installed guzzlehttp/psr7: 1.4.1. To resolve this, try running 'com
  poser update' in both the plugin directory, and the terminus directory.

```

The way to solve this will be to go to your terminus project and run `composer update`. If you globally require it you will need to go directly into terminus it's self as the lock file within the terminus may contain an older version of guzzle/psr7.

### OS X &amp; Linux Fix

[](#os-x--linux-fix)

The following will only work assuming the following:

- terminus was installed with composer and not with the phar
- the terminus executable file is located within vendor/bin folder

```
cd `dirname $(which terminus)`
cd ../../
composer update
cd ~/.terminus/plugins/terminus-plugin-project
composer update

```

Help
----

[](#help)

Run `terminus list site:upstream:test` for a complete list of available commands. Use `terminus help ` to get help on one command.

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance0

Infrequent updates — may be unmaintained

Popularity20

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity63

Established project with proven stability

 Bus Factor1

Top contributor holds 100% 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 ~15 days

Recently: every ~23 days

Total

8

Last Release

3223d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/24785343?v=4)[Terminus Plugin Project](/maintainers/terminus-plugin-project)[@terminus-plugin-project](https://github.com/terminus-plugin-project)

---

Top Contributors

[![sean-e-dietrich](https://avatars.githubusercontent.com/u/1564748?v=4)](https://github.com/sean-e-dietrich "sean-e-dietrich (3 commits)")

---

Tags

plugintestingpantheondeploymentterminusupstream

### Embed Badge

![Health badge](/badges/terminus-plugin-project-terminus-upstream-testing-plugin/health.svg)

```
[![Health](https://phpackages.com/badges/terminus-plugin-project-terminus-upstream-testing-plugin/health.svg)](https://phpackages.com/packages/terminus-plugin-project-terminus-upstream-testing-plugin)
```

PHPackages © 2026

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