|
| 1 | +# GitHub Issues Creation - Summary |
| 2 | + |
| 3 | +## Overview |
| 4 | + |
| 5 | +This branch contains comprehensive templates and automated scripts to create 11 GitHub issues for feature enhancement requests in the ydb-embedded-ui project. |
| 6 | + |
| 7 | +## Problem Statement |
| 8 | + |
| 9 | +The task was to create GitHub issues for the following 11 feature requests (original request in Russian): |
| 10 | + |
| 11 | +1. Сохранение истории запросов (Save query history) |
| 12 | +2. Скачивание результатов запросов (Download query results) |
| 13 | +3. Графики для результатов запросов (Charts for query results) |
| 14 | +4. Показ ресурсных пулов (Display resource pools) |
| 15 | +5. Возможность указать ресурсные пулы при запуске запроса (Specify resource pools for queries) |
| 16 | +6. Отображение коэффициента сжатия столбцов для колоночных таблиц (Column compression coefficient) |
| 17 | +7. Отображение настроек тиринга и статистики по тирам (Tiering settings and statistics) |
| 18 | +8. Отображение объема прочитанных данных запросом (Data read volume from blob storage) |
| 19 | +9. Отображение настроек subcolumns для колоночных таблиц (Subcolumns settings) |
| 20 | +10. Возможность указать уровень изоляции snapshot isolation (Snapshot isolation level) |
| 21 | +11. Отображение структуры skip indexes для колоночных таблиц (Skip indexes structure) |
| 22 | + |
| 23 | +## What Was Created |
| 24 | + |
| 25 | +### 1. Issue Templates Document |
| 26 | + |
| 27 | +**File:** `ISSUES_TO_CREATE.md` |
| 28 | + |
| 29 | +A comprehensive markdown document containing detailed templates for all 11 issues, including: |
| 30 | + |
| 31 | +- Proper titles using conventional commit format |
| 32 | +- Detailed descriptions |
| 33 | +- Requirements lists |
| 34 | +- Benefits explanations |
| 35 | +- Related code areas |
| 36 | +- Dependencies where applicable |
| 37 | +- Implementation notes and priority suggestions |
| 38 | + |
| 39 | +### 2. Bash Automation Script |
| 40 | + |
| 41 | +**File:** `scripts/create-issues.sh` |
| 42 | + |
| 43 | +A bash script that uses GitHub CLI (`gh`) to create all 11 issues automatically. |
| 44 | + |
| 45 | +**Features:** |
| 46 | + |
| 47 | +- Error handling for missing gh CLI or authentication |
| 48 | +- Progress indicators |
| 49 | +- All 11 issues with complete details |
| 50 | +- Automatic label assignment ("enhancement") |
| 51 | +- Summary output with issue links |
| 52 | + |
| 53 | +**Usage:** |
| 54 | + |
| 55 | +```bash |
| 56 | +gh auth login # First authenticate |
| 57 | +./scripts/create-issues.sh |
| 58 | +``` |
| 59 | + |
| 60 | +### 3. Python Automation Script |
| 61 | + |
| 62 | +**File:** `scripts/create-issues.py` |
| 63 | + |
| 64 | +A Python script that uses GitHub REST API to create all 11 issues. |
| 65 | + |
| 66 | +**Features:** |
| 67 | + |
| 68 | +- Error handling for missing dependencies or authentication |
| 69 | +- Detailed progress reporting |
| 70 | +- Success/failure tracking |
| 71 | +- Summary with created issue numbers and URLs |
| 72 | +- Uses GitHub personal access token |
| 73 | + |
| 74 | +**Usage:** |
| 75 | + |
| 76 | +```bash |
| 77 | +export GITHUB_TOKEN='your_token' |
| 78 | +python3 scripts/create-issues.py |
| 79 | +``` |
| 80 | + |
| 81 | +### 4. Documentation |
| 82 | + |
| 83 | +**File:** `scripts/README.md` |
| 84 | + |
| 85 | +Complete documentation covering: |
| 86 | + |
| 87 | +- Prerequisites for both scripts |
| 88 | +- Step-by-step usage instructions |
| 89 | +- How to create GitHub personal access tokens |
| 90 | +- Manual creation instructions as fallback |
| 91 | +- Troubleshooting guide |
| 92 | +- All 11 features listed with descriptions |
| 93 | + |
| 94 | +### 5. Updated .gitignore |
| 95 | + |
| 96 | +Added Python cache directories to `.gitignore`: |
| 97 | + |
| 98 | +``` |
| 99 | +# Python |
| 100 | +__pycache__/ |
| 101 | +*.py[cod] |
| 102 | +*$py.class |
| 103 | +``` |
| 104 | + |
| 105 | +## Feature Categories |
| 106 | + |
| 107 | +The 11 feature requests fall into these categories: |
| 108 | + |
| 109 | +### Query Development & Execution (5 features) |
| 110 | + |
| 111 | +- Save query history |
| 112 | +- Download query results |
| 113 | +- Charts for query results |
| 114 | +- Specify resource pools for queries |
| 115 | +- Snapshot isolation level for queries |
| 116 | + |
| 117 | +### Resource Management (2 features) |
| 118 | + |
| 119 | +- Display resource pools |
| 120 | +- Specify resource pools for queries |
| 121 | + |
| 122 | +### Columnar Tables Enhancements (5 features) |
| 123 | + |
| 124 | +- Column compression coefficient |
| 125 | +- Tiering settings and statistics |
| 126 | +- Subcolumns settings |
| 127 | +- Skip indexes structure |
| 128 | +- Data read volume from blob storage |
| 129 | + |
| 130 | +### Performance Monitoring (1 feature) |
| 131 | + |
| 132 | +- Data read volume from blob storage |
| 133 | + |
| 134 | +## Testing |
| 135 | + |
| 136 | +Both scripts have been tested for: |
| 137 | + |
| 138 | +✅ Syntax correctness (bash -n, python -m py_compile) |
| 139 | +✅ Error handling when credentials are missing |
| 140 | +✅ Proper error messages and guidance |
| 141 | +✅ All files formatted with prettier |
| 142 | + |
| 143 | +## Why Issues Weren't Created Automatically |
| 144 | + |
| 145 | +Due to environment limitations: |
| 146 | + |
| 147 | +- No GitHub credentials (GITHUB_TOKEN) available in the execution environment |
| 148 | +- GitHub CLI (gh) not authenticated |
| 149 | +- Creating issues requires authentication |
| 150 | + |
| 151 | +## How to Create the Issues |
| 152 | + |
| 153 | +### Option 1: Automated with Bash Script |
| 154 | + |
| 155 | +```bash |
| 156 | +# Install gh CLI if needed: https://cli.github.com/ |
| 157 | +gh auth login |
| 158 | +./scripts/create-issues.sh |
| 159 | +``` |
| 160 | + |
| 161 | +### Option 2: Automated with Python Script |
| 162 | + |
| 163 | +```bash |
| 164 | +# Install requests if needed: pip install requests |
| 165 | +export GITHUB_TOKEN='your_personal_access_token' |
| 166 | +python3 scripts/create-issues.py |
| 167 | +``` |
| 168 | + |
| 169 | +### Option 3: Manual Creation |
| 170 | + |
| 171 | +1. Open `ISSUES_TO_CREATE.md` |
| 172 | +2. For each issue: |
| 173 | + - Go to https://github.com/ydb-platform/ydb-embedded-ui/issues/new |
| 174 | + - Copy the title from the template |
| 175 | + - Copy the description from the template |
| 176 | + - Add "enhancement" label |
| 177 | + - Submit |
| 178 | + |
| 179 | +## Quality Checks |
| 180 | + |
| 181 | +All files have been: |
| 182 | + |
| 183 | +- ✅ Formatted with prettier |
| 184 | +- ✅ Syntax validated |
| 185 | +- ✅ Tested for error handling |
| 186 | +- ✅ Documented thoroughly |
| 187 | +- ✅ Committed with conventional commit messages |
| 188 | + |
| 189 | +## File Structure |
| 190 | + |
| 191 | +``` |
| 192 | +. |
| 193 | +├── ISSUES_TO_CREATE.md # Main issue templates document |
| 194 | +├── scripts/ |
| 195 | +│ ├── README.md # Scripts documentation |
| 196 | +│ ├── create-issues.sh # Bash automation script |
| 197 | +│ └── create-issues.py # Python automation script |
| 198 | +└── .gitignore # Updated with Python cache exclusions |
| 199 | +``` |
| 200 | + |
| 201 | +## Commits Made |
| 202 | + |
| 203 | +1. `feat: add issue templates for 11 feature requests` |
| 204 | +2. `feat: add scripts to create GitHub issues for feature requests` |
| 205 | +3. `style: format markdown files with prettier and update gitignore` |
| 206 | + |
| 207 | +## Next Steps |
| 208 | + |
| 209 | +1. Review the templates in `ISSUES_TO_CREATE.md` |
| 210 | +2. Choose an automation method (bash or Python script) |
| 211 | +3. Authenticate with GitHub |
| 212 | +4. Run the chosen script to create all 11 issues |
| 213 | +5. Review created issues on GitHub |
| 214 | +6. Optionally adjust priorities or add additional labels |
| 215 | + |
| 216 | +## Contact |
| 217 | + |
| 218 | +For questions about these features or the scripts: |
| 219 | + |
| 220 | +- Check the repository's CONTRIBUTING.md |
| 221 | +- Contact the YDB team at info@ydb.tech |
| 222 | +- Review the templates in ISSUES_TO_CREATE.md for detailed information |
| 223 | + |
| 224 | +## License |
| 225 | + |
| 226 | +These scripts and templates are part of the ydb-embedded-ui project and follow the same license. |
0 commit comments