0f6a580ceb
* Initial plan * feat: add GitHub Project automation for feature request tracking Co-authored-by: DanielVolz <3275994+DanielVolz@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: DanielVolz <3275994+DanielVolz@users.noreply.github.com>
81 lines
2.7 KiB
Markdown
81 lines
2.7 KiB
Markdown
# GitHub Project Setup
|
||
|
||
This repository includes a GitHub Actions workflow that automatically adds new issues to a GitHub Project for tracking feature requests and bugs.
|
||
|
||
## Setup Steps
|
||
|
||
### 1. Create a GitHub Project
|
||
|
||
1. Go to your GitHub profile → **Projects** → **New project**
|
||
2. Choose the **Board** template (recommended for feature tracking)
|
||
3. Name it e.g. **MedAssist-ng Roadmap**
|
||
4. Configure the default columns:
|
||
- **Triage** – New issues land here
|
||
- **Backlog** – Accepted but not yet started
|
||
- **In Progress** – Currently being worked on
|
||
- **Done** – Completed
|
||
|
||
### 2. Create a Personal Access Token (PAT)
|
||
|
||
The workflow needs a token with project permissions. The built-in `GITHUB_TOKEN` does not support GitHub Projects.
|
||
|
||
1. Go to **Settings** → **Developer settings** → **Personal access tokens** → **Fine-grained tokens**
|
||
2. Click **Generate new token**
|
||
3. Set:
|
||
- **Token name**: `add-to-project`
|
||
- **Expiration**: Choose an appropriate duration
|
||
- **Repository access**: Select **Only select repositories** → `DanielVolz/medassist-ng`
|
||
- **Permissions**:
|
||
- Repository permissions: **Issues** → Read
|
||
- Organization permissions (if applicable): **Projects** → Read and write
|
||
- For **user-owned projects**, you need a **classic** token with the `project` scope instead
|
||
4. Copy the generated token
|
||
|
||
### 3. Add Repository Secrets and Variables
|
||
|
||
1. Go to the repository → **Settings** → **Secrets and variables** → **Actions**
|
||
2. Add a **secret**:
|
||
- Name: `ADD_TO_PROJECT_PAT`
|
||
- Value: The PAT from step 2
|
||
3. Add a **variable** (under the **Variables** tab):
|
||
- Name: `PROJECT_URL`
|
||
- Value: The full URL of your GitHub Project (e.g. `https://github.com/users/DanielVolz/projects/1`)
|
||
|
||
### 4. Verify
|
||
|
||
1. Create a test issue using the **✨ Feature Request** template
|
||
2. Check the **Actions** tab to see the workflow run
|
||
3. Verify the issue appears in your GitHub Project under **Triage**
|
||
|
||
## How It Works
|
||
|
||
The workflow (`.github/workflows/add-to-project.yml`) triggers when:
|
||
- A new issue is **opened**
|
||
- A label is **added** to an existing issue
|
||
|
||
Issues with any of these labels are automatically added to the project:
|
||
- `enhancement` – Feature requests
|
||
- `bug` – Bug reports
|
||
- `triage` – New issues needing review
|
||
|
||
Both the feature request and bug report issue templates automatically apply the `triage` label, so all new issues from templates are captured.
|
||
|
||
## Customization
|
||
|
||
### Adding more labels
|
||
|
||
Edit `.github/workflows/add-to-project.yml` and add labels to the `labeled` field:
|
||
|
||
```yaml
|
||
labeled: enhancement, bug, triage, documentation
|
||
```
|
||
|
||
### Restricting to feature requests only
|
||
|
||
Change the `labeled` field to only include `enhancement`:
|
||
|
||
```yaml
|
||
labeled: enhancement
|
||
label-operator: OR
|
||
```
|