All Projects → MartinHeinz → go-github-app

MartinHeinz / go-github-app

Licence: MIT license
Template for building GitHub Apps in Go.

Programming Languages

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

Projects that are alternatives of or similar to go-github-app

Probot Gpg
A GitHub App that enforces GPG signatures on pull requests (no longer maintained)
Stars: ✭ 13 (-71.11%)
Mutual labels:  github-api, github-app
Dart hub
A GitHub client written in Flutter.
Stars: ✭ 91 (+102.22%)
Mutual labels:  github-api, github-app
Forkhub
GitHub client for Android based on the abandoned official app
Stars: ✭ 2,756 (+6024.44%)
Mutual labels:  github-api, github-app
github-app
node module to handle authentication for the GitHub Apps API
Stars: ✭ 51 (+13.33%)
Mutual labels:  github-api, github-app
react-preview
a GitHub App built with probot that generates preview links for react based projects.
Stars: ✭ 14 (-68.89%)
Mutual labels:  github-api, github-app
Github Timeline
View other users' timeline
Stars: ✭ 131 (+191.11%)
Mutual labels:  github-api, github-app
Mini Github
GitHub WeChat Mini Program
Stars: ✭ 1,216 (+2602.22%)
Mutual labels:  github-api, github-app
git-issues
A better way to browse GitHub issues.
Stars: ✭ 25 (-44.44%)
Mutual labels:  github-api, github-app
scalafmt-probot
🤖Github bot for checking code formatting with scalafmt
Stars: ✭ 15 (-66.67%)
Mutual labels:  github-api, github-app
Beefun Pro
Github client for iOS in Swift.
Stars: ✭ 172 (+282.22%)
Mutual labels:  github-api, github-app
gitbot
The most popular Discord dev toolkit with 400k+ users 🚀✨
Stars: ✭ 59 (+31.11%)
Mutual labels:  github-api, github-app
octotui
🐙🐱🖥️ GitHub stats in your terminal
Stars: ✭ 202 (+348.89%)
Mutual labels:  github-api, github-app
good-first-issues
Find good first issues right from your CLI! 🚀
Stars: ✭ 64 (+42.22%)
Mutual labels:  github-api
stellar
Search your github stars in R
Stars: ✭ 24 (-46.67%)
Mutual labels:  github-api
gitlab-analytics
No description or website provided.
Stars: ✭ 21 (-53.33%)
Mutual labels:  github-api
triage-new-issues
A GitHub App, built with Probot that adds `triage` label to newly-created issues which don't have labels
Stars: ✭ 23 (-48.89%)
Mutual labels:  github-app
git-space
A web application to view Github's user profile.
Stars: ✭ 14 (-68.89%)
Mutual labels:  github-api
ghrecipes
⛔ ARCHIVED ⛔ Provides some helper functions for using the GitHub V4 API
Stars: ✭ 28 (-37.78%)
Mutual labels:  github-api
linter-alex
📝Sensitive, considerate writing before you merge your Pull Requests
Stars: ✭ 67 (+48.89%)
Mutual labels:  github-app
FemtoCleaner.jl
The code behind femtocleaner
Stars: ✭ 61 (+35.56%)
Mutual labels:  github-app

Template for GitHub Apps built with Golang

Build, Test and Lint Action Release Action Quality Gate Status Maintainability Test Coverage Go Report Card

Blog Posts - More Information About This Repo

You can find more information about this project/repository and how to use it in following blog post:

Building GitHub Apps with Golang

Quick Start

To use this repository as starter for your project you can run configure_project.sh script, which sets up all variables and file names. This way you can avoid configuring and renaming things yourself:

./configure_project.sh \
    APP_ID="54321" \
    INSTALLATION_ID="987654321" \
    WEBHOOK_SECRET="verysecret" \
    KEY_PATH="./github_key.pem" \
    REGISTRY="ghcr.io/<GITHUB_USERNAME>/go-github-app"

Running

make container  # Builds containerized application
make run        # Runs container at localhost

# From another terminal:
curl http://localhost:8080/api/v1/github/pullrequests/octocat/hello-world

Testing

Test are run inside container image, equivalent to the container in which the application runs. To run tests:

make test

Running tests:
?   	github.com/MartinHeinz/go-github-app/cmd/app	[no test files]
ok  	github.com/MartinHeinz/go-github-app/cmd/app/apis	0.010s
?   	github.com/MartinHeinz/go-github-app/cmd/app/config	[no test files]
?   	github.com/MartinHeinz/go-github-app/cmd/app/httputil	[no test files]
?   	github.com/MartinHeinz/go-github-app/cmd/app/test_data	[no test files]
?   	github.com/MartinHeinz/go-github-app/cmd/app/utils	[no test files]
ok  	github.com/MartinHeinz/go-github-app/cmd/app/webhooks	0.006s
?   	github.com/MartinHeinz/go-github-app/pkg	[no test files]

Checking gofmt: PASS

Checking go vet: PASS

CI/CD

Predefined CI/CD uses GitHub Actions:

  • Build, Test, Lint Workflow (build.yaml):

    • Builds binary and container image
    • Runs tests and generates code coverage report
    • Performs SonarCloud code analysis
    • Sends coverage starts to CodeClimate
  • Release Workflow (release.yaml, triggered on tag creation):

    • Builds container image
    • Pushes the image to GitHub container registry
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].