无法从 Heroku 安装 ACE Jira 应用程序
Unable to install ACE Jira app from Heroku
我已经使用说明 at the ACE BitBucket site, 设置了我的 Atlassian Connect 应用程序,并且我一直像往常一样使用 ngrok 隧道手动将我的应用程序部署到开发实例。该应用程序运行良好,所有页面均正常显示并且应用程序本身执行其预期的操作(在开发模式下)
现在,我正在尝试使用 Heroku 进行生产部署,并且应用程序构建和部署都很好,heroku logs --tail
中没有显示任何错误。我可以清楚地看到 atlassian-connect.json
描述符被部署到 Heroku 上适当的 URL。
但是,当我尝试使用 URL 到 Heroku 上的已部署描述符以在我的一个测试 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');
});
- 正在更新
pg
和 sequelize
软件包
- 将描述符作为私有应用程序上传到 Atlassian Marketplace 并从那里安装
似乎没有任何效果;有谁知道导致此错误的原因吗?
事实证明这个问题是我 认为 我已经处理过的,但实际上没有。
问题最终是 /installed
端点;正如您在描述符中看到的那样,我将生命周期端点定义为 "installed"
而不是 "/installed"
,因此从未收到响应。
将该行更改为 "/installed"
修复了所有问题。
我已经使用说明 at the ACE BitBucket site, 设置了我的 Atlassian Connect 应用程序,并且我一直像往常一样使用 ngrok 隧道手动将我的应用程序部署到开发实例。该应用程序运行良好,所有页面均正常显示并且应用程序本身执行其预期的操作(在开发模式下)
现在,我正在尝试使用 Heroku 进行生产部署,并且应用程序构建和部署都很好,heroku logs --tail
中没有显示任何错误。我可以清楚地看到 atlassian-connect.json
描述符被部署到 Heroku 上适当的 URL。
但是,当我尝试使用 URL 到 Heroku 上的已部署描述符以在我的一个测试 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');
});
- 正在更新
pg
和sequelize
软件包 - 将描述符作为私有应用程序上传到 Atlassian Marketplace 并从那里安装
似乎没有任何效果;有谁知道导致此错误的原因吗?
事实证明这个问题是我 认为 我已经处理过的,但实际上没有。
问题最终是 /installed
端点;正如您在描述符中看到的那样,我将生命周期端点定义为 "installed"
而不是 "/installed"
,因此从未收到响应。
将该行更改为 "/installed"
修复了所有问题。