This GitHub action activates when a contributor raises a PR. It comments and reacts to the PR. Moreover, assigns the PR to the author.

Overview

Pull Request Action πŸš€


MIT License Language PRs Welcome website build

This action provides the following functionaliy for the Github Actions users:

  • Auto comment on opening a new PR.
  • Auto react to the same PR.
  • Auto assign the PR to it's creator.
  • Special message to first time contributors.
  • All of the elements can me configured easily ;)

πŸ“ Prerequisites:

You'll need to create a "Repository Secret" of name GIPHY_TOKEN and its value should be the API key of giphy. Here is the article on how to set up the giphy API KEY.

giphy-tk

⬆️ Usage:

Create a .github/workflows/pr-activity.yml file in the repository of your choice, then add following code to it:

name: 'Pull Request Action πŸš€'

on:
  pull_request:
    types: [opened]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: ankur12-1610/pull-request-action@master
        with:
          GIPHY_TOKEN: ${{ secrets.GIPHY_TOKEN }}
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          COMMENT_TEXT: 'thanks for submitting a pull request! We will try to review it as soon as we can :)' #enter your custom comment in the content variable
          PR_REACTION: 'rocket' #enter your reaction here
          GIPHY_TOPIC: 'Thanks a lot' #enter your giphy topic here
          TAG_AUTHOR: true #enter true if you want to tag the author of the pull request
          ASSIGN_TO_AUTHOR: true #enter true if you want to assign the pull request to the author of the pull request
          FIRST_TIMERS_MESSAGE: ':tada: Thanks for your first contribution in this repo!' #your custom message for the first timers

The comment and the reaction to the PR can be customized according to the user.

πŸ’¬ COMMENT_TEXT:

The COMMENT_TEXT variable can take any string so feel free to enter any comment in this section.

          COMMENT_TEXT: 'thanks for submitting a pull request! We will try to review it as soon as we can :)' #enter your custom comment in the content variable

πŸš€ PR_REACTION:

The PR_REACTION variable can also be customized. The available reactions are:

content emoji
+1 πŸ‘
-1 πŸ‘Ž
laugh πŸ˜„
confused πŸ˜•
rocket πŸš€
eyes πŸ‘€
heart ❀️
hooray πŸŽ‰
          PR_REACTION: 'rocket' #enter your reaction here

🏷️ TAG_AUTHOR:

The TAG_AUTHOR has either true or false boolean fields. Assigning true will tag the author of the PR in the comment.

          TAG_AUTHOR: true #enter true if you want to tag the author of the pull request or enter fase

🏁 ASSIGN_TO_AUTHOR:

The ASSIGN_TO_AUTHOR has either true or false boolean fields. Assigning true will assign the PR to the author of the PR.

          ASSIGN_TO_AUTHOR: true #enter true if you want to assign the pull request to the author or enter false

🐣 FIRST_TIMERS_MESSAGE:

Contributors who are first timers will get a special message. This variable can take any string so feel free to enter any message in this section.

          FIRST_TIMERS_MESSAGE: ':tada: Thanks for your first contribution in this repo!' #your custom message for the first timers

If user wants to add GIF to the comment:

πŸͺ™ GIPHY_TOKEN:

Without GIPHY_TOKEN secret, the workflow cannot fetch gifs.

          GIPHY_TOKEN: ${{ secrets.GIPHY_TOKEN }}

πŸ“ GIPHY_TOPIC:

The GIPHTY_TOPIC variable can take any input, so whether you want a "thankyou" gif or "welcome" all of them is possible ;) so feel free to exploit it.

          GIPHY_TOPIC: 'Thanks a lot' #enter your giphy topic here

🍠 Example:

Take a look at the Demo PRs:

  • Demo PR 2

    Code:

    name: 'Pull Request Action πŸš€'
    
    on:
      pull_request:
        types: [opened]
    
    jobs:
      test:
        runs-on: ubuntu-latest
        steps:
          - uses: actions/checkout@v2
          - uses: ankur12-1610/pull-request-action@master
            with:
              GIPHY_TOKEN: ${{ secrets.GIPHY_TOKEN }}
              GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
              COMMENT_TEXT: 'thanks for submitting a pull request! We will try to review it as soon as we can :)' #enter your custom comment in the content variable
              PR_REACTION: 'rocket' #enter your reaction here
              GIPHY_TOPIC: 'Thanks a lot' #enter your giphy topic here
              TAG_AUTHOR: true #enter true if you want to tag the author of the pull request
              ASSIGN_TO_AUTHOR: true #enter true if you want to assign the pull request to the author of the pull request
              FIRST_TIMERS_MESSAGE: ':tada: Thanks for your first contribution in this repo!' #your custom message for the first timers
    
  • Demo PR 1

    Code:

    name: 'Pull Request Action πŸš€'
    
    on:
      pull_request:
        types: [opened]
    
    jobs:
      test:
        runs-on: ubuntu-latest
        steps:
          - uses: actions/checkout@v2
          - uses: ankur12-1610/pull-request-action@master
            with:
              GIPHY_TOKEN: ${{ secrets.GIPHY_TOKEN }}
              GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
              COMMENT_TEXT: 'thanks for submitting a pull request! We will try to review it as soon as we can :)' #enter your custom comment in the content variable
              PR_REACTION: 'rocket' #enter your reaction here
              GIPHY_TOPIC: 'Thanks a lot' #enter your giphy topic here
              TAG_AUTHOR: true #enter true if you want to tag the author of the pull request
              ASSIGN_TO_AUTHOR: true #enter true if you want to assign the pull request to the author of the pull request

Inspired From

πŸ’¬ Auto Comment

πŸ”– License:

The scripts and documentation in this project are released under the MIT License


This project needs a star ⭐ from your β™₯ .

You might also like...

