SlideShare a Scribd company logo
1 of 17
hebinbin.herokuapp.com
Agile development
1. Using Git as software version
management tool
2. Using JIRA On Demand as our project
management tool
3. Ticket Driven Process. Before you begin
to program, create ticket.
4. No Ticket, No Commit
5. Using Pull Request to do code review.
When you get a ticket with ticket number
like WEB-1234, normally it belongs to one
of the following two types: feature or
bugfix.
Since, we use pull request, before write
down code, we need to checkout a new
branch.
We decided our branch name should be
type-ticketnumber-destinationbranch
ex:
feature-WEB-1234-1.1
bugfix-WEB-2345-2.1
Example:
we need to add a new feature to 1.1
branch and our ticket number is BB-1234
(1) git checkout –b feature-BB-1234-1.1
origin/1.1
(2) git push –u origin feature-BB-1234-1.1
(3) Go to JIRA, change status from Open
to In Progress.
(4) Begin to commit the code
git add modified_file
git commit -m “BB-1234: message”
At here, we should put ticket number in
commit message. The merit is that in the future,
if we go back to see commit history, it is easily
to understand why we changed this code.
(5) git push
(6) Go to stash/github/bitbucket to open a
pull request, ask some guys to review your
code.
(7) Go to JIRA to log your worked time.
(8) Begin to solve other ticket when waiting
for code review result.
(9) Once you get feedback,
you should repeat step (4) to step (8)
until you get permission to merge the code.
(10) Delete local and remote feature branch.
(10) Deploy the code to dev/qa server, Go to JIRA to
change status from In Progress to Ready for Verify
(11) Assign ticket to reporter to ask him/her to confirm.
(12) When everything goes well, reporter will
close the ticket. Otherwise, reporter will
reopen the ticket and you should repeat step
(1) to step(11) again.
1. Easily forget to log work time.
2. Easily forget to change status.
3. Easily forget to put ticket number in
commit message.
4. Easily forget to push branch to remote
server.
Using git hooks and JIRA rest API
post-checkout hook:
1. Automatically change JIRA ticket status
from Open to In progress
2. Automatically push local branch to
remote server
Prepare-commit-msg hook:
1. Automatically get ticket number from
branch name, and put it into commit
message.
Add worked time in commit message.
Commit-msg hook:
1. Check commit message has ticket
number or not
2. Check commit message has right worked
time or not
Post-commit hook:
1. Automatically update worked time in
JIRA.
2. Automatically add branch name and
commit message as comment.
https://github.com/hebinbin/git-hooks-jira
Let us make a world better.

More Related Content

What's hot

Agile User Stories
Agile User StoriesAgile User Stories
Agile User Stories
kahgeh75
 
Introduction to jira
Introduction to jiraIntroduction to jira
Introduction to jira
Xpand IT
 

What's hot (20)

Breaking down agile requirements in Agile Methodology
Breaking down agile requirements in Agile MethodologyBreaking down agile requirements in Agile Methodology
Breaking down agile requirements in Agile Methodology
 
JIRA
JIRAJIRA
JIRA
 
Agile User Stories
Agile User StoriesAgile User Stories
Agile User Stories
 
JIRA Introduction | JIRA Tutorial | Atlassian JIRA Training | H2kinfosys
JIRA Introduction | JIRA Tutorial | Atlassian JIRA Training | H2kinfosysJIRA Introduction | JIRA Tutorial | Atlassian JIRA Training | H2kinfosys
JIRA Introduction | JIRA Tutorial | Atlassian JIRA Training | H2kinfosys
 
Introduction to JIRA
Introduction to JIRAIntroduction to JIRA
Introduction to JIRA
 
Jira Training
Jira TrainingJira Training
Jira Training
 
Jira training
Jira trainingJira training
Jira training
 
Build CICD Pipeline for Container Presentation Slides
Build CICD Pipeline for Container Presentation SlidesBuild CICD Pipeline for Container Presentation Slides
Build CICD Pipeline for Container Presentation Slides
 
Using JIRA Software for Issue Tracking
Using JIRA Software for Issue TrackingUsing JIRA Software for Issue Tracking
Using JIRA Software for Issue Tracking
 
Agile Lifecycle for Enterprise IT Programs
Agile Lifecycle for Enterprise IT ProgramsAgile Lifecycle for Enterprise IT Programs
Agile Lifecycle for Enterprise IT Programs
 
