← Back to Skills
Exec

jiraandconfluence

festoinc By festoinc 👁 13 views ▲ 0 votes

CLI tool for interacting with Atlassian Jira

GitHub
---
name: jira-ai
version: 1.0.0
description: CLI tool for interacting with Atlassian Jira and Confluence
homepage: https://github.com/festoinc/jira-ai
metadata: {"moltbot":{"emoji":"🎫","category":"productivity","api_base":"https://github.com/festoinc/jira-ai"}}
---

# Jira-AI Skill

The jira-ai skill provides comprehensive command-line access to Atlassian Jira and Confluence platforms, allowing agents to manage issues, projects, users, and documentation efficiently.

## Installation

To install jira-ai, run:
```bash
npm install -g jira-ai
```

## Authentication Setup

Before using jira-ai, you need to configure your Jira credentials:

1. Create a `.env` file with the following values:
   ```
   JIRA_HOST=your-domain.atlassian.net
   [email protected]
   JIRA_API_TOKEN=your-api-token
   ```

2. Authenticate using the .env file:
   ```bash
   jira-ai auth --from-file path/to/.env
   ```

## Configuration

You can manage settings using the settings command:

```bash
jira-ai settings --help
```

Apply settings from a YAML file:
```bash
jira-ai settings --apply my-settings.yaml
```

Validate settings:
```bash
jira-ai settings --validate my-settings.yaml
```

## Commands Overview

### Top-Level Commands

| Command | Description |
| :--- | :--- |
| `jira-ai auth` | Set up Jira authentication credentials |
| `jira-ai settings` | View, validate, or apply configuration settings |
| `jira-ai about` | Show information about the tool |
| `jira-ai help` | Display help for commands |

### Issue Management (`issue`)

| Command | Description |
| :--- | :--- |
| `jira-ai issue get <issue-id>` | Retrieve comprehensive issue data |
| `jira-ai issue create` | Create a new Jira issue |
| `jira-ai issue search <jql-query>` | Execute a JQL search query |
| `jira-ai issue transition <issue-id> <to-status>` | Change the status of a Jira issue |
| `jira-ai issue update <issue-id>` | Update a Jira issue's description |
| `jira-ai issue comment <issue-id>` | Add a new comment to a Jira issue |
| `jira-ai issue stats <issue-ids>` | Calculate time-based metrics for issues |
| `jira-ai issue assign <issue-id> <account-id>` | Assign or reassign a Jira issue |
| `jira-ai issue label add <issue-id> <labels>` | Add labels to a Jira issue |
| `jira-ai issue label remove <issue-id> <labels>` | Remove labels from a Jira issue |

### Project Management (`project`)

| Command | Description |
| :--- | :--- |
| `jira-ai project list` | List all accessible Jira projects |
| `jira-ai project statuses <project-key>` | Fetch workflow statuses for a project |
| `jira-ai project types <project-key>` | List issue types available for a project |

### User Management (`user`)

| Command | Description |
| :--- | :--- |
| `jira-ai user me` | Show profile details for authenticated user |
| `jira-ai user search [project-key]` | Search and list users |
| `jira-ai user worklog <person> <timeframe>` | Retrieve worklogs for a user |

### Organization Management (`org`)

| Command | Description |
| :--- | :--- |
| `jira-ai org list` | List all saved Jira organization profiles |
| `jira-ai org use <alias>` | Switch the active Jira organization profile |
| `jira-ai org add <alias>` | Add a new Jira organization profile |
| `jira-ai org remove <alias>` | Delete credentials for an organization |

### Confluence Commands (`confl`)

| Command | Description |
| :--- | :--- |
| `jira-ai confl get <url>` | Download Confluence page content |
| `jira-ai confl spaces` | List all allowed Confluence spaces |
| `jira-ai confl pages <space-key>` | Display pages within a space |
| `jira-ai confl create <space> <title> [parent-page]` | Create a new Confluence page |
| `jira-ai confl comment <url>` | Add a comment to a Confluence page |
| `jira-ai confl update <url>` | Update a Confluence page |

## Usage Examples

### Search for issues assigned to the current user
```bash
jira-ai issue search "assignee = currentUser()"
```

### Get details of a specific issue
```bash
jira-ai issue get PROJ-123
```

### Create a new issue
```bash
jira-ai issue create --project "PROJ" --summary "New task" --issuetype "Story"
```

### Transition an issue to a new status
```bash
jira-ai issue transition PROJ-123 "In Progress"
```

### Add a comment to an issue
```bash
jira-ai issue comment PROJ-123 --file comment.md
```

### List all projects
```bash
jira-ai project list
```

### Get worklogs for a user
```bash
jira-ai user worklog [email protected] 2w
```

## Configuration Options

The jira-ai tool supports extensive configuration through settings files. You can define:

- Allowed Jira projects
- Allowed commands
- Allowed Confluence spaces
- Default behaviors for various operations

Example settings structure:
```yaml
defaults:
  allowed-jira-projects:
    - all                     # Allow all projects
  allowed-commands:
    - all                     # Allow all commands
  allowed-confluence-spaces:
    - all                     # Allow all Confluence spaces

organizations:
  work:
    allowed-jira-projects:
      - PROJ                  # Allow specific project
      - key: PM               # Project-specific config
        commands:
          - issue.get         # Only allow reading issues
        filters:
          participated:
            was_assignee: true
    allowed-commands:
      - issue                 # All issue commands
      - project.list          # Only project list
      - user.me               # Only user me
    allowed-confluence-spaces:
      - DOCS
```

## Benefits

- **Efficient API Usage**: Minimizes the number of API calls needed to perform common operations
- **Batch Operations**: Process multiple items at once to reduce API usage
- **Smart Filtering**: Use JQL to retrieve only the specific data needed
- **Local Processing**: Handle operations locally before sending targeted requests to Jira
- **Configuration-Based Access Control**: Define allowed commands and projects to prevent unauthorized operations
- **Specific Command Targeting**: Get only the information needed, reducing payload sizes and API usage

## Security Considerations

- Store API tokens securely in environment files
- Use configuration-based access controls to limit operations
- Regularly rotate API tokens
- Limit permissions to the minimum required for operations
exec

Comments

Sign in to leave a comment

Loading comments...