如何使用stash rest api获取分支头提交

时间:2016-02-24 10:05:36

标签: git bitbucket-server

从存储分支获取HEAD提交时遇到一些问题。我可以使用以下REST调用获取分支提交。

/rest/api/1.0/projects/{projectKey}/repos/{repositorySlug}/commits?until={branch Name}

我也可以使用/rest/api/1.0/projects/{projectKey}/repos/{repositorySlug}/commits/HEAD

在master中进行HEAD提交

同样明智的我想知道如何使用Stash REST API获得分支HEAD提交。

2 个答案:

答案 0 :(得分:4)

对于没有正斜杠的分支名称,完美无缺:

/rest/api/1.0/projects/{projectKey}/repos/{repositorySlug}/commits/develop
/rest/api/1.0/projects/{projectKey}/repos/{repositorySlug}/commits/master

但是当提到feature/JIRA-123-foo-bar时,这就失败了 或者你可以调用

/rest/api/1.0/projects/{projectKey}/repos/{repositorySlug}/branches

将为您提供所有分支及其最新提交。有关详情,请参阅Stash API documentation

答案 1 :(得分:0)

如果有人希望从功能分支获取提交消息,请看一下:-

  1. 通过使用获取提交ID export COMMIT=`curl -s -H 'Authorization: Basic ***************=' --request GET https://bitbucket.your-organisation.com/rest/api/1.0/projects/{projectKey}/repos/{repositorySlug}/branches | jq -r '[.values[]."latestCommit"][0]'` 这将为您提供对存储库的最新提交(您甚至可以将其限制为功能分支。

  2. 使用提交ID获取提交消息 curl -s -H 'Authorization: Basic ***************=' --request GET https://bitbucket.your-organisation.com/rest/api/1.0/projects/{projectKey}/repos/{repositorySlug}/commits/$COMMIT | jq . 注意:如果您特别想从提交消息中获取JIRA id,请通过以下命令替换2nd命令 curl -s -H 'Authorization: Basic ***************=' --request GET https://bitbucket.your-organisation.com/rest/api/1.0/projects/{projectKey}/repos/{repositorySlug}/commits/$COMMIT | jq -r '.properties["jira-key"][]'