All Projects β†’ alex-page β†’ Github Project Automation Plus

alex-page / Github Project Automation Plus

Licence: mit
πŸ€– Automate GitHub Project cards with any webhook event

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Github Project Automation Plus

Backport
A simple CLI tool that automates the process of backporting commits on a GitHub repo
Stars: ✭ 154 (+14.93%)
Mutual labels:  automation, pull-requests
assign-author
GitHub Actions to assign author to issue or PR
Stars: ✭ 55 (-58.96%)
Mutual labels:  issues, pull-requests
Mergify Engine
Engine for Mergify
Stars: ✭ 189 (+41.04%)
Mutual labels:  automation, pull-requests
Lock Threads
GitHub Action that locks closed issues and pull requests after a period of inactivity
Stars: ✭ 156 (+16.42%)
Mutual labels:  pull-requests, issues
Contribute A Thon
Month-long Open Source contributing event ✨
Stars: ✭ 26 (-80.6%)
Mutual labels:  pull-requests, issues
Pr Size Labeler
🏷 Visualize and optionally limit the size of your Pull Requests
Stars: ✭ 140 (+4.48%)
Mutual labels:  automation, pull-requests
aloba
πŸ€– [Myrmica Aloba 🐜] Bot: Add labels and milestone on pull requests and issues.
Stars: ✭ 18 (-86.57%)
Mutual labels:  issues, pull-requests
Github Issue Templates
πŸ”£ A collection of GitHub issue and pull request templates
Stars: ✭ 3,074 (+2194.03%)
Mutual labels:  pull-requests, issues
Github Bot
GitHub θ‡ͺεŠ¨ε€„η† issue、PR、releases ζœΊε™¨δΊΊ
Stars: ✭ 434 (+223.88%)
Mutual labels:  pull-requests, issues
Contributors On Github
🌡 Show stats about contributors on github
Stars: ✭ 391 (+191.79%)
Mutual labels:  pull-requests, issues
release-changelog-builder-action
A GitHub action that builds your release notes / changelog fast, easy and exactly the way you want.
Stars: ✭ 515 (+284.33%)
Mutual labels:  issues, pull-requests
Repo Lockdown
GitHub Action that immediately closes and locks issues and pull requests
Stars: ✭ 56 (-58.21%)
Mutual labels:  pull-requests, issues
backup-github-repo
Backup all the issues and pull requests of a Github repo, including the comments, events, and labels, as JSON and as HTML
Stars: ✭ 31 (-76.87%)
Mutual labels:  issues, pull-requests
Gha Mjolnir
πŸ”¨ GitHub Action to close issues related to the merge of a pull request.
Stars: ✭ 28 (-79.1%)
Mutual labels:  pull-requests, issues
Export Pull Requests
Export pull requests and/or issues to a CSV file. Supports GitHub, GitLab, and Bitbucket
Stars: ✭ 68 (-49.25%)
Mutual labels:  pull-requests, issues
Awesome Python Scripts
A curated collection of some 😍 cool Python scripts.
Stars: ✭ 128 (-4.48%)
Mutual labels:  automation
Git Clone Init
Automatic setup of user identity (user.email / user.name) on git clone
Stars: ✭ 130 (-2.99%)
Mutual labels:  automation
Pfsense Api
The missing REST API package for pfSense
Stars: ✭ 126 (-5.97%)
Mutual labels:  automation
Bhban rpa
6κ°œμ›” 치 업무λ₯Ό ν•˜λ£¨ λ§Œμ— λλ‚΄λŠ” 업무 μžλ™ν™”(생λŠ₯μΆœνŒμ‚¬, 2020)의 예제 μ½”λ“œμž…λ‹ˆλ‹€. νŒŒμ΄μ¬μ„ ν•œ λ²ˆλ„ λ°°μ›Œλ³Έ 적 μ—†λŠ” 뢄듀을 μœ„ν•œ 예제이며, μ—‘μ…€λΆ€ν„° λ””μžμΈ, 맀크둜, ν¬λ‘€λ§κΉŒμ§€ 업무 μžλ™ν™”μ™€ κ΄€λ ¨λœ λ‹€μ–‘ν•œ λΆ„μ•Ό μ˜ˆμ œκ°€ μ œκ³΅λ©λ‹ˆλ‹€.
Stars: ✭ 124 (-7.46%)
Mutual labels:  automation
St2 Docker
StackStorm docker-compose deployment
Stars: ✭ 133 (-0.75%)
Mutual labels:  automation