What is Git | What is GitHub | Git Tutorial | GitHub Tutorial | Devops Tutori...
What is Git | What is GitHub | Git Tutorial | GitHub Tutorial | Devops Tutori...What is Git | What is GitHub | Git Tutorial | GitHub Tutorial | Devops Tutori...
What is Git | What is GitHub | Git Tutorial | GitHub Tutorial | Devops Tutori...
 
The Beginner’s Guide To Spring Cloud
The Beginner’s Guide To Spring CloudThe Beginner’s Guide To Spring Cloud
The Beginner’s Guide To Spring Cloud
 
Git branching strategies
Git branching strategiesGit branching strategies
Git branching strategies
 
Continuous integration using Jenkins and Sonar
Continuous integration using Jenkins and SonarContinuous integration using Jenkins and Sonar
Continuous integration using Jenkins and Sonar
 
Introduction to jira
Introduction to jiraIntroduction to jira
Introduction to jira
 
Pragmatic RESTful API Design: Apigee Webinar
Pragmatic RESTful API Design: Apigee WebinarPragmatic RESTful API Design: Apigee Webinar
Pragmatic RESTful API Design: Apigee Webinar
 
Effective user stories for your agile or Scrum team
Effective user stories for your agile or Scrum teamEffective user stories for your agile or Scrum team
Effective user stories for your agile or Scrum team
 
Introduction to JIRA & Agile Project Management
Introduction to JIRA & Agile Project ManagementIntroduction to JIRA & Agile Project Management
Introduction to JIRA & Agile Project Management
 
Portfolio for JIRA & Kanban: How Thrillist Manages Their Product Roadmap
Portfolio for JIRA & Kanban: How Thrillist Manages Their Product RoadmapPortfolio for JIRA & Kanban: How Thrillist Manages Their Product Roadmap
Portfolio for JIRA & Kanban: How Thrillist Manages Their Product Roadmap
 
User Stories Fundamentals
User Stories FundamentalsUser Stories Fundamentals
User Stories Fundamentals
 

Similar to Git and jira

ppt_project_group_2.ppt amnd project report
ppt_project_group_2.ppt amnd project reportppt_project_group_2.ppt amnd project report
ppt_project_group_2.ppt amnd project report
sobanmoriwala1
 
25.3.11 packet tracer logging from multiple sources
25.3.11 packet tracer   logging from multiple sources25.3.11 packet tracer   logging from multiple sources
25.3.11 packet tracer logging from multiple sources
Freddy Buenaño
 
Sujith ~ cross applications
Sujith ~ cross applicationsSujith ~ cross applications
Sujith ~ cross applications
Kranthi Kumar
 

Similar to Git and jira (20)

GITFlow definition for all software projects
GITFlow definition for all software projectsGITFlow definition for all software projects
GITFlow definition for all software projects
 
ez-clang C++ REPL for bare-metal embedded devices
ez-clang C++ REPL for bare-metal embedded devicesez-clang C++ REPL for bare-metal embedded devices
ez-clang C++ REPL for bare-metal embedded devices
 
Cis 115 Education Redefined-snaptutorial.com
Cis 115 Education Redefined-snaptutorial.comCis 115 Education Redefined-snaptutorial.com
Cis 115 Education Redefined-snaptutorial.com
 
Java Decompiler
Java DecompilerJava Decompiler
Java Decompiler
 
Probo.ci Drupal 4 Gov Devops 1/2 day Presentation
Probo.ci Drupal 4 Gov Devops 1/2 day Presentation Probo.ci Drupal 4 Gov Devops 1/2 day Presentation
Probo.ci Drupal 4 Gov Devops 1/2 day Presentation
 
OpenCart Payeezy First Data GGe4 Module
OpenCart Payeezy First Data GGe4 ModuleOpenCart Payeezy First Data GGe4 Module
OpenCart Payeezy First Data GGe4 Module
 
Cpu224 xp eth-ethernet_interface
Cpu224 xp eth-ethernet_interfaceCpu224 xp eth-ethernet_interface
Cpu224 xp eth-ethernet_interface
 
IoT based Auto Manufacturing Body to Chassis Marriage
IoT based Auto Manufacturing Body to Chassis MarriageIoT based Auto Manufacturing Body to Chassis Marriage
IoT based Auto Manufacturing Body to Chassis Marriage
 
