从shell脚本中向Bitbucket发布下载

15

我希望能够通过Shell脚本完全自动化打包应用程序(在Xcode中),并且我希望发布的zip归档文件可以作为在Bitbucket上的下载。是否有一种编程方式将(zip)文件以可下载方式自动上传到Bitbucket?


你最近写了这个脚本吗?我也在找一个。 - Martin Scharrer
@MartinScharrer:我被其他项目分散了注意力,还没有回到这个项目上来。如果现在我要做的话,我的第一个想法是使用mechanize在Python中编写脚本,但我仍然担心认证问题。 - Isaac
我也对此很感兴趣。@MartinScharrer,你有解决方案吗? - Faheem Mitha
@FaheemMitha:不,到目前为止我还没有解决方案。 - Martin Scharrer
1
您可以在Bitbucket上为功能请求投票。 - Lemming
@Isaac,请查看我的答案并接受它,以帮助其他着陆在此页面上直接进入解决方案! - charany1
3个回答

7

我制作了一个用来从我的构建机器上发布夜间构建的脚本。
它适用于BashBatch,目前工作得很好。

您可以在这里找到它,它有良好的注释,并需要使用cURLgrep
https://bitbucket.org/Swyter/bitbucket-curl-upload-to-repo-downloads

好处: 基本无配置,只有46行代码,具备CSRF处理功能。
缺点: 不检查验证码或成功状态,如果需要,您可以自己解析页面。


到目前为止,我从bash脚本中发现的最简单的方法! - Adam B

7

他们为此提供了API。在这里找到它。


2
这绝对是你想要使用的。作为一个命令: curl -u {username} -X POST https://api.bitbucket.org/2.0/repositories/{username or teamname}/{repo_slug}/downloads -F files=@{filename} - Lars Kiesow

4
我不确定您是否能使用Shell脚本执行此操作,或者至少会有一些困难。 有一个Bitbucket API(http://bitbucket.org/api/),但目前看起来只支持只读。
我的建议是使用喜欢的编程语言中的某种客户端HTTP / URL库下载... / downloads页面,抓取表单的所有元素并重新上传。 您需要了解如何发布multipart / form-data POST。 除此之外,我不确定我能提供多少帮助。

这正是我所怀疑的 - 就算只是确认我的猜想也很有帮助。我相当自信地认为我可以使用 curl 来组合必要的 GET/POST 请求,但我真的希望避免这种屏幕抓取式的上传,特别是因为身份验证问题。 - Isaac
@isaac,你可以尝试使用shell和curl,但使用libcurl或类似工具可能更容易...爬取数据并不完美,但我认为这是最好的方法了 :-/ 你可以考虑在Bitbucket的用户邮件列表上发布。 - dlamotte

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接