docs: write README.md
This commit is contained in:
parent
572ecfa889
commit
7d334710dc
94
README.md
Normal file
94
README.md
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
# Gitea Issue → Branch Action
|
||||||
|
|
||||||
|
**Create a Git branch automatically from a Gitea issue, then attach that branch back to the issue via the Gitea REST API.**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## What it does
|
||||||
|
|
||||||
|
1. **Reads issue data** from the workflow event.
|
||||||
|
2. **Maps issue labels → Git Flow prefix** (`feature`, `bugfix`, `hotfix`).
|
||||||
|
3. **Creates a branch** named `<prefix>/us-<ISSUE_NUMBER>` from `origin/develop` (configurable).
|
||||||
|
4. **Pushes the branch** to the remote repository.
|
||||||
|
5. **Updates the issue** so its “linked branch” points to the one it just created.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Environment variables
|
||||||
|
|
||||||
|
| Variable name | Required | Example value | Purpose |
|
||||||
|
|---------------|-----------|------------------------------|------------------------------------------------|
|
||||||
|
| `GITEA_URL` | * | `https://git.example.com` | Base URL of the Gitea instance |
|
||||||
|
| `GITEA_TOKEN` | * | `ghp_xxx…` | Personal access token with **repo** scope |
|
||||||
|
| `REPO_OWNER` | * | `acme` | Repository owner (user or org) |
|
||||||
|
| `REPO_NAME` | * | `widgets` | Repository name |
|
||||||
|
| `ISSUE_NUMBER`| * | `42` | Issue number to work from |
|
||||||
|
| `ISSUE_TITLE` | * | `Add Dark Mode` | Issue title (used for logging only) |
|
||||||
|
| `ISSUE_LABELS`| – | `bug, ui` | Comma-separated list of labels |
|
||||||
|
| `BASE_REF` | – | `main` | Base branch/commit SHA (default **develop**) |
|
||||||
|
|
||||||
|
> **Label → prefix mapping**
|
||||||
|
|
||||||
|
| Label | Prefix |
|
||||||
|
|----------------|----------|
|
||||||
|
| `enhancement` | `feature`|
|
||||||
|
| `bug` | `hotfix` |
|
||||||
|
| `invalid` | `bugfix` |
|
||||||
|
| _anything else_| `feature`|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Quick start (Gitea Actions)
|
||||||
|
|
||||||
|
Exactly the same YAML—`act_runner` builds the Dockerfile automatically:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
- uses: you/gitea-create-branch-action@v1
|
||||||
|
env:
|
||||||
|
GITEA_URL: https://git.example.com
|
||||||
|
GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}
|
||||||
|
REPO_OWNER: acme
|
||||||
|
REPO_NAME: widgets
|
||||||
|
ISSUE_NUMBER: ${{ gitea.event.issue.number }}
|
||||||
|
ISSUE_TITLE: ${{ gitea.event.issue.title }}
|
||||||
|
ISSUE_LABELS: ${{ join(gitea.event.issue.labels.*.name, ',') }}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Branch-naming rules
|
||||||
|
|
||||||
|
```
|
||||||
|
<prefix>/us-<ISSUE_NUMBER>
|
||||||
|
```
|
||||||
|
|
||||||
|
* `prefix` = **feature**, **bugfix**, or **hotfix** (based on label table above)
|
||||||
|
* Example: `feature/us-123`, `hotfix/us-7`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Local development
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# build and run the container locally
|
||||||
|
docker build -t gitea-issue-branch-action .
|
||||||
|
docker run --rm \
|
||||||
|
-e GITEA_URL=https://git.example.com \
|
||||||
|
-e GITEA_TOKEN=xxx \
|
||||||
|
-e REPO_OWNER=acme \
|
||||||
|
-e REPO_NAME=widgets \
|
||||||
|
-e ISSUE_NUMBER=42 \
|
||||||
|
-e ISSUE_TITLE="Example" \
|
||||||
|
-e ISSUE_LABELS="enhancement" \
|
||||||
|
gitea-issue-branch-action
|
||||||
|
```
|
||||||
|
|
||||||
|
Or use [`act`](https://github.com/nektos/act) to execute the full workflow.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📄 License
|
||||||
|
|
||||||
|
Distributed under the MIT License—see [`LICENSE`](./LICENSE) for details.
|
||||||
|
|
||||||
|
Feel free to open issues or pull requests to enhance the action!
|
||||||
Loading…
x
Reference in New Issue
Block a user