代码之家  ›  专栏  ›  技术社区  ›  Brian

无法为Jira服务器REST API触发Zephyr

  •  0
  • Brian  · 技术社区  · 3 年前

    我有Jira服务器 7.10.1 和用于JIRA的Zephyr 3.6.4.36403917 在我的本地linux服务器上运行。

    现在我想使用API来获取Zephyr相关字段中的信息。

    这是我用来获取JiraZephyr字段中信息的python代码。

    import config
    import requests
    import base64
    
    auth = base64.b64encode(f"{config.username}:{config.password}".encode())
    header = {
        "Authorization": "Basic " + auth.decode(),
        "Content-Type": "application/json",
        "Accept": "application/json",
    }
    
    response = requests.get(f"{config.jira_url}/rest/zephyr/1.0/zchart/issueStatuses?projectId=13900", headers=header)
    print(response)
    

    我已经检查过我可以使用 config.username config.password 登录我的Jira服务器。

    我已经授予权限 配置用户名 从而可以查看项目id=13900的Jira项目的内容。

    然而,当我跑步时 print(response.status_code) ,我明白 403 。有人知道为什么我的python代码不起作用吗?

    的值 response.text {} 。我无法从获得任何进一步的信息 response .

    我通过引用中的文档创建了上述代码 https://jira.mydomain.com/rest/zephyr/1.0/application.wadl .

    This article 说我应该改变 rest/zephyr/1.0 rest/zapi/1.0 使API发挥作用。

    但在做出这一改变后,我得到 java.lang.NullPointerException 错误

    以下是部分错误消息:

    2023-06-27 05:50:36,214 http-nio-8080-exec-242 ERROR      [o.a.c.c.C.[.[localhost].[/].[default]] Servlet.service() for servlet [default] in context with path [] threw exception
    java.lang.NullPointerException
            at com.atlassian.logging.log4j.FilteredPatternLayout.formatStackTrace(FilteredPatternLayout.java:345)
            at com.atlassian.logging.log4j.FilteredPatternLayout.format(FilteredPatternLayout.java:330)
            at org.apache.log4j.WriterAppender.subAppend(WriterAppender.java:310)
            at org.apache.log4j.RollingFileAppender.subAppend(RollingFileAppender.java:276)
            at org.apache.log4j.WriterAppender.append(WriterAppender.java:162)
            at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:251)
            at com.atlassian.jira.logging.JiraHomeAppender.doAppend(JiraHomeAppender.java:206)
            at org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:66)
            at org.apache.log4j.Category.callAppenders(Category.java:206)
            at org.apache.log4j.Category.forcedLog(Category.java:391)
            at org.apache.log4j.Category.fatal(Category.java:382)
            at com.thed.zephyr.je.filter.ZAPIRestFilter.doFilter(ZAPIRestFilter.java:160)
            ... 12 filtered
            at com.atlassian.web.servlet.plugin.request.RedirectInterceptingFilter.doFilter(RedirectInterceptingFilter.java:21)
            ... 53 filtered
            at com.atlassian.jira.security.JiraSecurityFilter.lambda$doFilter$0(JiraSecurityFilter.java:66)
            ... 1 filtered
            at com.atlassian.jira.security.JiraSecurityFilter.doFilter(JiraSecurityFilter.java:64)
            ... 16 filtered
            at com.atlassian.plugins.rest.module.servlet.RestSeraphFilter.doFilter(RestSeraphFilter.java:37)
            ... 19 filtered
            at com.atlassian.jira.servermetrics.CorrelationIdPopulatorFilter.doFilter(CorrelationIdPopulatorFilter.java:30)
            ... 10 filtered
            at com.atlassian.web.servlet.plugin.request.RedirectInterceptingFilter.doFilter(RedirectInterceptingFilter.java:21)
            ... 4 filtered
            at com.atlassian.web.servlet.plugin.LocationCleanerFilter.doFilter(LocationCleanerFilter.java:36)
            ... 26 filtered
            at com.atlassian.jira.servermetrics.MetricsCollectorFilter.doFilter(MetricsCollectorFilter.java:25)
            ... 23 filtered
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
            at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
            at java.lang.Thread.run(Thread.java:745)
    
    0 回复  |  直到 3 年前
    推荐文章