Impossible to deploy OnDemand

We have developed our add-on with 1.0.rc5. But we cannot register our add-on in json in marketplace. We get this error: Unknown error in plugin file

Please contact me if you need more information.

Best regards

Yves YANG

4 answers

1 accepted

This widget could not be displayed.

Yes, you are right. Thank both of you. I'm just shame on myself for this stupid error.

There's a great phrase for these cases, I'm not sure how widely used it is - "Can't see the wood for the trees". It's aimed at those of us who see so much stuff in front of us, we can't actually see the one little mistake because there's so much other stuff going on. I think it applies here (and it happens to ALL humans!). We've all been there! :-)

Ditto on Nic's comments, but you should be proud of yourself. You needed assistance, you asked for help, you listened to what was being requested, your ego did not get in the way and you got the help you needed. Sounds like a good day to me! :>)

This widget could not be displayed.

There really is nothing to work with here. The error message says simply that your plugin is not written correctly, so all we can do is suggest that you fix it.

I guess you need to start with the atlassian-connect.json as that's the first thing it will be reading.

It works in development environment of 1.0.rc6 (I did a mistake to mention as 1.0.rc5).

You'll still need to debug whatever you've got. We can't help you with such a broad simplistic error message.

It is out of our control. How can we debug? Again, it works well in development mode. That is the problem with this "broad simplistic error message".

What is the difference between the environments? What are the full errors you are getting? What's the difference between "development mode" and "production"? Have you got other stuff that does work? If you take the sample code and build the example add-on, does that work? If so, what's different in your settings?

There really isn't any hope of us helping you here, you need to work through debugging and getting information we can work with.

When you develop an Add-on in OnDemand, you can start a local server using Atlassian Plugin SDK. This is what I refer as Development mode. And we can register our plugin in this server.

But we cannot register it using the Atlassian-plugi.json in the Marketplace. We get the error: "Unknown error in plugin file".


Ok, that's roughly what I expected. What about the rest of it - a Connect add on that does work? The sample code? What's the difference between a working Connect add-on and your code? (Probably starting with the atlassian-connect.json)

