我有一个小插件检查几件事,如果拉请求描述包含有效的Jira票等。
以下代码在Stash 3.2.4上进行测试时工作正常,但是当我们将Stash升级到3.3.0后,停止工作(由于插件仍在开发中,可能不是直接原因)。 / p>
public JiraServiceImpl(ApplicationLinkService applicationLinkService)
{
this.applicationLinkService = applicationLinkService;
}
private ApplicationLink getJiraApplicationLink()
{
ApplicationLink applicationLink = applicationLinkService.getPrimaryApplicationLink(JiraApplicationType.class);
if (applicationLink == null)
{
throw new IllegalStateException("Primary JIRA application link does not exist!");
}
return applicationLink;
}
public boolean doesIssueExist(IssueKey issueKey) throws CredentialsRequiredException, ResponseException
{
checkNotNull(issueKey, "issueKey is null");
final ApplicationLinkRequestFactory fac = getJiraApplicationLink().createAuthenticatedRequestFactory();
ApplicationLinkRequest req = fac.createRequest(Request.MethodType.GET, "/rest/api/2/issue/"+issueKey.getFullyQualifiedIssueKey());
return req.execute(new ApplicationLinkResponseHandler<Boolean>()
{
@Override
public Boolean credentialsRequired(Response response) throws ResponseException
{
throw new ResponseException(new CredentialsRequiredException(fac, "Token is invalid"));
}
@Override
public Boolean handle(Response response) throws ResponseException
{
return response.isSuccessful();
}
});
}
使用以下消息抛出异常:&#34;您没有远程资源的授权访问令牌。&#34;
我没有Stash管理员权限,无法返回3.2.4。应用程序链接重新思考是问题所在,但事实并非如此。进一步测试,我们发现它适用于拥有管理员权限的人,但不适用于普通用户。
我可以修改一些问题来解决这个问题吗?
答案 0 :(得分:0)
我建议您通过support.atlassian.com与团队联系寻求帮助,听起来您的应用链接中有些内容并未按预期运行。
答案 1 :(得分:0)
由于我们只是在切换到GIT的过程中,我们不会使用它太多而且没想到点击JIRA问题,因为我不需要测试应用程序链接(它适用于测试用户) )。
当我点击提交列表中显示的问题时,我有一个窗口要求我允许Stash和JIRA之间的读写权限。在这样做之后,插件开始工作。我现在必须为两个用户做这件事,我希望到时候我不会为他们每个人做这件事。