All Projects → takanabe → github-actions-automate-projects

takanabe / github-actions-automate-projects

Licence: Apache-2.0 license
GitHub Actions adding GitHub Issues & Pull requests to the specified GitHub Project column automatically ♻️

Programming Languages

go
31211 projects - #10 most used programming language
Makefile
30231 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to github-actions-automate-projects

assign-one-project-github-action
Automatically add an issue or pull request to specific GitHub Project(s) when you create and/or label them.
Stars: ✭ 140 (+218.18%)
Mutual labels:  project-management, github-projects, github-actions
kanbanize
Triage issues on github project boards.
Stars: ✭ 32 (-27.27%)
Mutual labels:  project-management, github-projects
github-actions-all-in-one-project
Automatically add an issue or pull request to specific GitHub Project when you create them.
Stars: ✭ 27 (-38.64%)
Mutual labels:  github-projects, github-actions
turtle-action
🐢 Turtle CLI with GitHub Actions for building expo-project
Stars: ✭ 16 (-63.64%)
Mutual labels:  github-actions
changelog-reader-action
A GitHub action to read and get data from the CHANGELOG.md file 🚀
Stars: ✭ 68 (+54.55%)
Mutual labels:  github-actions
setup-clang
GitHub action to set up Clang & LLVM
Stars: ✭ 28 (-36.36%)
Mutual labels:  github-actions
NearBeach
NearBeach is an open sourced project management tool, helping you keep track of your project. You can track requirements, projects and tasks
Stars: ✭ 97 (+120.45%)
Mutual labels:  project-management
github-env-vars-action
🚀 GitHub Action for Environment Variables
Stars: ✭ 129 (+193.18%)
Mutual labels:  github-actions
gha
🔧 Test your GitHub Actions workflow locally.
Stars: ✭ 53 (+20.45%)
Mutual labels:  github-actions
action-label-syncer
GitHub Action to sync GitHub labels in the declarative way
Stars: ✭ 138 (+213.64%)
Mutual labels:  github-actions
latelier
L'atelier, a project management tool
Stars: ✭ 74 (+68.18%)
Mutual labels:  project-management
action-python-poetry
Template repo to quickly make a tested and documented GitHub action in Python with Poetry
Stars: ✭ 85 (+93.18%)
Mutual labels:  github-actions
content-reminder
⏰ A GitHub Action that reminds you to share your own content
Stars: ✭ 28 (-36.36%)
Mutual labels:  github-actions
auto-request-review
A GitHub Action that automatically requests review of a pull request based on files changes and/or groups the author belongs to 🤖
Stars: ✭ 52 (+18.18%)
Mutual labels:  github-actions
github-create-release-action
Github Action that create Github Release automatically
Stars: ✭ 28 (-36.36%)
Mutual labels:  github-actions
gradle-actions
Github Actions for Gradle
Stars: ✭ 29 (-34.09%)
Mutual labels:  github-actions
pytest-coverage-comment
Comments a pull request with the pytest code coverage badge and full report
Stars: ✭ 32 (-27.27%)
Mutual labels:  github-actions
googletest-ci
Continuous integration (CI) + Google Test (gtest) + CMake example boilerplate demo
Stars: ✭ 14 (-68.18%)
Mutual labels:  github-actions
actions-sms
Send an SMS through GitHub Actions
Stars: ✭ 108 (+145.45%)
Mutual labels:  github-actions
nodejs-postgresql-azure
Repositório responsável pela série de artigos sobre Node.js com PostgreSQL
Stars: ✭ 70 (+59.09%)
Mutual labels:  github-actions

github-actions-automate-projects

Docker Automated build License

GitHub Actions adding GitHub Issues & Pull requests to the specified GitHub Project column automatically ♻️. This GitHub Action is inspired by https://github.com/masutaka/github-actions-all-in-one-project

Usage

GitHub Projects belong to organizations, repositories, and users. This GitHub action currently does not support user-based GitHub Project. For any type of GitHub Projects, you need to change GITHUB_PROJECT_URL and GITHUB_PROJECT_COLUMN_NAME depending on your GitHub Project URL and column name to which you want to add new cards. Create .github/workflows/issues.yml file on your repository and edit like below.

Repository-based project

