Ho bisogno di un esempio funzionante di creazione di una nuova pagina wiki in confluenza usando la pausa API. Preferisco che la nuova pagina venga creata in uno spazio specifico e in una pagina specifica. Ho letto la loro documentazione sulla API e ho esaminato alcuni esempi che avevano e continuano a essere brevi.Come creare una nuova pagina in Confluence usando la loro API REST?
Ecco un esempio che avevano sul loro sito
curl -u admin:admin -X POST -H 'Content-Type: application/json' -d'{"type":"page","title":"new page","space":{"key":"TST"},"body":{"storage":{"value":"<p>This is a new page</p>","representation":"storage"}}}' http://localhost:8080/confluence/rest/api/content/ | python -mjson.tool
ho provato in precedenza con il mio nome di spazio, nuovo titolo e ha cambiato l'url mysite/riposo/api/contenuti e tornato il contenuto era fondamentalmente pagina html dicendo che la pagina non esiste o la pagina esiste ma non hai il permesso. Ho confermato che ho accesso al wiki di confluenza e posso creare un nuovo wiki usando le mie credenziali.
Ciò che non è chiaro è nell'esempio sopra come chiama la specifica API che crea la pagina? Non ha senso.
domanda simile è stato chiesto sul loro forum, ma nessuna risposta ragionevole https://answers.atlassian.com/questions/149561/simple-confluence-rest-api-usage-what-am-i-missing
(Credo che il mio obiettivo finale è quello di essere in grado di creare nuova pagina wiki sul confluenza automaticamente) Io sto bene a rinunciare a confluenza REST API ad altra soluzione se necessario.
Grazie per una risposta rapida. La tua risposta chiarisce un sacco di domande che ho avuto. Sì, stavo usando una versione precedente di Confluence. Inoltre, non ho abilitato l'impostazione dell'API remota su Confluence. Dopo aver abilitato questa opzione e aver usato 5.5, la soluzione suggerita funzionerà. Ora potrei chiedere troppo ma, con questo nuovo riposo API posso usare il file invece di passare in html grezzo nel comando. Puoi anche specificare l'ID della pagina principale? La documentazione non ce l'ha. Forse perché ha solo 8 giorni :) – DoodleKana
Abilitare l'** API remota ** è anche un buon consiglio. Questo è totalmente non documentato (YMMV con versioni future), ma è possibile specificare la pagina padre tramite la proprietà "antenati" in 5.5. Questo per me crea un figlio di pagina # 1048582: 'curl -v -u admin: admin -X POST -H 'Content-Type: application/json' -H 'Accept: application/json' - d '{"tipo": "pagina", "antenati": [{"tipo": "pagina", "id": 1048582}], "titolo": "terza nuova pagina figlio", "spazio": {" chiave ":" ATTACH "}," body ": {" storage ": {" value ":"
Questa è una nuova pagina
"," rappresentazione ":" archiviazione "}}}" "http: // localhost: 8090/rest/api/content /? Os_authType = basic "' –Ho provato sopra e funziona. Ora posso creare una nuova pagina sotto qualsiasi altra pagina. Ho anche ottimizzato l'impostazione del ricciolo, in modo che possa leggere il contenuto della nuova pagina da un file usando "-d @ filename.json". Questo può tornare utile quando la tua nuova pagina può contenere molti contenuti. – DoodleKana