【问题标题】:Unable to install ACE Jira app from Heroku无法从 Heroku 安装 ACE Jira 应用程序
【发布时间】:2020-04-03 13:52:54
【问题描述】:

我已经使用说明 at the ACE BitBucket site, 设置了我的 Atlassian Connect 应用程序,并且我一直像往常一样使用 ngrok 隧道将我的应用程序手动部署到开发实例。该应用程序运行良好,所有页面均正常显示,并且应用程序本身执行其应有的工作(在开发模式下)

现在,我正在尝试使用 Heroku 进行生产部署,并且应用程序构建和部署都很好,heroku logs --tail 中没有显示任何错误。我可以清楚地看到 atlassian-connect.json 描述符被部署到 Heroku 上的相应 URL。

但是,当我尝试使用 Heroku 上已部署描述符的 URL 在我的一个测试 Jira 实例中安装我的应用程序时,我在 Jira 中收到以下错误:

The app host returned HTTP response code 503 when we tried to contact it during installation. Please try again later or contact the app vendor.

这些是我从 Heroku 得到的日志,没有任何明显的错误被抛出:

2020-04-03T04:51:11.256336+00:00 heroku[router]: at=info method=GET path="/atlassian-connect.json" host=example-app.herokuapp.com request_id=4676badf-c37f-4440-b017-1b1ec5f00023 fwd="18.234.32.227" dyno=web.1 connect=1ms service=4ms status=200 bytes=1354 protocol=https

2020-04-03T04:51:11.255764+00:00 app[web.1]: ::ffff:10.5.179.3 - - [03/Apr/2020:04:51:11 +0000] "GET /atlassian-connect.json HTTP/1.1" 200 905 "-" "Apache-HttpClient/4.5.12 (Java/1.8.0_242)"

最后,这是我的atlassian-connect.json 文件:

{
    "key": "example-app",
    "name": "Example App",
    "baseUrl": "{{localBaseUrl}}",
    "authentication": {
        "type": "jwt"
    },
    "lifecycle": {
        "installed": "installed"
    },
    "scopes": [
        "READ"
    ],
    "modules": {
        "jiraProjectPages": [
            {
                "key": "example-app-page-jira",
                "location": "system.top.navigation.bar",
                "name": {
                    "value": "Example app"
                },
                "url": "/example-app",
                "iconUrl": "{{localBaseUrl}}/images/example.svg",
                "conditions": [{
                    "condition": "user_is_logged_in"
                }]
            },
            {
                "key": "example-app-2-page-jira",
                "location": "system.top.navigation.bar",
                "name": {
                    "value": "Example app 2"
                },
                "url": "/example-app-2",
                "iconUrl": "{{localBaseUrl}}/images/example2.svg",
                "conditions": [{
                    "condition": "user_is_logged_in"
                }]
            }
        ]
    }
}

这是我迄今为止尝试过的:

  • index.js 中为/installed 定义路由,给出状态码200,如下所示:
app.get('/installed', (req, res) => {
        res.send('success');
    });
  • 更新 pgsequelize 软件包
  • 将描述符作为私有应用上传到 Atlassian Marketplace 并从那里安装

似乎没有任何效果;有谁知道是什么导致了这个错误?

【问题讨论】:

    标签: node.js heroku jira jira-plugin atlassian-connect


    【解决方案1】:

    原来这个问题是我认为我已经处理过的,但实际上并没有。

    问题最终是/installed 端点;正如您在描述符中看到的那样,我将生命周期端点定义为 "installed" 而不是 "/installed",因此从未收到响应。

    将该行更改为"/installed" 修复了所有问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-02
      • 2016-05-07
      • 2020-10-26
      • 1970-01-01
      • 1970-01-01
      • 2023-03-14
      • 2020-02-27
      • 2020-06-05
      相关资源
      最近更新 更多