name: Add a new GitHub Project card linked to a GitHub issue to the specified project column
on: [issues, pull_request]
jobs:
  github-actions-automate-projects:
    runs-on: ubuntu-latest
    steps:
    - name: add-new-issues-to-repository-based-project-column
      uses: docker://takanabe/github-actions-automate-projects:v0.0.1
      if: github.event_name == 'issues' && github.event.action == 'opened'
      env:
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        GITHUB_PROJECT_URL: https://github.com/takanabe/github-actions-automate-projects/projects/1
        GITHUB_PROJECT_COLUMN_NAME: To do
    - name: add-new-prs-to-repository-based-project-column
      uses: docker://takanabe/github-actions-automate-projects:v0.0.1
      if: github.event_name == 'pull_request' && github.event.action == 'opened'
      env:
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        GITHUB_PROJECT_URL: https://github.com/takanabe/github-actions-automate-projects/projects/1
        GITHUB_PROJECT_COLUMN_NAME: To do
  1. Replace the URL set on GITHUB_PROJECT_URL to the URL of your repository project to place issues/pull-requests
  2. Replace the URL set on GITHUB_PROJECT_COLUMN_NAME to the string which your repository project has and want to place issues/pull-requests

Organization-based project

name: Add a new GitHub issue to the specified project column
on: [issues, pull_request]
jobs:
  add-new-issues-to-project-column:
    runs-on: ubuntu-latest
    steps:
    - name: add-new-issues-to-organization-based-project-column
      uses: docker://takanabe/github-actions-automate-projects:v0.0.1
      if: github.event_name == 'issues' && github.event.action == 'opened'
      env:
        GITHUB_TOKEN: ${{ secrets.GITHUB_PERSONAL_TOKEN_TO_ADD_PROJECT }}
        GITHUB_PROJECT_URL: https://github.com/orgs/organization_name/projects/1
        GITHUB_PROJECT_COLUMN_NAME: To Do
  1. Replace the URL set on GITHUB_PROJECT_URL to the URL of your repository project to place issues/pull-requests
  2. Replace the URL set on GITHUB_PROJECT_COLUMN_NAME to the string which your repository project has and want to place issues/pull-requests
  3. Replace the secret set on ${{ secrets.GITHUB_PERSONAL_TOKEN_TO_ADD_PROJECT }} to your personal GitHub token
    1. Create a new personal access token from https://github.com/settings/tokens
    2. Create a new personal access token from https://github.com/organization_name/repository_name/settings/secrets with the value of personal access token you created above
    3. Replace the personal token name from ${{ secrets.GITHUB_PERSONAL_TOKEN_TO_ADD_PROJECT }} to ${{ secrets.YOUR_NEW_PERSONAL_TOKEN }}
    4. Link repositories to the project from https://github.com/orgs/organization_name/projects/1/settings/linked_repositories

User-based project

User-based project is not supported yet

Configurations

Docker images

Docker images for this action are automatically built when master branch is updated or new release tags are created in this repository with latest and corresponded tag names (e.g: v.0.0.1). Please use uses: docker://takanabe/github-actions-automate-projects:v0.0.1 and uses: docker://takanabe/github-actions-automate-projects:latest syntax to use pre-build images for this GitHub Actions.

Environment variables

Environment variable Value Description
GITHUB_TOKEN ${{ secrets.GITHUB_TOKEN }}, ${{ secrets.GITHUB_PERSONAL_ACCESS_TOKEN }} An Access token to access your repository and projects. if you use repository-based projects, ${{ secrets.GITHUB_TOKEN }} provides appropriate access privileges to this GitHub action (See). If that is not enough, you need to pass ${{ secrets.GITHUB_PERSONAL_ACCESS_TOKEN }} by issuing personal access token with appropriate grants.
GITHUB_PROJECT_URL https://github.com/username/reponame/projects/1, https://github.com/orgname/reponame/projects/1, https://github.com/orgs/orgname/projects/1 A GitHub Project URL you want to use
GITHUB_PROJECT_COLUMN_NAME Anything (e.g: To Do) A GitHub Project column name you want to place issues/pull-requests
DEBUG Anything (e.g: true) A flag to produce debug messages for this GitHub Actions if this environment variable exists

Condition with contexts

You can easily detect event contexts and use them in if statements. Here are some lists of the useful contexts for this GitHub action.

Property name Values Description
github.event.action opened, closed, edited, and so on The name of actions (references for issues and for pull_request
github.event_name issues, pull_request The name of the event that triggered the workflow run

Development

Build Docker image and update DockerHub

Change IMAGE_NAME, DOCKER_REPO and TAG_NAME in Makefile based on your DockerHub settings.

make

Except for sandbox tag, takanabe/github-actions-automate-projects lists production ready Docker images matching GitHub release tag.

License

Apache 2.0

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].