/go-bitbucket

Bitbucket API library for Golang.

Primary LanguageGoApache License 2.0Apache-2.0

go-bitbucket

go-bitbucket?status

Bitbucket-API library for golang.

Support Bitbucket API v2.0.

And the response type is json format defined Bitbucket API.

Install

go get github.com/ktrysmt/go-bitbucket

Usage

create a pullrequest

package main

import (
        "fmt"

        "github.com/ktrysmt/go-bitbucket"
)

func main() {
        c := bitbucket.NewBasicAuth("username", "password")

        opt := &bitbucket.PullRequestsOptions{
                Owner:             "your-team",
                RepoSlug:          "awesome-project",
                SourceBranch:      "develop",
                DestinationBranch: "master",
                Title:             "fix bug. #9999",
                CloseSourceBranch: true,
        }

        res, err := c.Repositories.PullRequests.Create(opt)
        if err != nil {
                panic(err)
        }

        fmt.Println(res)
}

create a repository

package main

import (
        "fmt"

        "github.com/ktrysmt/go-bitbucket"
)

func main() {
        c := bitbucket.NewBasicAuth("username", "password")

        opt := &bitbucket.RepositoryOptions{
                Owner:    "project_name",
                RepoSlug: "repo_name",
                Scm:      "git",
        }

        res, err := c.Repositories.Repository.Create(opt)
        if err != nil {
                panic(err)
        }

        fmt.Println(res)
}

FAQ

Support Bitbucket API v1.0 ?

It does not correspond yet. Because there are many differences between v2.0 and v1.0.

It is officially recommended to use v2.0. But unfortunately Bitbucket Server (formerly: Stash) API is still v1.0. And The API v1.0 covers resources that the v2.0 API and API v2.0 is yet to cover.

Development

Get dependencies

It's using go mod.

How to testing

Set your available user account to Global Env.

export BITBUCKET_TEST_USERNAME=<your_username>
export BITBUCKET_TEST_PASSWORD=<your_password>
export BITBUCKET_TEST_OWNER=<your_repo_owner>
export BITBUCKET_TEST_REPOSLUG=<your_repo_name>

And just run;

make test

If you want to test individually;

go test -v ./tests/diff_test.go

License

Apache License 2.0

Author

ktrysmt