feat: Agregar comando list-open-issues a gitea_cli_helper.py
- Nuevo comando para listar todos los issues abiertos - Muestra número, título, autor, fecha y URL - Útil para verificar el estado de los issues - Documentado en GEMINI.md con ejemplos
This commit is contained in:
parent
4891c1d6b3
commit
9c32be4c28
28
GEMINI.md
28
GEMINI.md
|
@ -90,6 +90,34 @@ El script también verifica:
|
|||
- Si el PR está cerrado sin mergear (error)
|
||||
- Si el PR tiene conflictos o no es mergeable (error)
|
||||
|
||||
#### 6. Listar Issues Abiertos
|
||||
|
||||
```bash
|
||||
python gitea_cli_helper.py list-open-issues
|
||||
```
|
||||
|
||||
Lista todos los issues abiertos del repositorio, mostrando:
|
||||
- Número del issue
|
||||
- Título
|
||||
- Etiquetas (si las tiene)
|
||||
- Autor y fecha de creación
|
||||
- URL del issue
|
||||
|
||||
**Ejemplo de salida:**
|
||||
```
|
||||
Issues abiertos (3):
|
||||
--------------------------------------------------------------------------------
|
||||
#15: [Extensión Opcional] Integración con Calendario para Citas
|
||||
Autor: luis_portillo | Creado: 2025-07-12
|
||||
URL: https://gitea.grupoconsiti.com/luis_portillo/clinical_laboratory/issues/15
|
||||
|
||||
#14: [Extensión Opcional] Portal Web para Pacientes/Médicos
|
||||
Autor: luis_portillo | Creado: 2025-07-12
|
||||
URL: https://gitea.grupoconsiti.com/luis_portillo/clinical_laboratory/issues/14
|
||||
--------------------------------------------------------------------------------
|
||||
Total: 2 issues abiertos
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
|
||||
|
|
|
@ -110,6 +110,42 @@ def close_issue(issue_number):
|
|||
_make_gitea_request("PATCH", endpoint, payload)
|
||||
print(f"Issue #{issue_number} cerrado exitosamente.")
|
||||
|
||||
def list_open_issues():
|
||||
"""Lists all open issues in the repository."""
|
||||
endpoint = f"repos/{GITEA_USERNAME}/{GITEA_REPO_NAME}/issues"
|
||||
print(f"Obteniendo issues abiertos del repositorio {GITEA_REPO_NAME}...")
|
||||
|
||||
try:
|
||||
# Get open issues (state=open is default)
|
||||
issues = _make_gitea_request("GET", endpoint + "?state=open")
|
||||
|
||||
if not issues:
|
||||
print("No hay issues abiertos en este momento.")
|
||||
return
|
||||
|
||||
print(f"\nIssues abiertos ({len(issues)}):")
|
||||
print("-" * 80)
|
||||
|
||||
for issue in issues:
|
||||
# Format issue information
|
||||
number = issue.get('number', 'N/A')
|
||||
title = issue.get('title', 'Sin título')
|
||||
author = issue.get('user', {}).get('login', 'Desconocido')
|
||||
created = issue.get('created_at', '').split('T')[0] if issue.get('created_at') else 'N/A'
|
||||
labels = [label.get('name', '') for label in issue.get('labels', [])]
|
||||
labels_str = f" [{', '.join(labels)}]" if labels else ""
|
||||
|
||||
print(f"#{number}: {title}{labels_str}")
|
||||
print(f" Autor: {author} | Creado: {created}")
|
||||
print(f" URL: {issue.get('html_url', 'N/A')}")
|
||||
print()
|
||||
|
||||
print("-" * 80)
|
||||
print(f"Total: {len(issues)} issues abiertos")
|
||||
|
||||
except Exception as e:
|
||||
print(f"Error al obtener los issues: {e}")
|
||||
|
||||
def merge_pull_request(pr_number, merge_method="merge"):
|
||||
"""Merges a pull request (only allowed to dev branch)."""
|
||||
# First, get PR information to check the base branch
|
||||
|
@ -184,6 +220,9 @@ def main():
|
|||
merge_pr_parser.add_argument("--pr-number", type=int, required=True, help="Número del pull request.")
|
||||
merge_pr_parser.add_argument("--merge-method", choices=["merge", "squash", "rebase"], default="merge",
|
||||
help="Método de merge: merge, squash o rebase (default: merge).")
|
||||
|
||||
# Subparser para listar issues abiertos
|
||||
list_issues_parser = subparsers.add_parser("list-open-issues", help="Lista todos los issues abiertos del repositorio.")
|
||||
|
||||
args = parser.parse_args()
|
||||
|
||||
|
@ -197,6 +236,8 @@ def main():
|
|||
close_issue(args.issue_number)
|
||||
elif args.command == "merge-pr":
|
||||
merge_pull_request(args.pr_number, args.merge_method)
|
||||
elif args.command == "list-open-issues":
|
||||
list_open_issues()
|
||||
else:
|
||||
parser.print_help()
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user