TechTalk & Breakfast

Such Yumm! 😋

Github & JIRA Workflow Improvements

Problems with a simple JIRA project

  • manual ticket updates
  • extra / redundant work
  • user error, mistakes = misleading info

Automate everything you can

  • link the ticket with the actual work
  • update tickets status
  • link Github with JIRA DVCS connector 
  • use Smart Commit messages

Prerequisites

  • Smart Commit Syntax:
    • <ignored text> <ISSUE_KEY> <ignored text> #<COMMAND> <COMMAND_ARGUMENTS>
  • Example Smart Commmit:
    • git commit -m “doc: add README to the repo JIRA-123”

Smart Commits

git commit -m “feat: update header JIRA-123 #time 4h 30m”

Commands - #time

git commit -m “JIRA-123 #comment corrected background color”

Commands - #comment

git commit -m “feat: fetch user data JIRA-123 #review”

Commands - #transition

  • Development section inside JIRA ticket 
    • branches
    • commits
    • pull requests

Display development

information - 1.

  • JIRA Card badges
    • Commits
    • Under Review
    • Merged

Display development

information - 2.

Automated Workflow Transitions - Triggers

Automated Workflow Transitions - Examples

  • Open to In-Progress: triggered by Branch Created
  • In-Progress to Review: triggered by Open Pull Request
  • Review to In-Progress: PR rejected
  • Review to Done: PR merged

Use better commit messages

Use better commit messages - The Bad

  • git commit -m "API fix"
  • git commit -m "cleanup"
  • git commit -m "its late"
  • git commit -m "something"
  • git commit -m "asdasda"

Use better commit messages - Why?

  • increase communication and documentation
  • structured commit history
  • small effort
  • easy to create automations:
    • automated changelog
    • automaticly determine semantic version
  • Consistent, sensible commit messages are hard

    git commit -m "free form does not help too much"

Conventional Commits

type(optional-scope): subject

Examples:
fix: correct spelling of CHANGELOG
feat(localization): added polish language JIRA-123

Conventional Commits

The Structure

type(optional-scope): subject

Examples:
fix: correct spelling of CHANGELOG
feat(localization): added polish language JIRA-123

Conventional Commits

The Structure - Type

type(optional-scope): subject

Examples:
fix: correct spelling of CHANGELOG
feat(localization): added polish language JIRA-123

Conventional Commits

The Structure - Scope

type(optional-scope): subject

Examples:
fix: correct spelling of CHANGELOG
feat(localization): added polish language JIRA-123

Conventional Commits

The Structure - Subject

Consistency with Commit Lint

  • Lint commit messages with Pre-Commit hooks

  • CLI tools for easy commit messages

    • git-cz

    • gitmoji


🤗 Thank You! 🤗

Made with Slides.com