Jakub Sykorad3s.mff.cuni.cz/teaching/advanced_develmonitor_tools/files/JIRA.pdfWhat is JIRA?...

42
Jakub Sykora

Transcript of Jakub Sykorad3s.mff.cuni.cz/teaching/advanced_develmonitor_tools/files/JIRA.pdfWhat is JIRA?...

JakubSykora

WhatisJIRA?

• softwaredevelopmenttool

• planningandtrackingtheprojectsprogressandsupportingtheteamcollaboration

• supportsbothAgile(Scrum&Kanban)andwaterfallmethodologies

WhatisJIRA?

• Initialrelease,2002• Mostpopularissuemanagementtool• Developer:Atlassian,Inc.• JIRA,Confluence,Bitbucket,HipChat

• Firstidea:bugtracker• Competitors:Bugzilla

WhatisJIRA?

• Webapplication• Pricing:numberofusers• CloudorSelf-hosted

• Threepackages:• JIRACore• JIRASoftware

• JIRASoftwareCloud• JIRASoftwareServer• JIRASoftwareDataCenter

• JIRAServiceDesk

Cloud

Server

Issues

• generictask,unitofwork:• projecttask• bug• changerequest• servicerequest

• fieldswithvalues

• modifiable

• different(default)issuetypesinJIRA

Projects

• issuesbelongstoprojects

• projecttemplates

• projectsforagilesoftwaredevelopmentmethodologies• Scrum• Kanban

• normalbusinessprojects

Scrum

• deadlines• iterations~sprints• onesprint=2-4weeks

• sprintplanningmeeting• stand-upsduringsprints• sprintreview

Scrumproject

• backlogwithepics• activesprints

• backlog->sprint

Storypoints

• measurementinsteadofhours• agileconcept

• 30mins=1pts• 1hour=2pts• 2hours=4pts• 4hours=8pts• day=16pts• 2days=32pts• 3days=48pts

Reports

Workflow(boardcolumns)

Kanban

• notargetdate• supportpriorities• noplanmode

Kanban

Examples:• Supporttickets• Example:SupportQueueproject• userscreatetickets• InProgress(someonefromsupportteamisassignee)• InReview(reporterisassignee)• Done(reporterclosestheticket)

Fields,Screens,Schemas

• Eachproject- differentissuetypes• sameissuetypein2projectscanhavedifferentfields

• Eachworkflowtransition• differentscreens(displayedfields)forissuetypeintransition

• (ToDo– Progress)etc...

Search

• quick/textsearch• basic/simplesearch• advancedsearch• JIRAQueryLanguage(JQL)

Issuenavigator

• primarysearchinterface• operationsonsearchresults• filters

Quicksearch

• my• r:<user>• <projectname>,<projectkey>• overdue• created:today(yesterday,-1w);sameupdated:,due:• <priority>• <issuetype>• v:• v:3.2*

Basicsearch

• simple-to-useinterface

JQL&advancedsearch

• basicsearchprovidesonlyinclusivelogic• similarsyntaxtoSQL

• basicquery:• field,operator,value• Status=Resolved

• linkedqueriesbyAND,OR

• usedinboards,APIs• mostofqueriescanbeconvertedintobasicsearch• learningpurposes

Bulkupdate

• Easywaytomodifyallsearchresults• usefulfortypos,modification• movingmultipleissuesfrombacklogtosprint

Workingwithsearchresults

• DetailView• ListView• Customizingthecolumnlayout• Canonlypicksomefieldsforexport

• ExportinExcel,Word,XML,JSON• RESTAPIJQL

UsingFilters

• abilitytosavesearchesastemplates

• filtersonagileboards• relevantproject,accesspermissions

• gadgetsondashboards

Bitbucketintegration

• ’SmartCommits’• JIRA‘createbranch’• Workflowtriggers• pullrequest->InReview

SmartCommits

• Basicsyntax• <ignoredtext> <ISSUE_KEY> <ignoredtext> #<COMMAND><optionalCOMMAND_ARGUMENTS>

• Comment• <ignoredtext>ISSUE_KEY <ignoredtext>#comment<comment_string>

AutomaticIssueTransitions

• codingismoreimportantthanJIRA• notimeforJIRAupdates ->lessstatisticsorresultsinJIRA

• example:addpulltriggerintransition

• workflowtriggers• ’Open’->‘InProgress’(branchcreated)• ’InProgress’->’InReview’(pullrequest)• ‘InReview’->‘Done’(merged)

Exporting,importingdatatoJIRAasissues• JIM=JIRAImportersPlugin• Easytouseimportwizards• CSV• Bugzilla• Mantis

Example:AddingnewIssuetype• ForTestAutomationproject,addnewtype:• TestSuite

• importIssuesfromCSV(addsetIssueTypelaterfromsearch)• linkSummaryfield• createCreated(date)andComponentfield• linkthosefieldswithexportedfields

Example:ImportissuesfromCSV

• Custom_field readabilityproblem• SmartwizardssupportscreatingmissingfieldsfromCSV• otherwisefieldsmustbedefinedalready

• teamcollaborationsoftware• issuescanbedisplayedinConfluencepages• issuescanbecreatedfromConfluencepages• reports,gadgetscanbeinsertedtoConfluencepage

Plugins

• Over1600plugins• ScriptRunner (mostuseful)• AutomationforJIRA• thosetwooverlap

Emails&notifications

• possibletocommunicatewithJIRAthroughemails• addingcomments,etc...

• notificationonissuestatuschanges

JIRASoftwareMobile

• Cloudonly• May2017

• JIRAdesktopinterface• otherpossibility

Administration&userpermissiongroups• globalgroupsxprojectroles• JIRAadministrationxprojectadministration• permissionschemes• workflowpermissions

Example:TransitionsinSupportQueue• fordifferentstepschangeassignee• letreportertodecidewhattodowithIssue• differentpermissionlevelsprovided:• SQAdministrator- Group• Developer- Role• ‘user’asreporter

Example:ScriptRunner plugin&transitions• Assignissuetolast‘Developer’assignee

Howtoremoveticketsfromboard- resolution

SQPermissionScheme

Example:Reportershouldmarkissueasresolvedif’DONE’

• Boardshouldbeclean• Issueiscommentedin‘DONE’->shouldbemarkedasresolved• CanbelateralsomarkedasresolvedbyScriptRunner

JIRA

• writteninJava• ...pluginsalso

• datastorage• relationaldatabase• MySQL,PostgreSQL,MicrosoftSQLServer,Oracle