use*_*541 3 rest pull-request bitbucket-server
所以...我当前的项目包括制作一个脚本,它将在我们的Stash服务器(又名BitBucket服务器)上以编程方式配置存储库.这包括为每个存储库设置默认审阅者.是否有REST API?
我知道这是一个老问题,但只是想注意,从 Bitbucket Server 5.1 开始,默认审核者 REST API 已公开:https : //developer.atlassian.com/static/rest/bitbucket-server/latest/bitbucket -default-reviewers-rest.html
有没有记录的REST API默认审阅功能,至少在我们使用(4.8.x),并可能是当前版本的藏匿版本.并且"没有文档化的API"我的意思不仅仅在官方REST API文档中,而是在Web上的任何地方.幸运的是,该插件使用了一个秘密API.
长话短说,这是你需要做的电话.它们在URL上是简单的GET,POST和DELETE.为简洁起见,我将使用curl作为示例:
在以下链接上进行GET:
curl -X GET -u (username):(password) (base_url)/rest/default-reviewers/latest/projects/(project_name)/repos/(repo_name)/conditions
Run Code Online (Sandbox Code Playgroud)
结果将是JSON列表.列表中的每个项目都包含列表中条目的ID(与用户ID不同),后跟有关默认审阅者规则的信息.
使用显示的标题和数据对以下内容执行POST操作:
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"}'
Run Code Online (Sandbox Code Playgroud)
其中XXXX是用户ID(用户名,电子邮件或全名不起作用).您可以使用标准REST API获取用户的id.Aka做了一个GET :( 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
Run Code Online (Sandbox Code Playgroud)
其中YYY是默认审阅者列表中的条目ID(不是用户ID).如果您知道要删除的用户的用户ID,电子邮件,用户名或全名,您可以获取所有默认审阅者(见上文),找到您想要的用户,然后您就可以获得该用户的条目ID项目清单.
还有一件事:您可以使用Chrome Inspector("网络"选项卡)使用POST和DELETE命令观察默认审阅者插件,但插件(面向用户的部分)不直接使用GET命令,而不能用Chrome观察(因为我发布这篇文章的原因是因为这个GET命令可能很难搞清楚 - 这对我而言)
| 归档时间: |
|
| 查看次数: |
2983 次 |
| 最近记录: |