Jira Task Creator
by @ulanzicom
Create and manage Jira tasks using natural language input, smart user search, batch CSV import, and detailed task analytics with flexible field support.
clawhub install jira-task-creatorπ About This Skill
Jira Task Creator - Professional Edition
A complete Jira task management skill with natural language parsing, smart user search, batch operations, and intelligent analytics.
Core Features
1. Intelligent Task Creation
2. Smart User Search
3. Batch Task Creation
4. Task Analytics
Installation
pip install requests python-dateutil
Configuration
Environment Variables
# Required
export JIRA_BASE_URL="http://your-jira.com"
export JIRA_BEARER_TOKEN="your-token-here"Optional
export JIRA_DEFAULT_PROJECT="ERP"
export JIRA_DEFAULT_ASSIGNEE="Cloud"
export JIRA_CACHE_ENABLED="true"
export JIRA_CACHE_TTL="300"
Config File (config.json)
{
"jira": {
"baseUrl": "http://your-jira.com",
"bearerToken": "your-token-here",
"defaultProject": "ERP",
"defaultAssignee": "Cloud",
"timeout": 30
},
"cache": {
"enabled": true,
"ttl": 300,
"maxSize": 1000
},
"logging": {
"level": "INFO",
"saveToFile": true,
"logDirectory": "logs/"
}
}
Quick Start
Create a Task
from jira_task_creator import create_issueresult = create_issue(
summary="Fix login bug",
description="Users cannot login to system",
project_key="ERP",
issue_type_name="Bug",
priority="High"
)
Natural Language Task Creation
from jira_task_creator import create_issue_naturalresult = create_issue_natural(
user_instruction="Complete API development by next Wednesday, high priority",
project="ERP"
)
Search User
from jira_task_creator import search_useruser = search_user("θ΄Ύε°δΈ½", "ERP")
print(f"Username: {user['name']}")
print(f"Display name: {user['displayName']}")
Batch Creation
from batch_creator import BatchTaskCreatorcreator = BatchTaskCreator(base_url, token)
results = creator.create_from_csv("tasks.csv")
Task Analytics
from task_analyzer import TaskAnalyzertasks = fetch_tasks("assignee = currentUser() AND status != Done")
analysis = TaskAnalyzer.analyze_tasks(tasks)
report = TaskAnalyzer.generate_report(analysis)
print(report)
API Reference
create_issue()
Creates a Jira issue with specified fields.
Parameters:
summary (str): Task title (required)description (str): Task descriptionproject_key (str): Project key (e.g., "ERP")issue_type_name (str): Issue type (e.g., "Bug", "Story")priority (str): Priority (High, Medium, Low)assignee (str): Assignee usernamedue_date (str): Due date (ISO 8601 format)Returns:
dict: Created issue data or error informationsearch_user()
Searches for users assignable to a project.
Parameters:
query (str): Search query (name, open_id, email)project_key (str): Project keyReturns:
dict: User information or None if not foundcreate_issue_natural()
Creates an issue from natural language instruction.
Parameters:
user_instruction (str): Natural language task descriptionproject (str): Project keyReturns:
dict: Creation resultTask Templates
Bug Report Template
from batch_creator import BatchTaskCreatorcreator = BatchTaskCreator(base_url, token)
result = creator.create_from_template("bug_report", {
"title": "Login page error",
"description": "Error 500 when logging in",
"priority": "High"
})
Feature Request Template
result = creator.create_from_template("feature_request", {
"title": "Add dark mode",
"description": "Support dark mode theme",
"priority": "Medium"
})
Error Handling
Common Errors
401 Unauthorized:
404 Not Found:
422 Unprocessable Entity:
Troubleshooting
1. Check connection:
ping your-jira-server.com
2. Verify token:
import requests
response = requests.get("https://your-jira.com/rest/api/3/myself",
headers={"Authorization": f"Bearer {token}"})
print(response.status_code)
3. Enable debug logging:
{
"logging": {
"level": "DEBUG"
}
}
License
MIT License
Version
1.0.0 - Initial release
π‘ Examples
Create a Task
from jira_task_creator import create_issueresult = create_issue(
summary="Fix login bug",
description="Users cannot login to system",
project_key="ERP",
issue_type_name="Bug",
priority="High"
)
Natural Language Task Creation
from jira_task_creator import create_issue_naturalresult = create_issue_natural(
user_instruction="Complete API development by next Wednesday, high priority",
project="ERP"
)
Search User
from jira_task_creator import search_useruser = search_user("θ΄Ύε°δΈ½", "ERP")
print(f"Username: {user['name']}")
print(f"Display name: {user['displayName']}")
Batch Creation
from batch_creator import BatchTaskCreatorcreator = BatchTaskCreator(base_url, token)
results = creator.create_from_csv("tasks.csv")
Task Analytics
from task_analyzer import TaskAnalyzertasks = fetch_tasks("assignee = currentUser() AND status != Done")
analysis = TaskAnalyzer.analyze_tasks(tasks)
report = TaskAnalyzer.generate_report(analysis)
print(report)
βοΈ Configuration
Environment Variables
# Required
export JIRA_BASE_URL="http://your-jira.com"
export JIRA_BEARER_TOKEN="your-token-here"Optional
export JIRA_DEFAULT_PROJECT="ERP"
export JIRA_DEFAULT_ASSIGNEE="Cloud"
export JIRA_CACHE_ENABLED="true"
export JIRA_CACHE_TTL="300"
Config File (config.json)
{
"jira": {
"baseUrl": "http://your-jira.com",
"bearerToken": "your-token-here",
"defaultProject": "ERP",
"defaultAssignee": "Cloud",
"timeout": 30
},
"cache": {
"enabled": true,
"ttl": 300,
"maxSize": 1000
},
"logging": {
"level": "INFO",
"saveToFile": true,
"logDirectory": "logs/"
}
}
π Tips & Best Practices
1. Check connection:
ping your-jira-server.com
2. Verify token:
import requests
response = requests.get("https://your-jira.com/rest/api/3/myself",
headers={"Authorization": f"Bearer {token}"})
print(response.status_code)
3. Enable debug logging:
{
"logging": {
"level": "DEBUG"
}
}