Apps
This guide covers information and management of Zendesk apps at GitLab.
For a list of currently used apps:
Developers should review the Development documentation.
Administrators should review the Administrator tasks section.
Technical Details
- Deployment type:
Standard - Groups sync repos are in:
Understanding Zendesk apps
What is a Zendesk App
A Zendesk App is an application (written in HTML/CSS/JS) that runs in a location of Zendesk. What it does and how it does it varies greatly from application to application. Applications can be run in a great many places, but the traditional locations are:
- Ticket sidebar
- User sidebar
- Organization sidebar
- Navbar
- Background
You can see more resources on application locations via the Zendesk Developer Manifest Reference documentation.
Zendesk applications tend to come from one of two areas:
- Zendesk Marketplace
- Developed in-house
How we manage apps
While Zendesk offers a full way to manage apps via the UI, we turn to a more version controlled methodology. This allows for a set review process, the ability to perform rollbacks as needed, etc.
That being the case, we utilize sync repos and managed content repos.
Administrator tasks
Versioning
For Zendesk app version, you use the following style:
Major.Minor
This follows Semantic Versioning (without the Patch number). As such, you should combine the normal Minor and Patch definitions into one.
As a general rule:
- Minor version changes (increment Minor number):
- Bug fixes and corrections
- Small UI improvements
- Performance optimizations
- Minor feature additions
- Major version changes (increment Major, reset Minor to 0):
- Breaking changes to functionality
- Major redesigns or rewrites
- Significant new features
- Changes requiring new permissions
As an example:
- doing small changes on app version
2.9would make the new version2.10 - doing large changes on app version
2.9would make the new version3.0
Installing an app
Info
- This covers installing the app in Zendesk.
- If you need to create the app project, please see project setup
- If you need to develop the app, please see App development
- If installing an app from the Zendesk marketplace, please see directions on that app’s page.
Warning
- This should only be done if there is a corresponding request issue (Feature Request, Administrative, Bug, etc.). If one does not exist, you should first create one (and let it go through the standard process before working it).
To install an app in Zendesk, you first must package your app. To do this, run the following command (via CLI) within the project repo:
zip -r data/application.zip assets manifest.json translations
You will then use data/application.zip to upload (and install) the app in Zendesk by doing the following:
- Navigate to the admin dashboard for the Zendesk instance
- Go to
Apps and integrations > Apps > Zendesk Support apps - Click
Upload private appin the top-right of the page - Enter the app’s name (as it is detailed in the app’s
manifest.jsonfile) - Click
Choose Fileand select thedata/application.zipfile made previously - Click
Upload
From there, you will be taken to the app’s page (after install), where you can set the restrictions, parameters, etc.
Updating an app
Warning
- This should only be done if there is a corresponding request issue (Feature Request, Administrative, Bug, etc.). If one does not exist, you should first create one (and let it go through the standard process before working it).
- Make sure you follow our Versioning information
Updating already installed apps is considerably easier since a corresponding sync repo controls it. To update an app, you will need to create a MR in the sync repo for the app. The exact changes being made will depend on the request itself.
After a peer reviews and approves your MR, you can merge the MR. When the next deployment occurs, it will be synced to Zendesk.
Force updating an installed app in the sandbox
If you need to force update an app in the sandbox (especially during development), run the command ./bin/sync_sandbox force when within the project repo (via CLI).
Deactivating an app
Warning
- This should only be done if there is a corresponding request issue (Feature Request, Administrative, Bug, etc.). If one does not exist, you should first create one (and let it go through the standard process before working it).
- If deactivating an app, you will need to disable the scheduled pipelines that control its sync mechanism
To deactivate an app:
- Navigate to the admin dashboard for the Zendesk instance
- Go to
Apps and integrations > Apps > Zendesk Support apps - Hover over the app in question and click the down arrow
- Click the slider under the
Enabledoption
Uninstalling an app
Warning
- This should only be done if there is a corresponding request issue (Feature Request, Administrative, Bug, etc.). If one does not exist, you should first create one (and let it go through the standard process before working it).
- You should only ever uninstall a deactivated app
To uninstall an app:
- Navigate to the admin dashboard for the Zendesk instance
- Go to
Apps and integrations > Apps > Zendesk Support apps - Hover over the app in question and click the down arrow
- Click
Uninstall
Performing an exception deployment
To perform an exception deployment for an app, navigate to the app project in question, go to the scheduled pipelines page, and click the play button for the sync item. This will trigger a sync job for the app.
Common issues and troubleshooting
Not seeing app changes after a merge
As apps follow the Standard deployment type, they would only be deployed during a normal deployment cycle (or when an exception deployment has been done).
Global apps
US Government apps
7d49549f)
