1 API-Reference
Emanuele edited this page 2025-12-25 11:33:01 +01:00

API Reference

Documentazione completa delle funzioni Wiki disponibili nel server MCP Extended.

📚 Funzioni Wiki

list_wiki_pages(repo)

Lista tutte le pagine wiki di un repository.

Parametri:

  • repo (string) - Nome del repository

Returns:

  • Lista formattata delle pagine wiki con metadata

Esempio:

list_wiki_pages("wiki-test")

get_wiki_page(repo, page_name)

Ottiene il contenuto di una specifica pagina wiki.

Parametri:

  • repo (string) - Nome del repository
  • page_name (string) - Nome della pagina (es: "Home", "Installation")

Returns:

  • Contenuto della pagina in formato Markdown

Esempio:

get_wiki_page("wiki-test", "Home")

create_wiki_page(repo, title, content, message)

Crea una nuova pagina wiki.

Parametri:

  • repo (string) - Nome del repository
  • title (string) - Titolo della pagina
  • content (string) - Contenuto in Markdown
  • message (string, optional) - Messaggio del commit

Returns:

  • Conferma creazione con URL pagina

Esempio:

create_wiki_page(
    repo="wiki-test",
    title="Getting-Started",
    content="# Getting Started\n\nWelcome!",
    message="Add getting started guide"
)

edit_wiki_page(repo, page_name, content, message)

Modifica una pagina wiki esistente.

Parametri:

  • repo (string) - Nome del repository
  • page_name (string) - Nome della pagina da modificare
  • content (string) - Nuovo contenuto in Markdown
  • message (string, optional) - Messaggio del commit

Returns:

  • Conferma modifica

Esempio:

edit_wiki_page(
    repo="wiki-test",
    page_name="Home",
    content="# Updated Home\n\nNew content!",
    message="Update home page"
)

delete_wiki_page(repo, page_name)

Elimina una pagina wiki.

⚠️ ATTENZIONE: Operazione irreversibile!

Parametri:

  • repo (string) - Nome del repository
  • page_name (string) - Nome della pagina da eliminare

Returns:

  • Conferma eliminazione

Esempio:

delete_wiki_page("wiki-test", "Old-Page")

get_wiki_revisions(repo, page_name)

Ottiene la cronologia delle revisioni di una pagina.

Parametri:

  • repo (string) - Nome del repository
  • page_name (string) - Nome della pagina

Returns:

  • Lista revisioni con autore, data e messaggio

Esempio:

get_wiki_revisions("wiki-test", "Home")

🔑 Autenticazione

Tutte le funzioni richiedono:

  • Token API Gitea valido
  • Permessi repo sul token
  • Wiki abilitata sul repository

📊 Endpoint API Forgejo

Le funzioni utilizzano questi endpoint:

Funzione Metodo Endpoint
list_wiki_pages GET /repos/{owner}/{repo}/wiki/pages
get_wiki_page GET /repos/{owner}/{repo}/wiki/page/{name}
create_wiki_page POST /repos/{owner}/{repo}/wiki/new
edit_wiki_page PATCH /repos/{owner}/{repo}/wiki/page/{name}
delete_wiki_page DELETE /repos/{owner}/{repo}/wiki/page/{name}
get_wiki_revisions GET /repos/{owner}/{repo}/wiki/revisions/{name}

💡 Best Practices

  1. Naming: Usa PascalCase o kebab-case per i nomi pagine
  2. Commit Messages: Scrivi messaggi chiari e descrittivi
  3. Content: Usa Markdown valido per formattazione corretta
  4. Backup: La cronologia Git mantiene tutte le versioni

🐛 Error Handling

Tutti i metodi restituiscono:

  • Messaggio di successo se ok
  • Messaggio di errore dettagliato se fallisce

Documentazione API completa! 📖