You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过Google Sheets的IMPORTXML访问Jira issue-xml接口的认证问题

解决Google Sheets通过Jira XML端点导入数据的认证问题

直接在URL参数里传递用户名/密码或令牌行不通,这个Jira XML端点只支持HTTP基本认证,但Google Sheets的IMPORTXML函数本身无法自定义HTTP请求头,得通过Google Apps Script做中间层来实现认证转发。

具体步骤:

  1. 生成Jira API令牌
    云版Jira现在推荐用API令牌代替密码做认证,登录Atlassian账号后,在安全设置里找到「API令牌」选项,生成并保存好你的令牌(别泄露)。

  2. 编写Google Apps Script中间层
    打开Google Sheets,点击「扩展程序」->「Apps脚本」,创建新脚本,替换成以下代码:

    function doGet(e) {
      // 获取传入的工单ID参数
      const ticketId = e.parameter.ticket;
      if (!ticketId) {
        return ContentService.createTextOutput("请传入ticket参数").setMimeType(ContentService.MimeType.TEXT);
      }
      
      // 替换成你的公司Jira域名
      const jiraUrl = `https://mycompany.atlassian.net/si/jira.issueviews:issue-xml/${ticketId}/${ticketId}.xml`;
      // 替换成你的Jira邮箱和生成的API令牌
      const username = "your-jira-email@company.com";
      const apiToken = "your-generated-api-token";
      
      // 构建基本认证头
      const authHeader = "Basic " + Utilities.base64Encode(`${username}:${apiToken}`);
      const fetchOptions = {
        headers: { Authorization: authHeader }
      };
      
      // 发起请求并返回XML内容
      try {
        const response = UrlFetchApp.fetch(jiraUrl, fetchOptions);
        return ContentService.createTextOutput(response.getContentText()).setMimeType(ContentService.MimeType.XML);
      } catch (error) {
        return ContentService.createTextOutput(`请求失败:${error.message}`).setMimeType(ContentService.MimeType.TEXT);
      }
    }
    
  3. 部署为Web App

    • 保存脚本后,点击「部署」->「新部署」
    • 类型选择「Web应用」,执行权限选「我自己」,访问权限选「任何人,甚至匿名」(根据你的安全需求调整,确保Sheets能访问)
    • 部署后复制生成的Web App URL
  4. 在Google Sheets中使用IMPORTXML
    用Web App URL代替直接的Jira XML地址,通过ticket参数指定工单ID,比如:

    =IMPORTXML("https://script.google.com/macros/s/your-web-app-deployment-id/exec?ticket=TICKET-123", "//your-xpath-expression")
    

    替换your-web-app-deployment-id为你的Web App部署ID,your-xpath-expression为你要提取数据的XPath(比如//summary提取工单标题)。

注意事项

  • API令牌是敏感信息,别分享给他人,也别直接写在公开可访问的地方
  • 确保你的Jira账号有权限访问目标工单
  • 如果Web App出现权限问题,检查部署时的访问权限设置是否正确

内容的提问来源于stack exchange,提问作者Nicolaesse

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 12:50:18