This article explains how to do multiple board configuration related tasks with Jira Command Line Interface (CLI).
Since Bob Swift Atlassian CLI version 10.0.0, we have added a list of actions to cover board configurations, including board column, board card layout and Days In Column enable/disable , kanban board subfilter(subquery), scrum board estimation and time tracking. With these actions added, we are targeting to automate the board configurations without going to UI.
Instructions
I: configure board column.
add a board column:
//add a column --action addBoardColumn --board "Myboard" --column "newColumn" //add another column with same name as existing one --action addBoardColumn --board "Myboard" --column "newColumn" --options createAnother //map status to new column when creating the column --action addBoardColumn --board "Myboard" --column "newColumn" --status "s1,s2" //for project associated with simplified workflow, status can be auto-created //use @default to auto-create status, when create status, you can choose category for new status, //use @default to choose system default category, otherwise, set desired status category --action addBoardColumn --board "Myboard" --column "newColumn" --status @default --statusCategory @default
update a board column, update name or status:
//status will be fully replaced with new status list --action updateBoardColumn --board "Myboard" --column "newColumn2" --status "s1,s2,s3"
remove a board column:
//remove by name or id --action removeBoardColumn --board "Myboard" --column "newColumn"
get details of the board columns:
//will ouput: board, board name, column id, column name, issue count, KanPlan, status --action getBoardColumnList --board "Myboard"
II. Configure board card layout and Days In Column feature
Up to 3 extra fields can be added to the board card. Card can also have “Days In Column” enabled or disabled. “Days In Column” is a dotted line shown how many days the card has stayed in the board. It is a visual indicator of the issue progress.
Update the column card:
//Kanban board setting card fields --action updateBoardCard --id "boardId" --field f1 --field f2 //Scrum board, two types of cards, backlog and sprint, set card to @default or sprint //to refer to active sprint card, set card to backlog to refer to backlog card //set card to @all to refer to both backlog and sprint cards --action updateBoardCard --id "boardId" --field f1 --field f2 --card @default --action updateBoardCard --id "boardId" --field f1 --field f2 --card sprint --action updateBoardCard --id "boardId" --field f1 --field f2 --card backlog --action updateBoardCard --id "boardId" --field f1 --field f2 --card @all //enable or disable Days In Column --action updateBoardCard --id "boardId" --options "enableDaysInColumn" --action updateBoardCard --id "boardId" --options "disableDaysInColumn"
III. Update Kanban subquery/subfilter
subfilter/subquery for kanban board only
//update subquery to "assignee is not empty" --action updateBoard --id "boardId" --subquery "assignee is not empty"
IV. Update Scrum board estimation statistic and time
Use estimation parameter to set the estimation statistic. Use tracking parameter to set the time tracking. There are only two values for tracking 1) None 2) Remaining Estimate and Time Spent
udpate estimation and tracking:
//Tracking = None means using estimation statistic to tracking --action updateBoard --id "boardId" --estimation "Story Points" --tracking None --action updateBoard --id "boardId" --tracking "Remaining Estimate and Time Spent"
V. Refer to below for template script
# # Template for board configuration # # board column -a addBoardColumn --column "Dev In Progress" -a updateBoardColumn --column @columnId@ --name "Development In Progress" --status "In Progress" -a getBoardColumnList # card -a updateBoardCard --field Assignee --field Creator --field "Business Value" -a updateBoardCard --options enableDaysInColumn #subquery -a updateBoard --subquery "Assignee is not empty" -a getBoardList --regex "@board@" --outputFormat 999 \ --columns "Id,Name,Type,Columns,Card Layout,Filter Subquery,Estimation,Time Tracking,Days In Column" # estimation and time tracking -a updateBoard --estimation "Issue Count" --tracking "Remaining Estimate and Time Spent" -a getBoardList --regex "@board@" --outputFormat 999 \ --columns "Id,Name,Type,Columns,Card Layout,Filter Subquery,Estimation,Time Tracking,Days In Column"