GitHub Project Automation+

πŸ€– Automate GitHub Project cards with any webhook event

This action allows you to use any of the pull_request and issue webhook events to automate your project cards. For example when an issue is opened create a card in the Backlog project, Triage column.

If the pull_request or issue card already exists it will be moved to the column provided. Otherwise the card will be created in the column.

Usage

Create a project with columns in your repository, user profile or organisation.

Create a new workflow .yml file in the .github/workflows/ directory. In the .ymlfile you have to decide what webhook events going move or create a card in a column. For more detailed explanation of the workflow file, check out the GitHub documentation. See the examples below to get started quickly.

.github/workflows/opened-issues-triage.yml

Move opened issues into the Triage column of the Backlog project

name: Move new issues into Triage

on:
  issues:
    types: [opened]

jobs:
  automate-project-columns:
    runs-on: ubuntu-latest
    steps:
      - uses: alex-page/[email protected]
        with:
          project: Backlog
          column: Triage
          repo-token: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/assigned-pulls-todo.yml

Add assigned pull requests into the To Do column of the Backlog project

name: Move assigned pull requests into To do

on:
  pull_request:
    types: [assigned]

jobs:
  automate-project-columns:
    runs-on: ubuntu-latest
    steps:
      - uses: alex-page/[email protected]
        with:
          project: Backlog
          column: To do
          repo-token: ${{ secrets.GITHUB_TOKEN }}

Workflow options

Change these options in the workflow .yml file to meet your GitHub project needs.

Setting Description Values
on When the automation is ran issues pull_request issue_comment
types The types of activity that will trigger a workflow run. opened, assigned, edited
project The name of the project Backlog
column The column to create or move the card to Triage
repo-token The personal access token ${{ secrets.GITHUB_TOKEN }}
action This determines the type of the action to be performed on the card, Default: update update, delete, archive

Personal access token (secrets.GITHUB_TOKEN)

Depending on your project set up you may be able to use GITHUB_TOKEN which requires no set up. This is only possible when the project and repository are owned by your account.

For forked and private repositories this error occurs:

GraphqlError: Resource not accessible by integration

Secrets are not currently available to forks. This error happens on forked repositories because GITHUB_TOKEN only has read permissions.

On private repositories you may need to enable policy settings to allow running workflows from forks. Please refer to GitHub's documentation to learn about enabling these settings at enterprise, organization, or repository level.

Alternatively, you can perform following steps:

  1. Create a personal access token. See the below guide on how to configure the permissions.
  2. Create a secret containing the personal access token, call it GH_TOKEN
  3. Change the repo-token in the workflow .yml to reference your new token name:
repo-token: ${{ secrets.GH_TOKEN }}

Permissions for personal access tokens

Repo and project board Permission
Public repository and project board GITHUB_TOKEN
Private repository and project board Full control of private repositories
Organisation public or private project board and repository Read and write org and team membership, read and write org projects

Troubleshooting

SAML enforcement

With certain organisations there may be SAML enforcement. This means you will need to Enable SSO when you create the personal access token.

GraphqlError: Resource protected by organization SAML enforcement. You must grant your personal token access to this organization

Can't read repository null

Make sure your permissions for your personal access token are correctly configured. Follow the above guide on permissions.

Local development

To set up the action for local development and testing:

  1. Create a fork of the github-project-automation-plus
  2. Create a new repository with a project
  3. Add a workflow file that changes the uses to your forked repository: uses: my-fork/[email protected]
  4. Make changes to your action and deploy them to GitHub

Release History

  • v0.5.1 - Fix get event data from issue_coment
  • v0.5.0 - Add option to delete card
  • v0.4.0 - Add issue_comment event
  • v0.3.0 - Add pull_request_target event
  • v0.2.4 - Update dependencies
  • v0.2.3 - Replace reserved secret GITHUB_TOKEN with GITHUB_TOKEN in documentation
  • v0.2.2 - Refactor add and move card logic ✨
  • v0.2.1 - Fix bug with move logic when card is already in project
  • v0.2.0 - Restructure project, add tests, change add and move logic
  • v0.1.3 - Exact match for project names
  • v0.1.2 - Fix action not running for a card that exists in multiple projects
  • v0.1.1 - Document type filter so action runs once
  • v0.1.0 - Add support for user projects
  • v0.0.3 - Automatic build before commit
  • v0.0.2 - Error handling using GitHub actions
  • v0.0.1 - Update icon and color for GitHub actions
  • v0.0.0 - Initial release
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].