如何:[休息]使用REST API以编程方式获取并设置Atlassian Stash(Bitbucket Server)



所以...我的当前项目包括制作一个脚本,该脚本将在我们的藏匿服务器(又称Bitbucket Server)上编程配置存储库。这包括为每个存储库设置默认审阅者。是否有REST API?

默认审阅者功能没有记录的REST API,至少对于我们正在使用的藏匿版本(4.8.x)和当前版本。而且," No Docudted API"不仅是在官方的REST API文档中,还意味着网络上的任何地方。幸运的是,插件使用了一个秘密的API。

长话短说,这是您需要做的电话。它们是简单的获取,发布并在URL上删除。我将使用卷曲作为简洁的示例:


  • 获取存储库的所有默认审阅者:

请访问以下链接:

curl -X GET -u (username):(password) (base_url)/rest/default-reviewers/latest/projects/(project_name)/repos/(repo_name)/conditions

结果将是JSON列表。列表中的每个项目都包含列表中的条目ID(与用户ID不同),然后包括有关默认审阅者规则的信息。


  • 添加默认审稿人:

在以下帖子上使用显示的标题和数据:

curl -X POST -H 'Content-Type: application/json' -u (username):(password) (base_url)/rest/default-reviewers/latest/projects/(project_name)/repos/(repo_name)/condition --data-binary '{"sourceMatcher":{"id":"any","type":{"id":"ANY_REF"}},"targetMatcher":{"id":"refs/heads/master","type":{"id":"BRANCH"}},"reviewers":[{"id":XXXX}],"requiredApprovals":"0"}' 

其中xxxx是用户ID(用户名,电子邮件或全名无法正常工作)。您可以使用标准REST API获取用户ID。又称启用:( base_url)/rest/api/1.0/users?filter=(用户名,电子邮件或全名)


  • 删除默认审稿人:

在以下

上进行删除
curl -X DELETE -u (username):(password) (base_url)/rest/default-reviewers/latest/projects/(project_name)/repos/(repo_name)/condition/YYY

yyy是默认审阅者列表中的输入ID(不是用户ID)。如果您知道要删除的用户的用户ID,电子邮件,用户名或全名,则可以获取所有默认审阅者(请参阅上文),找到所需的用户,然后您可以获取该输入ID列表项目。


还有一件事:您可以使用Chrome Inspector("网络"选项卡)使用帖子和删除命令观察默认评论器插件,但是插件(get命令的用户针对用户的一部分)并未直接使用GET命令)并且无法使用Chrome观察(我发表这篇文章的原因是因为此获取命令可能很难弄清楚 - 这是对我的)

我知道这是一个旧问题,但只想注意到,从Bitbucket Server 5.1开始,默认审阅者REST API已公开:https://confluence.atlassian.com/bitbucketserverkb/how-to-to retrieve-default-reviewers-via-rest-api-api-in-bitbucket-server-server-server-1047535034.html

最近的版本,页面底部的卷曲示例https://confluence.atlassian.com/bitbucketserverkb/how-to-to-te-te-to-retriev-default-reviewer--reviewers-via-via-rest-api-in-bitbucket-in-bitbucket-server-server-server-server-1047535034。html

要添加到User1942541的全面答案中,我可以确认这是当前唯一的方法。我们计划在某个时候为默认审阅者提供适当的记录API。请观看https://jira.atlassian.com/browse/bserv-8988以获取更新。

最新更新