Home  >  Article  >  Backend Development  >  How to comment on Github issues using go-github?

How to comment on Github issues using go-github?

WBOY
WBOYforward
2024-02-10 08:30:08836browse

如何使用 go-github 对 Github 问题发表评论?

php editor Strawberry brings you a guide on how to use go-github to comment on Github issues. Go-github is a powerful Go language library that can easily interact with Github. In this guide, we will introduce in detail how to use the go-github library to post comments to help developers better participate in the Github community. Whether you're providing feedback on other people's projects or discussing with other developers, commenting with go-github will be easy and efficient. Let’s learn about the process together!

Issue content

I want to create a comment on an issue using https://github.com/google/go-github, but this test code fails:

package main

import (
    "golang.org/x/oauth2"
    "github.com/google/go-github/v49/github"
)

func main() {
    ctx := context.background()
    ts := oauth2.statictokensource(
        &oauth2.token{accesstoken: "token_here"},
    )
    tc := oauth2.newclient(ctx, ts)

    client := github.newclient(tc)

    // list all repositories for the authenticated user
    repos, _, err := client.repositories.list(ctx, "", nil)
}

But I just started

# command-line-arguments
./main.go:9:9: undefined: context
./main.go:18:2: repos declared but not used
./main.go:18:12: err declared but not used

return... So - what do I have to do to make it work and how do I send comments (via my token) to the issue on github?

Solution

./main.go:9:9: undefined: context

You need to import the "context" package to call context.background()

./main.go:18:2: repos declared but not used
./main.go:18:12: err declared but not used

After calling client.repositories.list(ctx, "", nil) you create 2 new variables: repos and err, but They are never used anywhere. In go, unused variables cause compiler errors, so either remove these variables or better yet use them as you wish.

So - what do I have to do to make it work and how do I send comments (via my token) to the issue on github?

To use the github api, you need to obtain an access token and replace "token_here" with this. Then you can do the following:

comment := &github.IssueComment{
    Body: github.String("Hello, world!"),
}
comment, _, err := client.Issues.CreateComment(
    context.Background(), 
    "OWNER", 
    "REPO", 
    ISSUE_NUMBER, 
    comment,
)
if err != nil {
    // handle any errors
}

...where owner is the owner of the repository, repo is the name of the repository, and issue_number is the one where you want to write the comment Issue number.

The above is the detailed content of How to comment on Github issues using go-github?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:stackoverflow.com. If there is any infringement, please contact admin@php.cn delete