Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
Community Members
Community Events
Community Groups

How to setup Greenhopper 6 board filter - multiple boards in one project

This is my case: one project, multiple teams each with a board. Each team is taking one or more epics from the product backlog to their team's backlog to work on. Components field is in use to specify part of product that is affected - e.g. I can’t use it for Greenhopper stuff.


1. How do I assign an epic to a team/board?

2. What would be a board filer that takes team's epics, their related stories and their related sub-tasks?

3. I also have some bugs coming in from support that I’d like to assign to a team but they are not part of any epic.

Try 1-

Use the label "team1" to say an epic or defect is under team-1's board.

I then use a board filter that looks like this:

labels = 'team1' OR issue in (linkedIssuesFromQuery("labels = 'team1'"), subtaskIssuesFromQuery("issue in linkedIssuesFromQuery(\"labels = 'team1'\")"))"

For the extra functions I use the Craftforge JQL Functions Plugin. The problems I have are: (1) I get all sort of linked issues here that are not related to the epic (relates to, clones, duplicates). (2) It’s too complicated.

Try 2-

Using the native Greenhopper Epic-Link:

labels in (team1) OR issue in (VB-1897, VB-1893) OR "Epic Link" in (VB-1897, VB-1893) OR issue in subtaskIssuesFromQuery("labels=team1 OR \"Epic Link\" IN (VB-1897, VB-1893)") ORDER BY Rank ASC

The problem here: My SM/PO then needs to update the list of Epics for the team

Any suggestions?

6 answers

1 accepted

0 votes
Answer accepted

Updating on our final scheme: Each team is assigned with a label: 't.a_team', 't.b_team' etc. We then create a team board that is based on the label and all its sub-tasks. To asign an epic/issue to the team the project manager adds the team label. It still required that each bug/dev-request be marked with the lable, not just the Epic, but its not so bad. It also works well with team velocity staticstics.

Board filter looks like this:

(labels in ("t.A_Team") OR issue in subtaskIssuesFromQuery("labels in (\"t.A_Team\")")) AND updated > -90d ORDER BY Rank ASC

I'm still missing that span-all-issues-from-epic JQL function though.

My problem is that while I need filtering by team, I cannot have each team define sprints individually, which is what happens when you have multiple boards. Along the lines of assigning a team to each ticket, how about then creating groups for each team name and creating a JQL function like "ThisUsersGroupsList" and apply the filter "team in tmThisUsersGroupsList"? That would filter all issues and epics for the current user. A user could be part of more than one team. Sprint Management can be centralized... Anyone developed a jql function like this?

I'm not sure this is related to the topic.

Basically in Scrum we have a backlog per team to burn. You may have several teams burning a release with multiple Epics/Issue.

You can setup a filer on users using the function membersOf() e.g. assignee in membersOf(support)

You might be right. I guess my take on creating different boards for different teams is basically not to do it and, instead, figure out a way to offer different views of the same board to different teams. If you use different boards, team 1 can run 2-week sprints while team 2 will run 3 week sprints. Those sprints could be named completely differently and there won't be a way to track project progress appropriately as soon as you a going to share the work with 10+ teams. Your solution requires a literal argument that only works if you are filtering one team/one board.

Has this been resolved?

0 votes

I do not have the JQL extension you are using, but from the documentation, it looks like you can specify link type such as:

linkedIssuesFromQuery("labels = 'team1'", "Epic-Story Link")

"Epic-Story Link" is not a JIRA link type. Greenhopper is using the "Epic Link" which is not under issue linking..

John, but this means i have to add the label to any issue and subtask added. this is counter intuitive. we end up gettign this warning about the new issue not appearing in the board...

0 votes

as long as the label is being added to the epic itself, the "labels = 'team1'" should be all you need.

labels are not automatically inherited to issues and their sub-tasks. so every time i create an issue it alerts me that the issue is not on the board. also the subtasks created in the GH planning do not appear. This is why i've thought about using the subtaskIssuesFromQuery function.

Suggest an answer

Log in or Sign up to answer

Atlassian Community Events