nextcloud / nextcloud/integration_zammad
Calendar Integration
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 27
- Forks
- 4
- Avg merge
- 15d 21h
- Merged PRs (30d)
- 1
Description
How to use GitHub
- Please use the 👍 reaction to show that you are interested into the same feature.
- Please don't comment if you have no relevant information to add. It's just extra noise for everyone subscribed to this issue.
- Subscribe to receive notifications on status change and new comments.
Feature request
Which Nextcloud Version are you currently using: (see administration page)
Nextcloud Hub 9 (30.0.8)
Is your feature request related to a problem? Please describe.
It would be beneficial to view tickets in the Nextcloud Calendar.
Describe the solution you'd like
Dynamically create calendars
Agent Calendars
- My Open Tickets
- My Closed Tickets
Manager Calendars
- Agent's/Organization's/Group's Open Tickets
- Agent's/Organization's/Group's Closed Tickets
Configuration Options
Admin
NEEDS-ACTIONstatus match: Fetch statuses from zammad in a multiple selectCOMPLETEDstatus match: Fetch statuses from zammad in a multiple selectIN-PROCESSstatus match: Fetch statuses from zammad in a multiple selectCANCELLEDstatus match: Fetch statuses from zammad in a multiple select- Ticket Date Field: input for custom ticket object attribute (e.g. we have set up a
Due Date)
Show an error if status matching has overlaps
User
Manager Options
[ ] Create Calendars per Agent
[ ] Create Calendars per Group
[ ] Create Calendars per Organization
[ ] Add Accounted Time table in the DESCRIPTION
Calendar Event (fetched & generated)
- Type: VTODO
- UID:
zammad-ticket-#{ticket.id} - STATUS: Switch
#{ticket.status}per the status matching in the configuration - SUMMARY:
#{ticket.title} - DESCRIPTION:
#{article.body}(latest) - CREATED:
#{ticket.created_at} - LAST-MODIFIED:
#{ticket.updated_at} - LOCATION:
#{config.http_type}://#{config.fqdn}/#ticket/zoom/#{ticket.id}(the correct field would be URL, but Nextcloud only uses LOCATION) - DUE:
Ticket Date FieldOR#{ticket.closed_at}OR#{ticket.updated_at}(VTODO needs a due date in order to show up in the Calendar) - ORGANIZER:
mailto:#{ticket.owner.email} - ATTENDEE:
[mailto:#{ticket.customer.email}] - PRIORITY:
#{ticket.priority.name}(parseInt and switch 1->9, 2->5, 3->1) - COMPLETED:
#{ticket.closed_at}
I use Zammad Variable formatting #{} to differentiate API response values
Describe alternatives you've considered
Inject a middleware in the Calendar that checks if a subscribed calendar is from the connected Zammad's url. If true add the appropriate Authorization headers with the configured token.
Pros
- Way less code required
Cons
- No way to customize results
- No way for a manager to view his subordinates' tickets, because subscribed calendars cannot be shared.
Additional context
Managers are defined in the Nextcloud Accounts. I'm up for implementing this, but not for another month due to existing deadlines. I just wanted to share my specs first so that we agree on a mergeable version first.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No files, tests, or entry points are named. Start by reviewing the existing Zammad integration and Nextcloud Calendar capabilities against the proposed calendars, configuration options, and VTODO fields; confirm the mergeable scope and acceptance criteria before implementing.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- api, backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100