Stash和Jira之间的访问问题

时间:2014-09-19 15:10:04

标签: jira bitbucket-server applinks atlassian-plugin-sdk

我有一个小插件检查几件事,如果拉请求描述包含有效的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。应用程序链接重新思考是问题所在,但事实并非如此。进一步测试,我们发现它适用于拥有管理员权限的人,但不适用于普通用户。

我可以修改一些问题来解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

我建议您通过support.atlassian.com与团队联系寻求帮助,听起来您的应用链接中有些内容并未按预期运行。

答案 1 :(得分:0)

由于我们只是在切换到GIT的过程中,我们不会使用它太多而且没想到点击JIRA问题,因为我不需要测试应用程序链接(它适用于测试用户) )。

当我点击提交列表中显示的问题时,我有一个窗口要求我允许Stash和JIRA之间的读写权限。在这样做之后,插件开始工作。我现在必须为两个用户做这件事,我希望到时候我不会为他们每个人做这件事。