This Node.js project automates the retrieval and organization of completed issues from a JIRA project. The script is designed to fetch issues marked as "Done" in the past week, organize them by epic and assignee, and then format a comprehensive update message. This message can be customized per project and is intended to be sent to a specified communication channel, facilitating team updates and project management.
- Fetches completed issues from a specified JIRA project.
- Organizes issues by epic and assignee for improved clarity.
- Generates a detailed update message, customizable for different projects.
- Supports sending the generated message to a specified an endpoint, facilitating integration with Slack.
Before you begin, ensure you have met the following requirements:
- Node.js installed on your local machine.
- Ollama installed on your local machine.
- Access to a JIRA project and an API token for authentication. You can generate a token in the
Security
section of your Atlassian account (https://id.atlassian.com/manage-profile/security/api-tokens) - An endpoint to receive the generated message (if using the messaging feature).
Ollama setup and warning
Ollama needs to download the full model before it is able to be used. I recommend to run the following command before using the script.
ollama run llama2:13b
Even after the download of the model, Ollama is relatively slow to startup and answer questions. Expect the script to look on hold for some time.
-
Clone the repository
Start by cloning this project to your local machine to get started.
-
Install dependencies
Navigate to the project directory and run:
npm install node-fetch dotenv
-
Configure environment variables
Create a
.env
file in the project root with the following variables:
JIRA_DOMAIN=your_jira_domain
EMAIL=your_email_address
API_TOKEN=your_api_token
API_URL=your_api_url_for_sending_messages
AUTH_TOKEN=your_auth_token_for_api
CHANNEL=your_target_channel_or_endpoint
PROJECT=your_project_key
PROJECT_NAME=your_project_extended_name
-
Usage
The project is now ready to be executed with:
node index.js
It constructs a request to the JIRA API to fetch issues from a specified project that are marked as "Done" within the last week. Retrieved issues are organized by epic and assignee, providing a structured overview. A detailed message is generated, summarizing the completed tasks, customizable based on the project. The script then sends the generated message to a specified endpoint, ensuring team members are updated with the latest project achievements.
Results:
You can customize the message format or the criteria for fetching issues by modifying the generateMessage
and fetchIssuesFromJira
functions, respectively. This allows the script to be flexibly adapted to different project needs or communication styles.
Sensitive information is managed through environment variables, ensuring that credentials and API tokens are not hard-coded into the script. Always keep your .env
file secure and never share it publicly.
For support, contact Elton Tamilheiro