Read the statement by Michael Teeuw here.
Ora.pm
-
I am trying to display my company’s Ora.pm kanban but know zero Json. Any guidance/advice would be helpful.
I have some json from the app and an API but thats about the extent of my ability.
TYIA
- ZC
-
@ZeroCool there is a module that will allow you to display a table from json retrieved via API.
see the 3rd party modules list form MMM-JsonTable
https://github.com/MichMich/MagicMirror/wiki/3rd-party-modules
a helpful tool is one of the online json validators, that support formatting. makes viewing the document much more understandable
this is the one I use, paste your json in here
https://codebeautify.org/jsonvalidatorand hit the left button on the gray bar above the text
-
@sdetweil I appreciate that but this whole thing is foreign to me
-
@ZeroCool i hear you… lots of learning to get what you want
-
@sdetweil Thanks. I have tried this and got no where. Appreciate the link regardless
-
@sdetweil I have been playing wround with MMM-JsonTable but to no avail. This is where I can download the json api for the app I am trying to add but I am not finding anything that works for this.
-
@ZeroCool so, I just used the sample from the url you posted for tasks
{ "milestone_id": 1234, "task_type": 1234, "creator": 1234, "second_id": 10, "title": "Cool task title", "description": "Here you can tell something about the task.", "last_picture": "ora-projects.s3.amazonaws.com/default-15.svg", "last_picture_external_url": "ora-projects.s3.amazonaws.com/default-15.svg", "created_at": "2019-07-31T12:42:49.096305Z", "updated_at": "2019-07-31T12:42:49.096305Z", "deadline": "2019-09-12T15:22:33.106501Z", "archived": true, "color": "#473a4f", "estimated": "16:33:22", "time_tracked": "10:12:33", "public": "true", "state": "1, 2, 3 or 4", "cover_width": 10, "cover_height": 10, "checklist": "1/10", "comments": 20, "public_comments": 14, "likes": 9, "attachments": 6, "commits": 3, "support_tickets": 1, "value": 12, "points": 10, "points_done": 5, "sprint_id": 1234, "position": 13 }
one would hope that you get an array(square brackets around) of tasks (I’ve dupped the one entry, and change the title and description fields, and given it an attribute in the returned response) output from jsonvalidator format
https://codebeautify.org/jsonvalidator?/jsonvalidate{ "fribble": [ { "milestone_id": 1234, "task_type": 1234, "creator": 1234, "second_id": 10, "title": "Cool task title 2", "description": "Here you can tell something about the task. again", "last_picture": "ora-projects.s3.amazonaws.com/default-15.svg", "last_picture_external_url": "ora-projects.s3.amazonaws.com/default-15.svg", "created_at": "2019-07-31T12:42:49.096305Z", "updated_at": "2019-07-31T12:42:49.096305Z", "deadline": "2019-09-12T15:22:33.106501Z", "archived": true, "color": "#473a4f", "estimated": "16:33:22", "time_tracked": "10:12:33", "public": "true", "state": "1, 2, 3 or 4", "cover_width": 10, "cover_height": 10, "checklist": "1/10", "comments": 20, "public_comments": 14, "likes": 9, "attachments": 6, "commits": 3, "support_tickets": 1, "value": 12, "points": 10, "points_done": 5, "sprint_id": 1234, "position": 13 }, { "milestone_id": 1234, "task_type": 1234, "creator": 1234, "second_id": 10, "title": "Cool task title", "description": "Here you can tell something about the task.", "last_picture": "ora-projects.s3.amazonaws.com/default-15.svg", "last_picture_external_url": "ora-projects.s3.amazonaws.com/default-15.svg", "created_at": "2019-07-31T12:42:49.096305Z", "updated_at": "2019-07-31T12:42:49.096305Z", "deadline": "2019-09-12T15:22:33.106501Z", "archived": true, "color": "#473a4f", "estimated": "16:33:22", "time_tracked": "10:12:33", "public": "true", "state": "1, 2, 3 or 4", "cover_width": 10, "cover_height": 10, "checklist": "1/10", "comments": 20, "public_comments": 14, "likes": 9, "attachments": 6, "commits": 3, "support_tickets": 1, "value": 12, "points": 10, "points_done": 5, "sprint_id": 1234, "position": 13 } ] }
so then in JSONTable the
arrayName
property would the “fribble” from above
arrayName:"fribble",
by default it will show EVERY item in each element of the array… not good for large items
so, the
keepColumns
property will allow you select the data items from each ‘record’ u want
keepColumns:[ "title","description","sprint_id","archived"],
you can put nice titles over the columns with the
descriptiveRow
property
its html, in table row/column format
descriptiveRow: '<tr><td>Title</td><td>Description</td><td>Sprint</td><td>is Archived</td></tr>',
so the config would be (using the data above, correct as required from the data you get)
{ module: "JsonTable", position: ????, config: { url: "https://api.ora.pm/projects/12345/tasks", arrayName:"fribble", keepColumns:[ "title","description","sprint_id","archived"], descriptiveRow: '<tr><td>Title</td><td>Description</td><td>Sprint</td><td>is Archived</td></tr>', } }
-
@sdetweil Thanks for this. I am trying to process it all.
-
@ZeroCool I just edited my ‘config’ to add a mostly correct tasks url
it needs a real projectID (in place of the 12345)
-
@sdetweil I will compensate you for your time if you can help me do this. These things are not in my skillset but I have invested a fair amount of money in a TV and MacMini to make this work in my office. Let me know