> ## Documentation Index
> Fetch the complete documentation index at: https://docs.agno.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Jira

> JiraTools let an agent search, create, and comment on Jira issues, and log worklogs against them.

**JiraTools** enable an Agent to perform Jira tasks.

## Prerequisites

The following example requires the `jira` and `openai` libraries and auth credentials.

```shell theme={null}
uv pip install -U jira openai
```

```shell theme={null}
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.

```python cookbook/91_tools/jira_tools.py theme={null}
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:<br />- `issue_key`: the key of the issue to retrieve<br />Returns a JSON string containing issue details or an error message.                                                                                                                                                       |
| `create_issue`  | Creates a new issue in JIRA. Parameters include:<br />- `project_key`: the project in which to create the issue<br />- `summary`: the issue summary<br />- `description`: the issue description<br />- `issuetype`: the type of issue (default is "Task")<br />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:<br />- `jql_str`: the JQL query string<br />- `max_results`: the maximum number of results to return (default is 50)<br />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:<br />- `issue_key`: the key of the issue<br />- `comment`: the comment text<br />Returns a JSON string indicating success or an error message.                                                                                                                                     |
| `add_worklog`   | Adds a worklog entry to log time spent on an issue. Parameters include:<br />- `issue_key`: the key of the issue<br />- `time_spent`: the amount of time in Jira's format, e.g., '2h', '30m', '1d 4h'<br />- `comment`: an optional comment describing the work done<br />Returns a JSON string indicating success or an error message.    |

## Developer Resources

* [Tools](https://github.com/agno-agi/agno/blob/main/libs/agno/agno/tools/jira.py)
