@jetbrains/create-youtrack-app
v0.0.6
Published
A scaffolding utility that generates a YouTrack app
Downloads
151
Keywords
Readme
YouTrack App Generator
Apps in YouTrack let you add new features, tools, and integrations that aren't available out of the box. They can help you customize YouTrack to fit your organization's specific needs, improving your project management, reporting, automation, or integrating with other tools in your software ecosystem. To learn more about app development for the YouTrack platform, please refer to our Developer Portal.
Quick Start
- Prepare an empty directory for your app
- Run the command
npm create @jetbrains/youtrack-app
- Follow the prompts provided by the generator
Adding Features to a Generated App
After you have generated an app, you may want to add more features. Add new features quickly with one of these commands:
| Action | Command |
| --- | --- |
| Add a settings declaration | npx @jetbrains/create-youtrack-app settings init
|
| Add one or more properties to the setting scheme created using the command listed above | npx @jetbrains/create-youtrack-app settings add
|
| Add another widget | npx @jetbrains/create-youtrack-app widget add
|
| Declare an extension property | npx @jetbrains/create-youtrack-app extension-property add
|
| Add an HTTP handler | npx @jetbrains/create-youtrack-app http-handler add
|
| View a list of available commands | npx @jetbrains/create-youtrack-app --help
|
Сontributing
To test locally, run one of the package.json scripts like npm run widget
. This generator uses Hygen under the hood.
Run npm test
to check basic generation workflow.
Caveats
While Hygen is a powerful tool for generating files, it isn't ideal for working with JSON files.
This means JSON manipulation can be a challenge.
To address this issue, we have added a injectJsCallback.js
file.
This file contains a helper function that can be used to create custom JS actions instead of simply rendering files.
An example that demonstrates the use of this function can be found in the _templates/settings/init/index.js
file.