It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

Impossible to deploy OnDemand

Yves YANG Mar 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 Mar 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 Mar 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 Mar 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
Nic Brough [Adaptavist] Community Leader Mar 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 Mar 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 Mar 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 Mar 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 Mar 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 Mar 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 Mar 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)

0 votes
Yves YANG Mar 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 Mar 17, 2014

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

Norman Abramovitz Mar 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
Yves YANG Mar 17, 2014

You get it.

Thanks!

Norman Abramovitz Mar 18, 2014

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
This widget could not be displayed.
This widget could not be displayed.
Community showcase
Published in Next-gen

Introducing subtasks for breaking down work in next-gen projects

Teams break work down in order to help simplify complex tasks. This is often done iteratively, with tasks being broken down into smaller tasks and so on until the work is accurately captured in well-...

9,351 views 30 42
Read article

Community Events

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

Find an event

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

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you