https://github.com/farghul/bowerbird
Update WordPress plugins quickly and easily.
https://github.com/farghul/bowerbird
go wordpress
Last synced: 3 months ago
JSON representation
Update WordPress plugins quickly and easily.
- Host: GitHub
- URL: https://github.com/farghul/bowerbird
- Owner: farghul
- License: unlicense
- Created: 2024-06-28T16:05:26.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2025-03-03T18:55:47.000Z (over 1 year ago)
- Last Synced: 2025-03-03T19:39:26.467Z (over 1 year ago)
- Topics: go, wordpress
- Language: Go
- Homepage:
- Size: 911 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Bowerbird
Bowerbird is a WordPress plugin update install tool. It queries a Jira API to find and simplify the process of updating WordPress plugins, while still tracking them via Jira tickets. Meant for an environment where strict version control is needed. Named after an industrious creature who excels at building.

## 📚 Prerequisites
Googles' [Go language](https://go.dev) installed to enable building executables from source code.
An selection of `json` files to enable authorized Jira API querying, and everything needed to push plugin update files to a repository (see `jsons` folder for reference).
## 🔩 Function
Bowerbird searches the targeted Jira API for tickets marked as **"New"** (aka ToDo), with a summary containing the `wordpress-plugin` vendor tag. It then gathers the qualifying candidates and runs a series of `composer require` commands on the ***composer.json*** file and pushes the updates to a designated branch.
## 📂 Project Structure
Inside of your Bowerbird project, you'll see the following folders and files:
``` zsh
.
├── jsons/
│ ├── definitions.json
│ ├── jira.json
│ ├── tokens.json
├── bowerbird.webp
├── go.mod
├── LICENSE.md
├── main.go
├── packagist.go
├── README.md
├── shared.go
└── vars.go
```
## 🚧 Build
Before building the application, change the value of the `tokens` and `meta` constants to reflect your environment:
``` go
tokens string = "/data/automation/tokens/"
meta string = "/data/automation/jsons/"
```
Then, from the root folder containing `main.go`, use the command that matches your environment:
### Windows & Mac:
``` zsh
go build -o [name] .
```
### Linux:
``` zsh
GOOS=linux GOARCH=amd64 go build -o [name] .
```
## 🏃 Run
``` zsh
bowerbird -r
```
## 🎏 Available Flags
| Command | Action |
|:----------------------|:----------------------------|
| `-h, --help` | Help information |
| `-r, --run` | Run program |
| `-v, --version` | Display program version |
## 🎫 License
Code is distributed under [The Unlicense](https://github.com/farghul/bowerbird/blob/main/LICENSE.md) and is part of the Public Domain.