In 2017, Yelp had over 40 Jira administrators. Their environment had hundreds of orphaned workflows, screens, and schemes with very little oversight into who was doing what with their Jira Server instance.
Their team turned to Ansible to empower Yelp's engineers to create and archive projects, update categories, project leads, keys, and archive projects without having access to administrative rights and sensitive functions. Learn how they secured and simplified their environment, reduced turnaround time for Jira requests, and made their lives as admins much easier (and how you can, too!)
How AI, OpenAI, and ChatGPT impact business and software.
Jira & Ansible: Streamlining Jira Server Administration for the Enterprise
1. JOSE MARTIN DE VIDALES BIURRUN | APPLICATION ENGINEER | YELP | @JMA
Jira & Ansible
Streamlining Jira Server Administration for the Enterprise
TAYLOR BARRETT-WILSDON | APPLICATION ENGINEER | YELP | @TBARRETT
2. Let your imagination wander!
If there’s an API endpoint, Ansible can automate it.
YOU CAN DO ANYTHING
6. Who We Are
Jose & Taylor
Jose Martin de Vidales Biurrun
Taylor Barrett-Wilsdon
• First member of the Application Engineering team
• Building & scaling Yelp’s enterprise systems since 2015
• Joined Yelp in 2014
• Atlassian Certified Professional
• Jira Deployments, Upgrades, Migrations & More
jira-summit@yelp.com
7. Who We Are
Our Team
Corporate Engineering
Wide Scope
Corporate Engineering teams own networks, phone systems, client
platform management, cloud services, software development and more.
Application Engineering
Handles ownership of systems and application administration for
Atlassian suite.
Unique Directive
Because the primary owners of Jira are engineers and developers, we
look towards in-house solutions and utilize the API heavily.
9. Who We Are
Growth
Growth
• 2015: 130 Jira Projects &
500 Users
• At least 5 different teams
had some stake in Jira
• 2017: Application
Engineering takes over Jira
• 2019: 350+ projects & 1,800
Jira Users + 1,500 Service
Desk Agents
12. MEET JON
• Jira Administrator
• Based in Dublin
• Wants to remove a
custom field from his
project
13. MEET JON
• Deletes custom field
• Field is gone from project
• It’s night time in Dublin
14. MEET JON
• Field wasn’t removed
from screen, it was
completely deleted
• Lost thousands of values
from dozens of projects
15. MEET JON
• We don’t even realize it is
gone until automations
start failing
• Only way to recover field
is to restore our entire
instance from a backup
18. The Problem
Too many Cooks
We could not effectively train
or manage 40+ admins
Balancing the Load
Needed to balance user
requirements with our own
19. The Problem
Too many Cooks
We could not effectively train
or manage 40+ admins
Balancing the Load
Needed to balance user
requirements with our own
Automation
Could alleviate some of our
administrative burden!
21. Admin
Problems
High Admin Overhead
Too Many Admins
Lots of small, repetitive tasks coming in
Dominating our workload with simple asks
Admin rights had been granted to too many
users in an effort to spread the workload
22. Admin
Problems
High Admin Overhead
Too Many Admins
Users Not Happy
Lots of small, repetitive tasks coming in
Dominating our workload with simple asks
Admin rights had been granted to too many
users in an effort to spread the workload
Slow request turnaround times and inconsistent
experiences between admins
24. System
Problems
Project Structure Variance
Old Projects Lie Dormant
Admins would create projects to their tastes
and habits
Archival process was not well known or
documented so old projects piled up
25. System
Problems
Project Structure Variance
Old Projects Lie Dormant
Performance Issues
Admins would create projects to their tastes
and habits
Archival process was not well known or
documented so old projects piled up
Extremely high number of fields, screens,
workflows and more causing system load
27. Security
Problems
Lots of Exposure
Insufficient Logging
More admins means more potential risk of
compromise through credentials
We had little to inform us about potentially
dangerous actions occurring
28. Security
Problems
Lots of Exposure
Insufficient Logging
Results Not Intended
More admins means more potential risk of
compromise through credentials
We had little to inform us about potentially
dangerous actions occurring
Admins were accidentally deleting fields, issues,
even projects without the rest knowing
32. Automated Solutions
Jira API
The Project from Template
API endpoint was key
Removing Humans
Automated remaining admin
tasks via Ansible
33. Automated Solutions
Jira API
The Project from Template
API endpoint was key
Removing Humans
Automated remaining admin
tasks via Ansible
Scripted Maintenance
Created job to automatically
set project admins and leads
50. YAML FILE
Just need to add a
new tag ---
SUMMIT:
board_configuration: kanban
key: SUMMIT
lead: Julia
name: Summit Project
description: My super cool project
archive: True
56. Tools
• Configuration management
• Provisioning
• Deployment
• Service orchestration
A complex infrastructure isn’t needed
Easy to understand
Ansible
SIMPLE YAML FILES
AGENTLESS
POWERFUL & SIMPLE AUTOMATION ENGINE
57. Tools
We can easily identify changes:
• Who
• What
• When
• Where
Git is designed specifically to maintain the integrity of source code
Quickly and Safely revert changes if needed
Git
SEAMLESS ROLLBACKS
SECURITY
POWERFUL REVISION HISTORY
58. Tools
• Widely used continuous integration platform at Yelp
• Many other CI options work, too!
• Atlassian Bamboo Provides support for Ansible Deployment
Helps us validate the project configuration that our Yelp engineers push
to the repository
Jenkins
LEVERAGING PIPELINES
CI PLATFORM
59. Tools
We can leverage Jenkins pipelines by creating individual steps to validate
code, test it, and deploy it
There are a lot of already implemented tests to validate your code
Pre-commit
TONS OF PRE-BUILT HOOKS
VALIDATE YAML FILES
61. Projects Endpoint
Used to set project parameters and
retrieve existing project data
Project-templates Endpoint
Used to create perfectly
standardized projects
Jira’s REST API
72. Before
Users request a project by creating a
ticket, ready in 3-5 days and come to our
admins for any changes needed.
73. Before
Users request a project by creating a
ticket, ready in 3-5 days and come to our
admins for any changes needed.
After
Projects created instantly, user has
admin rights and documentation to
make their own changes in real time!