[Advantech] WebOP designer Tutorial step by step
[Advantech] WebOP designer Tutorial step by step [Advantech] WebOP designer Tutorial step by step
[Advantech] WebOP designer Tutorial step by step
 
DCVCS using GIT
DCVCS using GITDCVCS using GIT
DCVCS using GIT
 
Survey_Paper
Survey_PaperSurvey_Paper
Survey_Paper
 
TADS Developer Summit Apidaze Philippe Sultan
TADS Developer Summit Apidaze Philippe SultanTADS Developer Summit Apidaze Philippe Sultan
TADS Developer Summit Apidaze Philippe Sultan
 
ppt_project_group_2.ppt amnd project report
ppt_project_group_2.ppt amnd project reportppt_project_group_2.ppt amnd project report
ppt_project_group_2.ppt amnd project report
 
25.3.11 packet tracer logging from multiple sources
25.3.11 packet tracer   logging from multiple sources25.3.11 packet tracer   logging from multiple sources
25.3.11 packet tracer logging from multiple sources
 
IoT Project Analysis Report of Year 1 - Project Semester 2.
IoT Project Analysis Report of Year 1 - Project Semester 2.IoT Project Analysis Report of Year 1 - Project Semester 2.
IoT Project Analysis Report of Year 1 - Project Semester 2.
 
ESL report
ESL reportESL report
ESL report
 
How to build a feedback loop in software
How to build a feedback loop in softwareHow to build a feedback loop in software
How to build a feedback loop in software
 
What's New In Blockchain For Business Technology (October 2019)
What's New In Blockchain For Business Technology (October 2019)What's New In Blockchain For Business Technology (October 2019)
What's New In Blockchain For Business Technology (October 2019)
 
Product Backlog
Product BacklogProduct Backlog
Product Backlog
 
Sujith ~ cross applications
Sujith ~ cross applicationsSujith ~ cross applications
Sujith ~ cross applications
 

Recently uploaded

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Recently uploaded (20)

The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 

Git and jira

  • 2. Agile development 1. Using Git as software version management tool 2. Using JIRA On Demand as our project management tool 3. Ticket Driven Process. Before you begin to program, create ticket. 4. No Ticket, No Commit 5. Using Pull Request to do code review.
  • 3. When you get a ticket with ticket number like WEB-1234, normally it belongs to one of the following two types: feature or bugfix. Since, we use pull request, before write down code, we need to checkout a new branch.
  • 4. We decided our branch name should be type-ticketnumber-destinationbranch ex: feature-WEB-1234-1.1 bugfix-WEB-2345-2.1
  • 5. Example: we need to add a new feature to 1.1 branch and our ticket number is BB-1234 (1) git checkout –b feature-BB-1234-1.1 origin/1.1 (2) git push –u origin feature-BB-1234-1.1 (3) Go to JIRA, change status from Open to In Progress.
  • 6. (4) Begin to commit the code git add modified_file git commit -m “BB-1234: message” At here, we should put ticket number in commit message. The merit is that in the future, if we go back to see commit history, it is easily to understand why we changed this code.
  • 7. (5) git push (6) Go to stash/github/bitbucket to open a pull request, ask some guys to review your code. (7) Go to JIRA to log your worked time. (8) Begin to solve other ticket when waiting for code review result.
  • 8. (9) Once you get feedback, you should repeat step (4) to step (8) until you get permission to merge the code. (10) Delete local and remote feature branch. (10) Deploy the code to dev/qa server, Go to JIRA to change status from In Progress to Ready for Verify (11) Assign ticket to reporter to ask him/her to confirm.
  • 9. (12) When everything goes well, reporter will close the ticket. Otherwise, reporter will reopen the ticket and you should repeat step (1) to step(11) again.
  • 10. 1. Easily forget to log work time. 2. Easily forget to change status. 3. Easily forget to put ticket number in commit message. 4. Easily forget to push branch to remote server.
  • 11. Using git hooks and JIRA rest API post-checkout hook: 1. Automatically change JIRA ticket status from Open to In progress 2. Automatically push local branch to remote server
  • 12. Prepare-commit-msg hook: 1. Automatically get ticket number from branch name, and put it into commit message.
  • 13. Add worked time in commit message.
  • 14. Commit-msg hook: 1. Check commit message has ticket number or not 2. Check commit message has right worked time or not
  • 15. Post-commit hook: 1. Automatically update worked time in JIRA. 2. Automatically add branch name and commit message as comment.
  • 17. Let us make a world better.