How to comment on Github issues using go-github?

WBOY
Release: 2024-02-10 08:30:08
forward
872 people have browsed it

如何使用 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)
}
Copy after login

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
Copy after login

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
Copy after login

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
Copy after login

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
}
Copy after login

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

source:stackoverflow.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template