This tutorial will show you how to write a simple Plugin for Atlassian JIRA® Server. The tutorial will focus on JIRA® 7.0 and will guide you step by step. Note that we are developing a JIRA Plugin for Hosted JIRA instances only. If you are interessted in developing Plugins for JIRA Cloud you might want to check out Atlassian JIRA® Cloud.

Intended Audience - This tutorial implies that you already have knowledge about JavaEE software development with Apache Maven at best with JetBrains IntelliJ IDEA. You will need no prior knowledge about JIRA development. But you should at least know what JIRA is and that it has a Plugin system to install external plugins.

Which Problem should the plugin solve?

You probably use Atlassian JIRA already to master your agile projects with Scrum and Kanban.

But one thing is running out of hand in every office. The kitchen duty often lacks control and planning.

Why is the dish-washer full of dirty dishes but not turned on? Why are there no clean dishes?

These are the things we want to solve with our JIRA Plugin.

Desired Features as User Stories

Since we know the problem now combinded with beeing master developers we came up pretty fast with some kick-ass mockups. That led us to the following user stories with acceptance criteria.

Kitchen Duty Planning Page

User Story

As office-boss I want to assign people for kitchen duty on a weekly basis to improve the kitchens tidiness.

Acceptance Criteria

  • Setting one or more JIRA users for selected week's kitchen duty.
  • The page is only accessible for JIRA administrators.

Kitchen Duty Overview Page

User Story

As office-knave I want to see who is scheduled for this weeks kitchen duty to improve obedience.

Acceptance Criteria

  • Display of JIRA users who have kitchen duty this week.
  • Show whole month in a calendar which is clickable to see future months.
  • The page should be accessible for all authenticated users.
  • The page should have a navigation entry in the top navigation.
  • (Stretch Goal: Add Button "when do I have kitchen duty" to jump to the month and week in the calender when the logged in JIRA user is scheduled for kitchen duty).