Skill: festoinc/jiraandconfluence (version 1.0.0)

--- 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 JIRA_USER_EMAIL=[REDACTED_SECRET] 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 [REDACTED_SECRET] 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


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: suspicious | SkillSpector: clean (LOW)