我正在使用Atlassian Stash(Bitbucket服务器)来管理我的git存储库。最近我要求使用Stash REST API将文件(新创建的.xml文件)提交到我的Git存储库。我已经阅读了文档,但似乎REST API不支持该功能。
我是否正确,或者这可能以某种方式?
这不能通过Stash / Bitbucket Server REST API完成。我不得不转移到JGit,它是GIT和Application之间通信的Java包装器。
问题Is it possible to commit a file to a remote base repository using JGit有更多的信息。
可能你正在寻找
PUT /rest/api/1.0/projects/{projectKey}/repos/{repositorySlug}/browse/{path:.*}
来自API的文档
PUT /rest/api/1.0/projects/{projectKey}/repos/{repositorySlug}/browse/{path:.*}
更新给定存储库和分支上的路径内容。此资源接受PUT多部分表单数据,其中包含名为content的表单字段中的文件。更新'README.md'的示例curl请求将是:
curl -X PUT -u用户名:密码-F content [email protected] -F'message =使用文件编辑REST API更新'-F branch = master -F sourceCommitId = 5636641a50b http://example.com/rest/api/latest/projects/PROJECT_1/repos/repo_1/browse/README.md
- branch:应修改或创建路径的分支
- content:路径消息中文件的完整内容:与此更改关联的消息,用作提交消息。如果应使用默认消息,则返回null。
- sourceCommitId:编辑之前文件的提交ID,用于标识内容是否已更改。如果这是一个新文件,则返回null。
可以在新分支上更新或创建该文件。在这种情况下,应提供sourceBranch参数以标识新分支的起始点,而branch参数标识用于创建新提交的分支。