Seleziona una pagina

Introduzione

Una volta usavo Excel. O meglio: vivevo dentro Excel. Task, ore, clienti, ticket… tutto lì dentro, insieme a mille email sparse e copia-incolla infiniti.

Poi ho scoperto GitHub Projects, Issues e un po’ di Python, e oggi il mio sistema lavora per me — quasi da solo.

In questo post ti racconto il passaggio da un workflow totalmente manuale a una struttura automatizzata, scalabile e integrata, costruita passo passo (e senza spendere un centesimo).


1. La fase “Excel, salva tutto”

All’inizio era tutto in fogli:
Task per cliente → foglio1.xlsx
Ore lavorate → colonna G
Ticket → estratti da email
Documentazione → ovunque, tranne dove serviva

Problemi? Quanti ne vuoi:
– Dati duplicati, errati o dimenticati
– Nessun controllo versioni
– Nessuna visione d’insieme
– Report mensili da costruire a mano

Funzionava. Ma era tutto fragile, lento e stressante.


2. Il salto: GitHub come task manager (e non solo per codice)

Ho cominciato a usare GitHub Projects come se fosse Trello, ma meglio:

Un repo per ogni cliente
Board kanban per task
Ogni richiesta → una Issue
Uso di etichette e milestone per gestire priorità e scadenze

Il risultato?
Centralizzazione
Riduzione errori
Integrazione con il codice e la documentazione

Ma qualcosa mancava ancora:
ore lavorate, notifiche, report… tutto ancora manuale.


3. Python entra in gioco: automazioni pratiche, zero fronzoli

Con qualche script ho iniziato a leggere i dati da GitHub e scriverli dove mi servivano.

Cosa ho automatizzato davvero?

  • Generazione report ore lavorate da etichette (2h, 3h, ecc.)
  • Invio email automatico ai clienti con stato ticket
  • Dashboard con GitHub Pages per visualizzare i task aperti
  • Esportazione dei dati in Excel, già pronti per la contabilità

Mini script reale:

“`python
import requests, pandas as pd

TOKEN = “TOKEN”
REPO = “utente/repo”
API = f”https://api.github.com/repos/{REPO}/issues”
HEADERS = {“Authorization”: f”token {TOKEN}”}

issues = requests.get(API, headers=HEADERS).json()
dati = []
for i in issues:
ore = sum(int(l[‘name’].replace(‘h’, ”)) for l in i.get(‘labels’, []) if ‘h’ in l[‘name’])
dati.append([i[‘title’], ore])

pd.DataFrame(dati, columns=[‘Task’, ‘Ore’]).to_excel(‘ore.xlsx’, index=False)
“`

Risultato?
Un Excel generato in 2 secondi, con dati sempre aggiornati.


4. Oggi: tutto gira da solo (o quasi)

Sistema attuale:

  • GitHub Projects = gestione task
  • GitHub Issues = sistema ticket
  • GitHub Actions = notifiche, chiusure automatiche, reminder
  • Python = reportistica, dashboard, connessione a Excel/Sheets

I clienti?
Possono vedere lo stato dei loro ticket da una pagina pubblica
Ricevono aggiornamenti automatici
Non serve neanche che usino GitHub


✅ Conclusione

Risultato?
Zero copia-incolla
Zero report manuali
Zero ore perse a rincorrere dati

Tutto è organizzato, accessibile e scalabile, senza bisogno di tool a pagamento.

E tu? Da dove puoi partire?
– Crea una board GitHub per i task
– Prova a trasformare una richiesta cliente in una Issue
– Scrivi il tuo primo script per leggere dati e generare un report

Un passo alla volta. Ma il tempo risparmiato, ti assicuro, si nota già dopo una settimana.