{"id":48408398,"url":"https://github.com/rootlyhq/rootly-zendesk","last_synced_at":"2026-04-06T04:33:33.546Z","repository":{"id":339133898,"uuid":"690772047","full_name":"rootlyhq/rootly-zendesk","owner":"rootlyhq","description":"Zendesk app for managing Rootly incidents directly within Zendesk support tickets","archived":false,"fork":false,"pushed_at":"2026-04-03T04:58:46.000Z","size":1124,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2026-04-03T12:51:21.842Z","etag":null,"topics":["incident-management","incident-response","javascript","nodejs","react","support-integration","webpack","zendesk","zendesk-app","zendesk-integration"],"latest_commit_sha":null,"homepage":"https://rootly.com","language":"JavaScript","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rootlyhq.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-09-12T21:03:52.000Z","updated_at":"2026-04-03T04:57:18.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/rootlyhq/rootly-zendesk","commit_stats":null,"previous_names":["rootlyhq/rootly-zendesk"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rootlyhq/rootly-zendesk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rootlyhq%2Frootly-zendesk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rootlyhq%2Frootly-zendesk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rootlyhq%2Frootly-zendesk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rootlyhq%2Frootly-zendesk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rootlyhq","download_url":"https://codeload.github.com/rootlyhq/rootly-zendesk/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rootlyhq%2Frootly-zendesk/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31460103,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-05T21:22:52.476Z","status":"online","status_checked_at":"2026-04-06T02:00:07.287Z","response_time":112,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["incident-management","incident-response","javascript","nodejs","react","support-integration","webpack","zendesk","zendesk-app","zendesk-integration"],"created_at":"2026-04-06T04:33:28.949Z","updated_at":"2026-04-06T04:33:33.537Z","avatar_url":"https://github.com/rootlyhq.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Rootly Zendesk App\n\n## Getting Started\n\n### Dependencies\n- [Node.js](https://nodejs.org/en/) \u003e= 24.0.0\n- [Yarn](https://yarnpkg.com/) 4.x\n- [Zendesk CLI](https://github.com/zendesk/zcli) (for local development and deployment)\n\nIf you use [mise](https://mise.jdx.dev/), versions are pinned in `mise.toml`.\n\n### Setup\n1. Clone or fork this repo\n2. Run `yarn install`\n\n### Running locally\n\nTo serve the app to your Zendesk instance with `?zcli_apps=true`, open a new terminal and run\n\n```\nyarn run watch\n```\nand then open a new terminal and run\n```\nzcli apps:server dist\n```\n\n## Folder structure\n\n| Name                                    | Description                                                                                  |\n|:----------------------------------------|:---------------------------------------------------------------------------------------------|\n| [`dist/`](#dist)                        | The folder in which webpack packages the built version of your app                           |\n| [`spec/`](#spec)                        | The folder in which all of your test files live                                              |\n| [`src/`](#src)                          | The folder in which all of your source JavaScript, CSS, templates and translation files live |\n| [`webpack/`](#webpack)                  | translations-loader and translations-plugin to support i18n in the application               |\n\n#### dist\nThe dist directory is created when you run the app building scripts. You will need to package this folder when submitting your app to the Zendesk Apps Marketplace. It is also the folder you will have to serve when using [ZCLI](https://developer.zendesk.com/documentation/apps/app-developer-guide/zcli/). It includes your app's manifest.json file, an assets folder with all your compiled JavaScript and CSS as well as HTML and images.\n\n#### spec\nThe spec directory is where all your tests and test helpers live.\n\n#### src\nThe src directory is where your raw source code lives. It includes directories for JavaScript, stylesheets, templates, images and translations.\n\n#### webpack\nThis directory contains custom tooling to process translations at build time:\n\n- translations-loader.js converts .json translation files to JavaScript objects for the app.\n- translations-plugin.js extracts compulsory translation strings from en.json for Zendesk Apps Marketplace metadata.\n\n## I18n\nThe I18n module in `/src/javascripts/lib/i18n.js` provides a `t` method to look up translations based on a key. For more information, see [Using the I18n module](https://github.com/zendesk/app_scaffolds/blob/master/packages/react/doc/i18n.md).\n\n## Parameters and Settings\nIf you need to test your app with a `parameters` section in `dist/manifest.json`, create a `settings.yml` file in the root directory and populate it with your parameter names and test values. For example:\n\n```yaml\napiKey: 'your-rootly-api-key'\napiUrl: 'https://api.rootly.com/v1'\n```\n\n## Testing\n\nTests use [Jest](https://jestjs.io/) with jsdom. To run specs:\n\n```\nyarn test\n```\n\nSpecs live under the `spec` directory.\n\n## Deploying\n\nTo check that your app will pass the server-side validation check, run\n\n```\nzcli apps:validate dist\n```\n\nIf validation is successful, you can upload the app into your Zendesk account by running\n\n```\nzcli apps:create dist\n```\n\nTo update your app after it has been created in your account, run\n\n```\nzcli apps:update dist\n```\n\nOr, to create a zip archive for manual upload, run\n\n```\nzcli apps:package dist\n```\n\nFor more information on the Zendesk CLI please see the [documentation](https://developer.zendesk.com/documentation/apps/app-developer-guide/zcli/).\n\n## Useful Links\n- https://developer.zendesk.com/\n- https://developer.zendesk.com/documentation/apps/build-an-app/using-react-in-a-support-app/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frootlyhq%2Frootly-zendesk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frootlyhq%2Frootly-zendesk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frootlyhq%2Frootly-zendesk/lists"}