Jira Board Organization
Manage Jira boards, issues, and sprints via the Jira REST API.
Environment Variables
Required:
- •
JIRA_URL: Jira instance URL (e.g.,https://company.atlassian.net) - •
JIRA_USERNAME: Jira username/email - •
JIRA_API_TOKEN: API token from https://id.atlassian.com/manage-profile/security/api-tokens
Optional:
- •
JIRA_PROJECTS_FILTER: Comma-separated project keys to filter by default (e.g.,PROJ,DEV)
Quick Start
Use scripts/jira_api.py for all Jira operations:
bash
# List issues in filtered projects python scripts/jira_api.py issues # List my issues in active sprint python scripts/jira_api.py issues --assignee me --sprint active # Create an issue python scripts/jira_api.py create PROJ "Fix login bug" --type Bug --priority High # Transition issue status python scripts/jira_api.py transition PROJ-123 "In Progress" # Assign issue python scripts/jira_api.py assign PROJ-123 me
Issue Operations
List Issues
bash
python scripts/jira_api.py issues [options]
--project, -p Project key(s), comma-separated
--status, -s Filter by status
--assignee, -a Filter by assignee ('me' for yourself)
--sprint Filter by sprint ('active' for current)
--jql Custom JQL query
--max Max results (default: 50)
--verbose, -v Show detailed output
Get Issue Details
bash
python scripts/jira_api.py get PROJ-123
Create Issue
bash
python scripts/jira_api.py create PROJECT "Summary" [options] --type, -t Issue type (default: Task) --description, -d Description --assignee, -a Assignee --priority, -p Priority --labels, -l Labels (space-separated)
Update Issue
bash
python scripts/jira_api.py update PROJ-123 [options] --summary, -s New summary --description, -d New description --assignee, -a New assignee --priority, -p New priority --labels, -l New labels
Transition Issue
bash
python scripts/jira_api.py transition PROJ-123 "Done"
Assign Issue
bash
python scripts/jira_api.py assign PROJ-123 username python scripts/jira_api.py assign PROJ-123 me # Assign to yourself
Add Comment
bash
python scripts/jira_api.py comment PROJ-123 "Comment text"
Board Operations
List Boards
bash
python scripts/jira_api.py boards [--project PROJECT]
List Board Issues
bash
python scripts/jira_api.py board-issues BOARD_ID [--sprint active] [-v]
Sprint Operations
List Sprints
bash
python scripts/jira_api.py sprints BOARD_ID [--state active|future|closed]
Create Sprint
bash
python scripts/jira_api.py create-sprint BOARD_ID "Sprint Name" [options] --start Start date (ISO format: 2024-01-15) --end End date --goal Sprint goal
Start/Close Sprint
bash
python scripts/jira_api.py start-sprint SPRINT_ID [--start DATE] [--end DATE] python scripts/jira_api.py close-sprint SPRINT_ID
Move Issues to Sprint
bash
python scripts/jira_api.py move-to-sprint SPRINT_ID PROJ-1 PROJ-2 PROJ-3
List Sprint Issues
bash
python scripts/jira_api.py sprint-issues SPRINT_ID [-v]
Common Workflows
Daily Standup Review
bash
# Show my active sprint issues python scripts/jira_api.py issues --assignee me --sprint active -v
Sprint Planning
bash
# List backlog issues python scripts/jira_api.py issues --status "To Do" --project PROJ # Move issues to sprint python scripts/jira_api.py move-to-sprint 42 PROJ-100 PROJ-101 PROJ-102
Status Update
bash
# Start working on issue python scripts/jira_api.py transition PROJ-123 "In Progress" python scripts/jira_api.py assign PROJ-123 me # Complete issue python scripts/jira_api.py transition PROJ-123 "Done"
JQL Examples
Custom queries with --jql:
bash
# High priority bugs python scripts/jira_api.py issues --jql 'priority = High AND type = Bug' # Recently updated python scripts/jira_api.py issues --jql 'updated >= -7d ORDER BY updated DESC' # Unassigned in project python scripts/jira_api.py issues --jql 'project = PROJ AND assignee IS EMPTY'