2010-05-07 28 views
15

Mi piacerebbe essere in grado di automatizzare completamente il processo di confezionamento del rilascio di un'applicazione (in Xcode) tramite script di shell e mi piacerebbe l'archivio zip che è stato rilasciato essere un download su bitbucket. C'è un modo per fare in modo programmatico un file (zip) disponibile come download su bitbucket?Pubblicare un download su bitbucket da uno script di shell

+0

Hai scritto una sceneggiatura per questo nel frattempo? Ne sto cercando uno anch'io. –

+0

@MartinScharrer: Mi sono distratto dal particolare progetto a cui stavo lavorando in quel momento e non ho ancora fatto il ciclo. Se avessi intenzione di farlo ora, il mio primo pensiero sarebbe quello di scrivere uno script in Python usando [mechanize] (http://wwwsearch.sourceforge.net/mechanize/), ma sarei ancora preoccupato per il problema di autenticazione . – Isaac

+0

Sono anche interessato a questo. @ MartinScharrer hai una soluzione? –

risposta

4

Non sicuro di poterlo fare con uno script di shell, o almeno sarebbe un po 'difficile. C'è un bitbucket api (http://bitbucket.org/api/) ma sembra di sola lettura per il momento.

Il mio suggerimento è di utilizzare una sorta di libreria http/url lato client nella tua lingua preferita per scaricare la pagina .../download, prendere tutti gli <input> del modulo e ripubblicare un caricamento. Ti consigliamo di esaminare post POST di multipart/form-data. Oltre a questo, non sono sicuro di poter essere di grande aiuto.

+0

Questo è quello che sospettavo, anche solo confermare che il mio sospetto è utile. Sono abbastanza fiducioso di poter usare 'curl' per mettere insieme i GET/POST necessari, ma speravo davvero di evitare questo tipo di upload simile a screen-scraping, soprattutto a causa di problemi di autenticazione. – Isaac

+0

@isaac si, potresti provare shell e curl, ma potrebbe essere più semplice usare 'libcurl' o qualcosa ... lo scraping non è perfetto, ma è il meglio che puoi fare Penso: - Potresti prendere in considerazione postare sulla mailing list degli utenti di bitbuckets – dlamotte

7

Ne ho creato uno che utilizzo per caricare le build notturne dal mio buildbot.
È disponibile per entrambi Bash e Lotto, funziona bene finora.

Lo si può trovare qui, è ben commentato e richiede cURL e grep:
https://bitbucket.org/Swyter/bitbucket-curl-upload-to-repo-downloads

Buono: Barebone, solo 46 LOC, con la gestione CSRF.
Errore: Non controlla il captcha o il successo, puoi facilmente farlo da solo analizzando la pagina se ne hai bisogno.

+0

Di gran lunga il modo più semplice che ho trovato per fare questo da uno script bash! –

7

Hanno fornito API per questo. Trovalo here.

+2

Questo è sicuramente ciò che si desidera utilizzare. Come encomiabile: 'curl -u {nomeutente} -X POST https://api.bitbucket.org/2.0/repositories/{username o teamname}/{repo_slug}/downloads -F file = @ {nomefile}' –

Problemi correlati