Great, thanks, James. I just gave these changes a try. Deployment and installation worked this time
Thanks for thoughts, questions, and feedback on the Forge + Connect alpha. Going forward, please open new threads using #forge-connect
Hello,
My Forge descriptor leads to RequestValidationError
too. Could you please help me to realize what is composed wrong?
---
connectModules:
jira:lifecycle:
installed: "/install"
uninstalled: "/uninstall"
jira:jiraIssueTabPanels:
- url: "/jira/issue-tab?issueId={issue.id}&issueKey={issue.key}"
weight: 100
key: "jtc-issue-tab"
name:
value: "TeamCity"
conditions:
- condition: "has_project_permission"
params:
permission: "VIEW_DEV_TOOLS"
jira:jiraBuildInfoProvider:
homeUrl: "https://marketplace.atlassian.com/apps/1210766/teamcity-integration-for-jira"
logoUrl: "https://ykarnilaev-jtc.eu.ngrok.io/assets/images/tc-logo-30x30.svg"
documentationUrl: "https://docs.stiltsoft.com/display/public/JTC/TeamCity+Integration+for+JIRA"
actions: {}
name:
value: "TeamCity"
key: "build-provider"
jira:jiraDeploymentInfoProvider:
homeUrl: "https://marketplace.atlassian.com/apps/1210766/teamcity-integration-for-jira"
logoUrl: "https://ykarnilaev-jtc.eu.ngrok.io/assets/images/tc-logo-30x30.svg"
documentationUrl: "https://docs.stiltsoft.com/display/public/JTC/TeamCity+Integration+for+JIRA"
name:
value: "TeamCity"
key: "deployment-provider"
jira:configurePage:
name:
value: "TeamCity Servers"
key: "teamcity-servers"
url: "/admin/teamcity-servers/overview"
jira:postInstallPage:
[
{
url: "/admin/getting-started",
key: "getting-started",
name: {
value: "TeamCity Servers"
}
}
]
jira:adminPages:
- name:
value: "Troubleshooting"
key: "troubleshooting"
url: "/admin/troubleshooting/overview"
location: "admin_plugins_menu/jtc-admin-section"
jira:dialogs:
- key: "teamcity-dialog"
url: "/admin/teamcity-servers/add.dialog"
options:
size: "maximum"
jira:generalPages:
- name:
value: "Delete TeamCity"
key: "delete-teamcity-dialog"
url: "/admin/teamcity-servers/delete.dialog"
location: "none"
- name:
value: "Reindex TeamCity"
key: "reindex-teamcity-dialog"
url: "/admin/troubleshooting/reindex.dialog"
location: "none"
jira:webSections:
- location: "admin_plugins_menu"
weight: 15
key: "jtc-admin-section"
name:
value: "TeamCity Configuration"
jira:webItems:
- url: "/plugins/servlet/ac/com.stiltsoft.jira.teamcity/teamcity-servers"
location: "admin_plugins_menu/jtc-admin-section"
context: "product"
weight: 10
target:
type: "page"
tooltip:
value: "TeamCity Servers"
key: "jtc-servers-admin-web-item"
name:
value: "TeamCity Servers"
conditions:
- condition: "user_is_admin"
invert: false
- location: "jira.project.sidebar.plugins.navigation"
key: "jtc-project-panel-link"
url: "/projects/{project.key}?selectedItem=com.stiltsoft.jira.teamcity__jtc-project-panel-link"
context: "product"
name:
value: "TeamCity"
icon:
width: 25
height: 25
url: "/assets/images/app-icon-dark.svg"
conditions:
- or:
- condition: "project_type"
params:
projectTypeKey: "software"
- condition: "project_type"
params:
projectTypeKey: "service_desk"
- condition: "has_project_permission"
params:
permission: "VIEW_DEV_TOOLS"
jira:webPanels:
- key: "jtc-project-web-panel"
url: "/jira/project-tab?projectId={project.id}&projectKey={project.key}"
location: "com.stiltsoft.jira.teamcity__jtc-project-panel-link"
name:
value: "TeamCity Web Panel"
conditions:
- condition: "has_project_permission"
params:
permission: "VIEW_DEV_TOOLS"
permissions:
scopes: ["read:connect-jira", "write:connect-jira", "delete:connect-jira"]
remotes:
- key: connect
baseUrl: https://ykarnilaev-jtc.eu.ngrok.io
app:
id: ari:cloud:ecosystem::app/3ac60cac-9448-4de2-8e26-67202b4a09ee
connect:
key: com.stiltsoft.jira.teamcity
remote: connect
Hi @YuriKarnilaev ,
Apologies for the slow reply. jira:lifecycle:
should be an array rather than an object, and should have a key
field.
I’ve raised a bug report so that in future, instead of just a cryptic “schema validation error” message, the error is reported properly.
Going forward, please open new threads using #forge-connect
Cheers,
James
Hello @jhazelwood,
Thank you for your answer.
I’ve changed the jira:lifecycle
block to the following
jira:lifecycle:
[
{
"key": "connect-lifecycle",
"installed": "/install",
"uninstalled": "/uninstall"
}
]
and still get the error
◀️ GraphQL
Request ID: 23293943d83ea5c4
Result: {
"appDeployment": {
"status": "FAILED",
"errorDetails": {
"code": "ENVIRONMENT_UPDATE_VALIDATION_FAILED",
"message": "Manifest validation failed",
"fields": {
"validationResult": {
"tid": "b2d0ec760c2a60fd",
"code": 400,
"type": "APIError",
"message": "RequestValidationError RequestValidationError: Schema validation error "
}
}
},
"stages": [
{
"description": "Validating manifest",
"events": [
{
"__typename": "AppDeploymentTransitionEvent",
"stepName": "Init deployment",
"createdAt": "2022-09-10T16:07:40.228Z",
"newStatus": "STARTED"
},
{
"__typename": "AppDeploymentTransitionEvent",
"stepName": "Init deployment",
"createdAt": "2022-09-10T16:07:40.710Z",
"newStatus": "DONE"
},
{
"__typename": "AppDeploymentTransitionEvent",
"stepName": "Download manifest",
"createdAt": "2022-09-10T16:07:40.712Z",
"newStatus": "STARTED"
},
{
"__typename": "AppDeploymentLogEvent",
"stepName": "Download manifest",
"createdAt": "2022-09-10T16:07:40.713Z",
"message": "Upload URL is valid",
"level": "INFO"
},
{
"__typename": "AppDeploymentLogEvent",
"stepName": "Download manifest",
"createdAt": "2022-09-10T16:07:40.930Z",
"message": "Found manifest file",
"level": "INFO"
},
{
"__typename": "AppDeploymentLogEvent",
"stepName": "Download manifest",
"createdAt": "2022-09-10T16:07:40.936Z",
"message": "Manifest is a valid YAML",
"level": "INFO"
},
{
"__typename": "AppDeploymentTransitionEvent",
"stepName": "Download manifest",
"createdAt": "2022-09-10T16:07:40.938Z",
"newStatus": "DONE"
},
{
"__typename": "AppDeploymentTransitionEvent",
"stepName": "Validate manifest",
"createdAt": "2022-09-10T16:07:40.940Z",
"newStatus": "STARTED"
},
{
"__typename": "AppDeploymentLogEvent",
"stepName": "Validate manifest",
"createdAt": "2022-09-10T16:07:40.978Z",
"message": "Manifest validation failed\nValidation errors: {\n \"validationResult\": {\n \"tid\": \"b2d0ec760c2a60fd\",\n \"code\": 400,\n \"type\": \"APIError\",\n \"message\": \"RequestValidationError RequestValidationError: Schema validation error \"\n }\n}",
"level": "WARNING"
},
{
"__typename": "AppDeploymentTransitionEvent",
"stepName": "Validate manifest",
"createdAt": "2022-09-10T16:07:40.980Z",
"newStatus": "FAILED"
}
]
},
{
"description": "Snapshotting functions",
"events": []
},
{
"description": "Deploying to environment",
"events": []
}
]
}
}
Found manifest file
Manifest is a valid YAML
Manifest validation failed
Validation errors: {
"validationResult": {
"tid": "b2d0ec760c2a60fd",
"code": 400,
"type": "APIError",
"message": "RequestValidationError RequestValidationError: Schema validation error "
}
}
Error: Deployment failed
Could you please tell me what goes wrong?
Hello again, @YuriKarnilaev ,
jira:configurePage:
, jira:jiraDeploymentInfoProvider:
and jira:jiraBuildInfoProvider:
also need to be arrays.
Going forward, please open new threads using #forge-connect
Cheers,
James
Thanks a lot!
Sorry, I’ll open a new thread using #forge-connect if I face any other validating errors.