Jira REST API-如何将新成员发布到项目角色?

Jira REST API-如何将新成员发布到项目角色?,jira,Jira,我正在尝试使用RESTAPI来管理JIRA中的项目角色。我已经能够获得角色和“演员”的列表,并删除一个角色成员。但我无法正确发布新角色成员。我一直得到一个400或405的错误。我正在使用HttpClient 4.3.2和Jira 6.0.2。这是我的密码: // Set up ssl configuration as a user in JIRA instance HttpClient client = HttpClientBuilder.create().build(); HttpPost

我正在尝试使用RESTAPI来管理JIRA中的项目角色。我已经能够获得角色和“演员”的列表,并删除一个角色成员。但我无法正确发布新角色成员。我一直得到一个400或405的错误。我正在使用HttpClient 4.3.2和Jira 6.0.2。这是我的密码:

// Set up ssl configuration as a user in JIRA instance

HttpClient client = HttpClientBuilder.create().build();
HttpPost post = new HttpPost("https://jira.install/rest/api/2/project/KEY/role/10000");

StringEntity input = new StringEntity("{\"group\":\"jira-users\" }");
input.setContentType("Application/json");
post.setEntity(input);

client.execute(post);

是否有人能够成功地执行类似的调用?

rest api需要基本授权才能发布到组角色,但api文档中没有明确说明。下面是我如何让它工作的:

String auth = "username:password";
byte[] encodedAuth = Base64.encodeBase64(auth.getBytes(Charset.forName("US_ASCII")));
String authHeader = "Basic " + new String(encodedAuth);

HttpClient client = HttpClientBuilder.create().build();
HttpPost post = new HttpPost(url);
StringEntity input;

try {
    input = new StringEntity("{\"group\":\"your-jira-group\"}");
    input.setContentType("Application/json");
    post.setEntity(input);
    post.setHeader(HttpHeaders.AUTHORIZATION, authHeader);

    HttpResponse response = client.execute(post);
} catch (Exception ex) {
}

有两件事把我搞糊涂了……Application/json中的“A”需要大写,您需要授权会话。我选择了基本身份验证,并在使用curl对其进行测试后使用了HttpClient。

我甚至尝试了一个简单的curl请求,现在我收到一条错误消息,说“无法反序列化java.lang.String[]实例超出值\u String tokent\n…”您的原始帖子在StringEntity周围有语法错误。同样值得使用Chrome,Inspect元素,并在浏览器中将成员添加到项目角色时查看网络选项卡。谢谢,这只是我在提问时漏掉的一个输入错误。但我想我找到了答案,它需要用户名和密码才能发布到项目角色。我很快会给你一个完整的答复。