Table of Contents
This project contains an Atlassian Forge app written in TypeScript with React 18 and Material-UI v5. It integrates two front-end sections: admin-configure and admin-home.
CircleCI for Jira aims to enable the association of Jira issues with builds and deployments in CircleCI. To leverage these features, install the app in Atlassian and send your builds and deployments using the circleci/jira orb.
Before starting, ensure you have the latest version of pnpm and Forge command-line tool installed.
To begin development, follow these steps:
- Clone the repository and navigate into the project directory.
- Run
pnpm installto secure all necessary dependencies.
Then, follow the next steps based on your role:
- Log into the Forge command-line tool as outlined here.
- Follow these instructions to establish a new Forge app in a separate folder.
- Replace the
idinapps/forge/manifest.ymlwith theidfrom your new app'smanifest.yml. - Deploy the app to the development environment with
pnpm -w run deploy:development. - Run
forge installand follow the prompts to install the CircleCI for Jira app. The app should now appear on the "Manage your apps" page.
Note The app id in
apps/forge/manifest.ymlremains unique and restrict app deployment to the account owner.
Refer to the steps defined in the internal Confluence document.
The project divides into two main parts:
apps: This directory hosts the app part of this monorepo.packages: This directory houses shared UI components and hooks.
Other directories and files consist of configuration and metadata.
The /apps directory includes three apps:
admin-configure: A user-oriented section enabling configuration of the Jira app and retrieval of their webhook URL.admin-home: The app's home page offers users quick access to resources such as documentation and a ticket submission portal.forge: This section contains the Forge app's manifest and web/resolver implementations.
Please contribute to this project by opening issues or submitting pull requests. This project appreciates and welcomes any feedback and enhancements to enrich the app.
This project falls under the MIT License - see the LICENSE file for more information.