This widget could not be displayed.
Here is our code:
{
    "name": "Gantt Chart Project for JIRA - OnDemand",
    "description": "This native JIRA plugin provides a set of powerful Project Management features based on Gantt-Chart like Microsoft Project.",
    "key": "com.soyatec.jira.plugins.jira-ganttchart-project",
    "baseUrl": "https://www.jiraproject.com/ganttconnect",
    "vendor": {
        "name": "Soyatec",
        "url": "http://www.soyatec.com"
    },
    "version": "0.1.2",
    "enableLicensing": true,
    "scopes": ["READ", "WRITE", "DELETE", "ADMIN"],
    
    "authentication": {
        "type": "jwt"   
    },
    
    "lifecycle": {
        "disabled": "/webhook/remote_plugin_disabled",
        "enabled": "/webhook/remote_plugin_enabled",
        "installed": "/webhook/installed",
        "uninstalled": "/webhook/uninstalled"
    },
    
    "modules": {
        "webSections": [
            {
                "name": { "value": "Plan" },
                "location": "ganttchart-dropdown",
                "weight": 500,
                "key": "ganttchart-section-1"
            },
            {
                "name": { "value": "Tracking" },
                "location": "ganttchart-dropdown",
                "weight": 500,
                "key": "ganttchart-section-2"
            },
            {
                "name": { "value": "Administration" },
                "location": "ganttchart-dropdown",
                "weight": 500,
                "key": "ganttchart-section-3"
            },
            {
                "name": { "value": "Plugiin" },
                "location": "ganttchart-dropdown",
                "weight": 500,
                "key": "ganttchart-section-4"
            }
        ],
        
	   "webItems": [
            {
      		 	"conditions": [
                    {
                        "condition": "user_is_logged_in",
                        "invert": false
                    },
                    {
						"condition": "/action/displayCondition"
                    }
                ],
                "name": {
                    "value": "Gantt Chart"
                },
                "location": "system.top.navigation.bar",
                "url": "/action/hello",
                "tooltip": {
                    "value": "Gantt Chart JIRA Connect Add-on"
                },
                "key": "ganttchart-dropdown"
            },
            
            {
      		 	"conditions": [
                    {
                        "condition": "user_is_logged_in",
                        "invert": false
                    },
                    {
						"condition": "/action/displayCondition"
                    }
                ],
                "name": { "value": "Resource Plan" },
                "url": "/action/resourceplan",
                "location": "ganttchart-dropdown/ganttchart-section-1",
                "weight": 1,
                "key": "gantt-resourceplan"
            },
            {
      		 	"conditions": [                    },
                    {
						"condition": "/action/displayCondition"
      		 	
                    {
                        "condition": "user_is_logged_in",
                        "invert": false
                    },
                    {
						"condition": "/action/displayCondition"
                    }
                ],
                "name": { "value": "Project Portfolio" },
                "url": "/action/projectportfolio",
                "location": "ganttchart-dropdown/ganttchart-section-1",
                "weight": 2,
                "key": "gantt-projectportfolio"
            },
            {
      		 	"conditions": [
                    {
                        "condition": "user_is_logged_in",
                        "invert": false
                    },
                    {
						"condition": "/action/displayCondition"
                    }
                ],
                "name": { "value": "Resource Tracking" },
                "url": "/action/resourcetracking",
                "location": "ganttchart-dropdown/ganttchart-section-2",
                "weight": 1,
                "key": "gantt-resourcetracking"
            },
            {
      		 	"conditions": [
                    {
                        "condition": "user_is_logged_in",
                        "invert": false
                    },
                    {
						"condition": "/action/displayCondition"
                    }
                ],
                "name": { "value": "Portfolio Tracking" },
                "url": "/action/portfoliotracking",
                "location": "ganttchart-dropdown/ganttchart-section-2",
                "weight": 2,
                "key": "gantt-portfoliotracking"
            },
            {
      		 	"conditions": [
                    {
                        "condition": "user_is_logged_in",
                        "invert": false
                    },
                    {
						"condition": "/action/displayCondition"
                    }
                ],
                "name": { "value": "Reporter Tracking" },
                "url": "/action/reportertracking",
                "location": "ganttchart-dropdown/ganttchart-section-2",
                "weight": 3,
                "key": "gantt-reportertracking"
            },
            {
      		 	"conditions": [
                    {
                        "condition": "user_is_admin",
                        "invert": false
                    }
                ],
                "name": { "value": "General" },
                "url": "/action/general",
                "location": "ganttchart-dropdown/ganttchart-section-3",
                "weight": 1,
                "key": "gantt-general"
            },
            {
      		 	"conditions": [
                    {
                        "condition": "user_is_admin",
                        "invert": false
                    }
                ],
                "name": { "value": "Working Schedule" },
                "url": "/action/calendar",
                "location": "ganttchart-dropdown/ganttchart-section-3",
                "weight": 2,
                "key": "gantt-calendar"
            },
            {
      		 	"conditions": [
                    {
                        "condition": "user_is_admin",
                        "invert": false
                    }
                ],
                "name": { "value": "User Data" },
                "url": "/action/userdata",
                "location": "ganttchart-dropdown/ganttchart-section-3",
                "weight": 3,
                "key": "gantt-userdata"
            },
            {
      		 	"conditions": [
                    {
                        "condition": "user_is_admin",
                        "invert": false
                    }
                ],
                "name": { "value": "Shared Data" },
                "url": "/action/shareddata",
                "location": "ganttchart-dropdown/ganttchart-section-3",
                "weight": 4,
                "key": "gantt-shareddata"
            },
            {
                "name": { "value": "About Gantt chart Project for JIRA" },
                "url": "/action/about",
                "location": "ganttchart-dropdown/ganttchart-section-4",
                "weight": 1,
                "key": "gantt-about"
            }
        ],
	   
 
        "jiraProjectTabPanels" : [
      		{
      		 	"conditions": [
                    {
                        "condition": "user_is_logged_in",
                        "invert": false
                    }
                ],
                "url": "/action/timeplan?ctx_project_id={project.id}&ctx_project_key={project.key}",
                "name": {
                    "value": "Time Plan"
                },
                "key": "gantt-timeplan"
            },
      		{
      		 	"conditions": [
                    {
                        "condition": "user_is_logged_in",
                        "invert": false
                    }
                ],
                "url": "/action/progresstracking?ctx_project_id={project.id}&ctx_project_key={project.key}",
                "name": {
                    "value": "Progress Tracking"
                },
                "key": "gantt-progresstracking"
            },
      		{
      		 	"conditions": [
                    {
                        "condition": "user_is_logged_in",
                        "invert": false
                    }
                ],
                "url": "/action/projectreporter?ctx_project_id={project.id}&ctx_project_key={project.key}",
                "name": {
                    "value": "Reporter Tracking"
                },
                "key": "gantt-projectreporter"
            }
        ],
        
        "configurePage" : 	{
        		"key": "gantt-configre-page",
                "url": "/action/userdata",
                "name": {
                    "value": "User Data"
                } 
        },  
      
        "webhooks": [
            {
                "event": "jira:issue_created",
                "url": "/webhook/issue-created"
            },
            {
                "event": "jira:issue_updated",
                "url": "/webhook/issue-updated"
            },
            {
                "event": "jira:issue_deleted",
                "url": "/webhook/issue_deleted"
            },
            {
                "event": "jira:worklog_updated",
                "url": "/webhook/worklog_updated"
            }
        ]
    }
}

I tried validiating your posted json and it does not parse.

Hopefully, it was a cut and paste error but here is an errant piece of json, i can visually see.

"key": "gantt-resourceplan"
},
{
"conditions": [ },
{

This widget could not be displayed.

You get it.

Thanks!

Now give Nic some love (karma points) getting you to post something we can work with.

Suggest an answer

Log in or Sign up to answer
Atlassian Summit 2018

Meet the community IRL

Atlassian Summit is an excellent opportunity for in-person support, training, and networking.

Learn more
Community showcase
Posted Wednesday in New to Jira

Are you planning to trial, or are currently trialling Jira Software? - We want to talk to you!

Hello! I'm Rayen, a product manager at Atlassian. My team and I are working hard to improve the trial experience for Jira Software Cloud. We are interested in   talking to 20 people planning t...

281 views 5 0
Join discussion

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you