JavaScript Survey and Form Library

JavaScript Survey and Form Library

SurveyJS is a JavaScript Survey and Form Library. SurveyJS is a modern way to add surveys and forms to your website. It has versions for Angular, jQue

Jan 1, 2023

Extensive math expression evaluator library for JavaScript and Node.js

Extensive math expression evaluator library for JavaScript and Node.js

🏠 Homepage Fcaljs is an extensive math expression evaluator library for JavaScript and Node.js. Using fcal, you can perform basic arithmetic, percent

Dec 19, 2022

Components for interactive scientific writing, reactive documents and explorable explanations.

Components for interactive scientific writing, reactive documents and explorable explanations.

@curvenote/article The goal of @curvenote/article is to provide web-components for interactive scientific writing, reactive documents and explorable e

Dec 24, 2022

Create explorable explanations and interactive essays.

Create explorable explanations and interactive essays.

Tutorials | Examples | Docs | Chatroom | Mailing list | Twitter What is Idyll? For an introduction to Idyll, API reference, examples, and tutorials, p

Dec 27, 2022

Browser fingerprinting library with the highest accuracy and stability.

Browser fingerprinting library with the highest accuracy and stability.

FingerprintJS is a browser fingerprinting library that queries browser attributes and computes a hashed visitor identifier from them. Unlike cookies a

Dec 31, 2022

autoNumeric is a standalone library that provides live as-you-type formatting for international numbers and currencies.

autoNumeric is a standalone library that provides live as-you-type formatting for international numbers and currencies.

What is autoNumeric? autoNumeric is a standalone Javascript library that provides live as-you-type formatting for international numbers and currencies

Dec 16, 2022

Bookmarklet to remove sticky elements and restore scrolling to web pages!

Bookmarklet to remove sticky elements and restore scrolling to web pages!

Bookmarklet to remove sticky elements and restore scrolling to web pages!

Dec 29, 2022

Free, open-source crypto trading bot, automated bitcoin / cryptocurrency trading software, algorithmic trading bots. Visually design your crypto trading bot, leveraging an integrated charting system, data-mining, backtesting, paper trading, and multi-server crypto bot deployments.

Free, open-source crypto trading bot, automated bitcoin / cryptocurrency trading software, algorithmic trading bots. Visually design your crypto trading bot, leveraging an integrated charting system, data-mining, backtesting, paper trading, and multi-server crypto bot deployments.

Free, open-source crypto trading bot, automated bitcoin / cryptocurrency trading software, algorithmic trading bots. Visually design your crypto trading bot, leveraging an integrated charting system, data-mining, backtesting, paper trading, and multi-server crypto bot deployments.

Jan 1, 2023

Scheme flooding vulnerability: how it works and why it is a threat to anonymous browsing

Scheme flooding vulnerability: how it works and why it is a threat to anonymous browsing

Dec 28, 2022
Releases(v2.0)
Owner
Ankur
Local Host is so fast xD
Ankur
GitHub's most starred repositories created in the last 7 days

GitHub Weekly Trends Most starred repositories in the last 7 days Live app url: ghtrends.netlify.app Available Scripts In the project directory, you c

Ebenezer Don 6 Feb 3, 2022
The perfect library for adding search, sort, filters and flexibility to tables, lists and various HTML elements. Built to be invisible and work on existing HTML.

List.js Perfect library for adding search, sort, filters and flexibility to tables, lists and various HTML elements. Built to be invisible and work on

Jonny StrΓΆmberg 10.9k Jan 1, 2023
Drag and drop library for two-dimensional, resizable and responsive lists

GridList Drag and drop library for a two-dimensional resizable and responsive list of items Demo: http://hootsuite.github.io/grid/ The GridList librar

Hootsuite 3.6k Dec 14, 2022
πŸ“ Algorithms and data structures implemented in JavaScript with explanations and links to further readings

JavaScript Algorithms and Data Structures This repository contains JavaScript based examples of many popular algorithms and data structures. Each algo

Oleksii Trekhleb 158k Dec 31, 2022
Gmail-like client-side drafts and bit more. Plugin developed to save html forms data to LocalStorage to restore them after browser crashes, tabs closings and other disasters.

Sisyphus Plugin developed to save html forms data to LocalStorage to restore them after browser crashes, tabs closings and other disasters. Descriptio

Alexander Kaupanin 2k Dec 8, 2022
A lightweight jQuery plugin for collapsing and expanding long blocks of text with "Read more" and "Close" links.

Readmore.js V3 alpha I am deprecating the 2.x version of Readmore.js. A new version is coming soon! Check it out and help me test it! Readmore.js A sm

Jed Foster 1.5k Nov 30, 2022
FriendAdvisor is a mobile app with a focus on allowing friends and family to coordinate and receive text notifications about upcoming group events.

FriendAdvisor is a mobile app with a focus on allowing friends and family to coordinate and receive text notifications about upcoming group events.

Brad Johnson 4 Sep 29, 2022
Defines the communication layer between mobile native(iOS/Android) and webview using JSON Schema and automatically generates SDK code

Defines the communication layer between mobile native(iOS/Android) and webview using JSON Schema and automatically generates SDK code.

λ‹Ήκ·Όλ§ˆμΌ“ 31 Dec 8, 2022
A responsive image polyfill for , srcset, sizes, and more

Picturefill A responsive image polyfill. Authors: See Authors.txt License: MIT Picturefill has three versions: Version 1 mimics the Picture element pa

Scott Jehl 10k Dec 31, 2022
A high-performance, dependency-free library for animated filtering, sorting, insertion, removal and more

MixItUp 3 MixItUp is a high-performance, dependency-free library for animated DOM manipulation, giving you the power to filter, sort, add and remove D

Patrick Kunka 4.5k Dec 24, 2022