Prerequisites
The following example requires thejira and openai libraries and auth credentials.
uv pip install -U jira openai
export JIRA_SERVER_URL="YOUR_JIRA_SERVER_URL"
export JIRA_USERNAME="YOUR_USERNAME"
export JIRA_TOKEN="YOUR_API_TOKEN"
Example
The following agent will use Jira API to search for issues in a project.cookbook/91_tools/jira_tools.py
from agno.agent import Agent
from agno.tools.jira import JiraTools
agent = Agent(tools=[JiraTools()])
agent.print_response("Find all issues in project PROJ", markdown=True)
Toolkit Params
| Parameter | Type | Default | Description |
|---|---|---|---|
server_url | str | None | The URL of the JIRA server, retrieved from the environment variable JIRA_SERVER_URL. Raises an error if not set. |
username | str | None | The JIRA username for authentication, retrieved from the environment variable JIRA_USERNAME. Default is None if not set. |
password | str | None | The JIRA password for authentication, retrieved from the environment variable JIRA_PASSWORD. Default is None if not set. |
token | str | None | The JIRA API token for authentication, retrieved from the environment variable JIRA_TOKEN. Default is None if not set. |
enable_get_issue | bool | True | Enable the get_issue functionality. |
enable_create_issue | bool | True | Enable the create_issue functionality. |
enable_search_issues | bool | True | Enable the search_issues functionality. |
enable_add_comment | bool | True | Enable the add_comment functionality. |
enable_add_worklog | bool | True | Enable the add_worklog functionality. |
all | bool | False | Enable all functionality. |
Toolkit Functions
| Function | Description |
|---|---|
get_issue | Retrieves issue details from JIRA. Parameters include: - issue_key: the key of the issue to retrieveReturns a JSON string containing issue details or an error message. |
create_issue | Creates a new issue in JIRA. Parameters include: - project_key: the project in which to create the issue- summary: the issue summary- description: the issue description- issuetype: the type of issue (default is “Task”)Returns a JSON string with the new issue’s key and URL or an error message. |
search_issues | Searches for issues using a JQL query in JIRA. Parameters include: - jql_str: the JQL query string- max_results: the maximum number of results to return (default is 50)Returns a JSON string containing a list of dictionaries with issue details or an error message. |
add_comment | Adds a comment to an issue in JIRA. Parameters include: - issue_key: the key of the issue- comment: the comment textReturns a JSON string indicating success or an error message. |
add_worklog | Adds a worklog entry to log time spent on an issue. Parameters include: - issue_key: the key of the issue- time_spent: the amount of time in Jira’s format, e.g., ‘2h’, ‘30m’, ‘1d 4h’- comment: an optional comment describing the work doneReturns a JSON string indicating success or an error message. |