Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

How create a list of all Sprint Goals across all Active Sprints

Doug Levitt
Contributor
November 19, 2021

Hi,

I am looking to figure out how to capture a list of all Sprint Goals across all Active Sprints.

 

1. I know I can create a Scheduled Automation to identify all items in a Sprint:

type in standardIssueTypes() and Sprint in openSprints()

2. I know, for each issue, I can identify the name and goal of the active sprint***

sprintName = {{#issue.customfield_10006}} {{#if(equals (state, "active")) }} {{name}} {{/}} {{/}}

sprintGoal = {{#issue.customfield_10006}} {{#if(equals (state, "active")) }} {{goal}} {{/}} {{/}}

Note:  customfield_10006 is mapped to "Sprint"

3. I know how to send the results of this information to, say, Slack

4. But I have no idea how to "cull" through the list, to eliminate duplicates.  Is this possible in Automation?

As a note, my goal is to somehow display this in a Jira Dashboard or a Confluence Page.  My strategy is to create a Custom Field (called Aggregated Sprint Goal) and associate it with a "special" Jira project (called Administrivia) which contains a single ticket (e.g. AMD-001).  When the Automation is completed, it will update the field in that ticket with this value.  It's a bit far fetched, but I wanted to give it a try. 

 

*** A debt of gratitude to @Bill Sheboy for teaching me how to to the above!

 

Doug

3 answers

1 vote
Fabian Lim
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
November 19, 2021

Hi @Doug Levitt

The other option is to purchase the eazybi plugin and copy and paste the following: https://community.eazybi.com/t/sprint-goals-for-current-sprints/7037

Cheers

Doug Levitt
Contributor
November 22, 2021

Hi @Fabian Lim - I assume EazyBI stores company-private Jira data offsite (i.e. outside the Atlassian Cloud)?  Correct?  What types of safeguards are built in, to ensure that data is safe?  Is it encrypted?  Generally, I am wary of any 3rd party plug-ins, as I must perform due-diligence to ensure that they are a going concern (not only for protection of our data, but also that they will be around long enough, so we can wrap business process around our assumption that they are a going concern). 

Fabian Lim
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
November 22, 2021

@Zane eazyBI Support would be able to provide you with details on data privacy.

Roberts Čāčus
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
November 22, 2021

Hi @Doug Levitt 

Yes, eazyBI for Jira Cloud stores imported data outside Atlassian Cloud. You can find out more about the eazyBI Cloud security statement here - https://docs.eazybi.com/eazybi/set-up-and-administer/atlassian-cloud/eazybi-for-jira-cloud-security-statement.

And the data protection statement - https://eazybi.com/pages/data-protection-statement.

 

Thank you @Fabian Lim  for suggesting eazyBI!

 

Let me know if you have any other questions.

Best,

Roberts // support@eazybi.com

Doug Levitt
Contributor
November 23, 2021

Thanks @Fabian Lim and Roberts C thanks for the additional information. 

Doug

0 votes
Charlie Gavey
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
November 22, 2021

Hi @Doug Levitt

I've linked your feedback to this feature request for the ability to search / deduplicate a smart value list, which counts as an upvote for this feature.

https://codebarrel.atlassian.net/browse/AUT-2326

Cheers,
Charlie

Doug Levitt
Contributor
November 22, 2021

Thanks @Charlie Gavey .  I would be more than happy to meet with the automation team, to review our specific use cases (as I suspect there is a gap in terms of how the PMs are thinking that people may be trying to use this feature @ scale).  Jira is a great tool for single-team Scrum.  But it starts to become unmanageable at scale.  It's too bad, as I have been using this for > 17 years.

Mykenna Cepek
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
November 23, 2021

I'd love to pile-on with @Doug Levitt in providing use-case based frustrations with Jira Automation. I think we've been using Jira for about the same amount of time!

Doug Levitt
Contributor
November 23, 2021
Charlie Gavey
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
December 12, 2021

Hi Doug,

Thanks so much, we'd love to chat to hear a little more about your use cases. Did you want to find a time that suits here? https://calendly.com/cgavey/automation-feedback

Cheers,

Charlie

Doug Levitt
Contributor
December 13, 2021

@Charlie Gavey - Scheduled.  Looking forward to the discussion.

Like Charlie Gavey likes this
0 votes
Mykenna Cepek
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
November 20, 2021

I'm not sure your item 4, to eliminate duplicate values in a list, is possible within (only) standard Jira Cloud Automation today. As noted, Jira apps might provide alternatives.

As much as I wish for more programming language-like functionality in Automation, it's just not a fully functional programming language. It's great for many, many other types of straightforward Jira activities.

Perusing the available capabilities for using smart variable lists, we can see that there is no searching available today. With that, it might have been possible to de-dup a list of values.

The closest operation is the get() function, which seems like it might at least allow you to scan thru an existing list and see if a given value is already in that list. Unfortunately, a de-dup algorithm requires nested looping, and Jira Automation doesn't currently support that.

_ _ _ _ _ _ _

I did brainstorm one unusual approach to try to solve your use case. Consider: a custom field of type "Labels". If issues in your Administrivia project (great name) had access to this custom field, then the "Edit Issue" action on that field, with the "Add/remove values" operation, could aggregate just unique values. My theory was that the field could naturally de-dup values for you.

A quick test was encouraging. I fired a manually-invoked rule on an issue which already had the value "Backend" in the Labels field. The rule simply added "Backend" to the Labels field of that issue again. The result? "Backend" was listed just once in the Labels field, as expected. So this type of field could theoretically aggregate and de-dup simple values.

Unfortunately, label values cannot contain spaces, as verified when I tried that:

Screen Shot 2021-11-20 at 11.18.59 AM.png

For your use-case, that means that Sprint Goals couldn't contain space characters. So even this slightly hacked approach won't work for you.

I couldn't see a way to replace space characters with underscores either. Sigh.

_ _ _ _ _ _ _

Maybe others can leverage some of this half-baked brainstorming into a workable solution?

I'd also be thrilled if someone could point out a way Jira Cloud Automation can do this natively. I'm not seeing it, but there are other pretty smart people in this community!

Doug Levitt
Contributor
November 22, 2021

Thanks @Mykenna Cepek for the suggestions.  I have figured out a "hack" to implement this, by hardcoding the names of each of our 30+ Squads in the Automations.  However, this obviously doesn't scale.  As we have grown our agile implementation, I have painfully learned how fragile Atlassian's implementation is.  It works really well for single-team Scrum (when Automation is used).  It works reasonably well for 5-team Scrum (when Automation is used).  But, when you get too large (> 10 team Scrum), the Atlassian toolset is just lacking.  Sure, I can hardcode everything.  But it is unmaintainable. :(

Michael Whitson
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
March 1, 2022

Doug, are you willing to share your hack? I’m looking for a solution here, even one that’s hard coded and not scalable beats the current feature gap. Thank you! 

Doug Levitt
Contributor
March 1, 2022

@Michael Whitson

I created a new project with 2 Issue Types:

The Sprint Type has the following attributes:

- Team Name, Sprint Number, Sprint Start Date, Sprint End Date, Sprint Status, Sprint Goal

- Counters (Sprint Start Count of PBIs, Sprint Start Sum of Story Points, Sprint End Count of PBIs, Sprint End Sum of Story Points, Sprint End Avg Cycle Time, Sprint End Process Efficiency, Sprint Backlog Count of PBIs, Sprint Backlog Count of Ready PBIs, Sprint Backlog Sum of Story Points, Sprint Backlog Sum of Ready Story Points)

The Team Type has the following attributes:

- Team Name

- Counters (Avg Cycle Time, Avg Process Efficiency, Avg Velocity, Avg Planned to Done, Backlog Compliance)

I then configured WebHooks for each Sprint Event - Sprint Created, Sprint Updated, Sprint Started, Sprint Completed, Sprint Deleted

I then configured Automations to "listen" for each WebHook and aggregate data for each Sprint.

I then configured nightly Automations which scan through Future Sprints, and look at all the tickets (pinned to a Future Sprint), so I could gather statistics.

I finally configured nightly Automations, which aggregate the data for each Team.

I then can create -- across all Teams -- dashboards depicting:

- Active Sprint (with Sprint Goals and metric counts for each Team participating in our sync Sprints)

- Future Sprints (with Sprint Goals and metric counts for each Team participating in our upcoming Sprints)

- Completed Sprints (with metric counts - velocity, cycle time, planned-to-done)

I then can create - for each Team - dashboards depicting:

- Average Cycle Time, Avg Process Efficiency, Avg Planned to Done, Avg Velocity, Backlog Compliance (I want Teams to have ~ 2-3 Sprints worth of Sprint Ready Stories in their backlog, based upon Average Velocity)

When I started, I just wanted to capture the Sprint Goals.  But I quickly realized that I could do a lot more by capturing the data associated with Sprints.

It took a while to setup. It's been running now for 2 months and provides fantastic visibility.

Final Note - I used this article to calculate Process Efficiency - https://www.linkedin.com/pulse/process-efficiency-what-why-important-how-we-use-genesis-sam-fowler

Doug

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events