Impossible to deploy OnDemand

Yves YANG
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
March 17, 2014

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

1 vote
Answer accepted
Yves YANG
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
March 18, 2014

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

Nic Brough -Adaptavist-
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
March 18, 2014

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! :-)

Norman Abramovitz
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
March 18, 2014

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! :>)

0 votes
Yves YANG
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
March 17, 2014

You get it.

Thanks!

Norman Abramovitz
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
March 18, 2014

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

0 votes
Yves YANG
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
March 17, 2014
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"
            }
        ]
    }
}

Norman Abramovitz
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
March 17, 2014

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

Norman Abramovitz
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
March 17, 2014

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

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

0 votes
Nic Brough -Adaptavist-
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
March 17, 2014

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.

Yves YANG
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
March 17, 2014

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

Nic Brough -Adaptavist-
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
March 17, 2014

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

Yves YANG
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
March 17, 2014

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".

Nic Brough -Adaptavist-
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
March 17, 2014

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.

Yves YANG
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
March 17, 2014

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".


Nic Brough -Adaptavist-
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
March 17, 2014

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)

Suggest an answer

Log in or Sign up to answer