LoginSignup
1
2

More than 5 years have passed since last update.

go-githubを利用してGithub Enterpriseにアクセスする

Last updated at Posted at 2017-05-25

GoでGitHub APIを利用する際は、公式のgo-githubというパッケージが便利です。

しかし、このパッケージではデフォルトで GitHub へアクセスするよう指定されており、GitHub Enterpriseにアクセスすることができません。

わたしの参画しているプロジェクトで、go-githubを使ってGitHub Enterpriseにアクセスしたいということがありました。
今回はそこで採用されている方法を紹介します。

GitHub上で公式のリポジトリをforkする

GitHub EnterPriseではなくGithub上で、公式のリポジトリをforkします。

Forkしたいプロジェクトまで行って、右上にある「Fork」ボタンを押すと、自分のGithubアカウント上でリポジトリが作成されます。

スクリーンショット 2017-05-25 23.54.53.png

通常共有されていないリポジトリに対して書き込むことはできません。
一方、forkしたリポジトリは自由に更新することができます。

このGitHub上でforkしたリポジトリに変更を加え、GitHub Enterpriseにアクセスできるようにします。

forkしたリポジトリに変更を加える

forkしたリポジトリ内にある、github.goというファイルのdefaultBaseURLという部分を変更します。

github.com/{user-name}/go-github/github.go
 const (
    defaultBaseURL = "https://{your-organization-address}/api/v3/"

GitHub Enterprise上のプロジェクトでimportする

importするパッケージを、google/go-githubではなく、forkして変更を加えたものにします。

main.go
package main

import(
    "github.com/{user-name}/go-github/github"
)

あとはforkしたリポジトリをgo getすればOKです。
これでGitHub Enterprise にアクセスできるようになります。

1
2
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2