📦 Jira Task Creator — 技能工具
v2.1.0Create and manage Jira tasks using natural language input, smart user search, batch CSV import, and detailed task analytics with flexible field support.
详细分析 ▾
运行时依赖
版本
- Documentation improvements in the README for clarity and organization. - No functional or code changes in this version.
安装命令
点击复制技能文档
A complete Jira task management skill with natural language parsing, smart user search, batch operations, and intelligent analytics.
Core Features
1. Intelligent Task Creation
- Natural language parsing: Supports Chinese and English task descriptions
- Flexible field configuration: All standard Jira fields supported
- Smart date handling: Relative dates ("tomorrow", "next week", "end of month")
2. Smart User Search
- Multiple search methods: Name, open_id, email
- Assignable user query: Only returns users assignable to specific project
- User cache mechanism: 5-minute TTL, reduces API calls
- User mapping management: Maintains Feishu-Jira user mapping
3. Batch Task Creation
- CSV import: Bulk task creation from CSV files
- Task templates: Bug report, feature request, technical research
- Variable replacement: Dynamic template content filling
4. Task Analytics
- Multi-dimensional statistics: Status, priority, project, assignee
- Completion rate calculation: Success task ratio
- Overdue task identification: Overdue, due soon (3 days)
- Formatted reports: Markdown statistics reports
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_issue
result = 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_natural
result = create_issue_natural( user_instruction="Complete API development by next Wednesday, high priority", project="ERP" )
Search User
from jira_task_creator import search_user
user = search_user("贾小丽", "ERP") print(f"Username: {user['name']}") print(f"Display name: {user['displayName']}")
Batch Creation
from batch_creator import BatchTaskCreator
creator = BatchTaskCreator(base_url, token) results = creator.create_from_csv("tasks.csv")
Task Analytics
from task_analyzer import TaskAnalyzer
tasks = 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 information
search_user()
Searches for users assignable to a project.
Parameters:
query(str): Search query (name, open_id, email)project_key(str): Project key
Returns:
dict: User information or None if not found
create_issue_natural()
Creates an issue from natural language instruction.
Parameters:
user_instruction(str): Natural language task descriptionproject(str): Project key
Returns:
dict: Creation result
Task Templates
Bug Report Template
from batch_creator import BatchTaskCreator
creator = 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:
- Check Bearer Token validity
- Verify token format
404 Not Found:
- Project key is incorrect
- User does not exist
422 Unprocessable Entity:
- Invalid field values
- Missing required fields
Troubleshooting
- Check connection:
ping your-jira-server.com
- Verify token:
import requests
response = requests.get("https://your-jira.com/rest/api/3/myself",
headers={"Authorization": f"Bearer {token}"})
print(response.status_code)
- Enable debug logging:
{
"logging": {
"level": "DEBUG"
}
}
License
MIT License
Version
1.0.0 - Initial release