Make the bot structure a little more modular/refined

This commit is contained in:
Sebastian Cabrera 2023-08-26 13:32:36 -04:00
parent 6783c99080
commit 2562ad2511
2 changed files with 49 additions and 41 deletions

View file

@ -1,45 +1,6 @@
package main
import (
"fmt"
"golang.org/x/net/context"
"net/http"
"github.com/google/go-github/v54/github"
"github.com/bradleyfalzon/ghinstallation/v2"
)
func main() {
// Wrap the shared transport for use with the integration ID 1 authenticating with installation ID 99.
itr, err := ghinstallation.NewKeyFromFile(http.DefaultTransport, 381312, 41105280, "theopenestsource.2023-08-25.private-key.pem")
// secret = 57d9b2f565aedc5a5d658b190555ff379701a86c
// Or for endpoints that require JWT authentication
// itr, err := ghinstallation.NewAppsTransportKeyFromFile(http.DefaultTransport, 1, "2016-10-19.private-key.pem")
if err != nil {
// Handle error.
}
// Use installation transport with client.
client := github.NewClient(&http.Client{Transport: itr})
// Use client...
//client.PullRequests.CreateComment(ctx, "rowbawts", "theopenestsource", 1, comment)
ctx := context.Background()
readme, _, err := client.Repositories.GetReadme(ctx, "rowbawts", "theopenestsource", nil)
if err != nil {
fmt.Println(err)
return
}
content, err := readme.GetContent()
if err != nil {
fmt.Println(err)
return
}
fmt.Println(content)
initGitHubClient()
listenForWebhook()
}

47
bot/utils.go Normal file
View file

@ -0,0 +1,47 @@
package main
import (
"fmt"
"github.com/bradleyfalzon/ghinstallation/v2"
"github.com/google/go-github/v54/github"
"golang.org/x/net/context"
"net/http"
)
func initGitHubClient() {
// Wrap the shared transport for use with the integration ID and authenticating with installation ID.
itr, err := ghinstallation.NewKeyFromFile(http.DefaultTransport, 381312, 41105280, "theopenestsource.2023-08-25.private-key.pem")
// secret = 57d9b2f565aedc5a5d658b190555ff379701a86c
// Or for endpoints that require JWT authentication
// itr, err := ghinstallation.NewAppsTransportKeyFromFile(http.DefaultTransport, 1, "2016-10-19.private-key.pem")
if err != nil {
// Handle error.
}
// Use installation transport with client.
client := github.NewClient(&http.Client{Transport: itr})
// Use client...
//client.PullRequests.CreateComment(ctx, "rowbawts", "theopenestsource", 1, comment)
ctx := context.Background()
readme, _, err := client.Repositories.GetReadme(ctx, "rowbawts", "theopenestsource", nil)
if err != nil {
fmt.Println(err)
return
}
content, err := readme.GetContent()
if err != nil {
fmt.Println(err)
return
}
fmt.Println(content)
}
func listenForWebhook() {
}