Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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.

  1. add a board column:

    Code Block
    //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
  2. update a board column, update name or status:

    Code Block
    //status will be fully replaced with new status list
    --action updateBoardColumn --board "Myboard" --column "newColumn2" --status "s1,s2,s3"
  3. remove a board column:

    Code Block
    //remove by name or id
    --action removeBoardColumn --board "Myboard" --column "newColumn"
  4. get details of the board columns:

    Code Block
    //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.

  1. Update the column card:

    Code Block
    //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

  1. subfilter/subquery for kanban board only

    Code Block
    //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

  1. udpate estimation and tracking:

    Code Block
    //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

Code Block
#
# 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"