Skip to content

landamessenger/git-board-flow

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Git Board Flow: Automated Branch and Project Management GitHub Action

Git Board Flow is a powerful GitHub Action designed to streamline issue, branch, and project management while adhering to the Git-Flow methodology. This action simplifies your workflow by automating the creation and management of branches, linking them to issues, and ensuring smooth integration with GitHub Projects.


Key Features

1. Automatic Branch Creation

  • Detects when an issue is created or updated.
  • Analyzes issue labels (or configuration defined in your workflow) to determine the necessary branches:
  • Feature, Bugfix, Hotfix, Release, etc., following Git-Flow standards.
  • Automatically creates branches and links them to the issue.
  • Adds a summary comment to the issue describing the actions taken.

2. Commit Monitoring

  • Detects commits in branches linked to an issue.
  • Posts updates in the issue with a summary of the commits, including:
  • Commit messages.
  • Branch names.
  • Links to the commit history.

3. Pull Request Linking

  • Detects new PRs from branches linked to an issue.
  • Automatically links the PR to the corresponding issue.
  • Posts a comment in the PR summarizing its linkage and actions.

4. GitHub Project Integration

  • Seamlessly links issues and PRs to the specified GitHub Projects.
  • Ensures that all relevant entities are included in the right projects automatically.

5. Efficiency

  • Runs on Ubuntu and completes tasks in under 20 seconds, making it cost-effective and efficient for any repository.

Use Cases

  • Team Collaboration: Keep issues, branches, and PRs connected effortlessly for better visibility.
  • Automated Workflows: Reduce manual overhead with automated branch management and notifications.
  • Git-Flow Compliance: Maintain Git-Flow structure without additional effort.

Issues Management

name: Git Board Flow - Issue

on:
  issues:
    types: [opened, edited, labeled, unlabeled]

concurrency:
  group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
  cancel-in-progress: true

jobs:
  git-board-flow-issues:
    name: Git Board Flow - Issues
    runs-on: ubuntu-latest

    steps:
      - name: Checkout Repository
        uses: actions/checkout@v4

      - name: Git Board Flow - Issues
        uses: landamessenger/git-board-flow@master
        with:
          action: issue
          project-urls: https://github.com/orgs/landamessenger/projects/2, https://github.com/orgs/landamessenger/projects/3
          commit-prefix-builder: |
            branchName.replace("/", "-");
          github-token: ${{ secrets.GITHUB_TOKEN }}
          github-token-personal: ${{ secrets.REPO_PAT }}

Pull Request Management

name: Git Board Flow - Pull Requests

on:
  pull_request:
    types: [opened, edited, labeled, unlabeled]

concurrency:
  group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
  cancel-in-progress: true

jobs:
  git-board-flow-pull-requests:
    name: Git Board Flow - Pull Requests
    runs-on: ubuntu-latest

    steps:
      - name: Checkout Repository
        uses: actions/checkout@v4

      - name: Git Board Flow - Pull Requests
        uses: landamessenger/git-board-flow@master
        with:
          action: pull-request
          project-urls: https://github.com/orgs/landamessenger/projects/2, https://github.com/orgs/landamessenger/projects/3
          commit-prefix-builder: |
            branchName.replace("/", "-");
          github-token: ${{ secrets.GITHUB_TOKEN }}
          github-token-personal: ${{ secrets.REPO_PAT }}

Commits Check

name: Git Board Flow - Commits

on:
  push:
    branches:
      - '**'

jobs:
  git-board-flow-commits:
    name: Git Board Flow - Commits
    runs-on: ubuntu-latest

    steps:
      - name: Checkout Repository
        uses: actions/checkout@v4

      - name: Git Board Flow - Commits
        uses: landamessenger/git-board-flow@master
        with:
          action: commit
          github-token: ${{ secrets.GITHUB_TOKEN }}
          github-token-personal: ${{ secrets.REPO_PAT }}
          commit-prefix-builder: |
            branchName.replace("/", "-");
  • Warning received if the prefix of the commit does not match the one defined from commit-prefix-builder.


Why Git Board Flow?

  • Consistent Git-Flow Management: Adheres strictly to Git-Flow methodology for clear branching strategies.
  • Project Visibility: Ensures all relevant branches, issues, and PRs are properly tracked and communicated.
  • Time-Saving: Automates repetitive tasks, freeing up time for development and review.
  • Affordable: Fast execution keeps costs low, even in large repositories.

Get started with Git Board Flow and simplify your GitHub project workflows today! 🚀