Go client library for Atlassian Jira

Overview

go-jira

GoDoc Build Status Go Report Card

Go client library for Atlassian Jira.

Go client library for Atlassian Jira

Features

  • Authentication (HTTP Basic, OAuth, Session Cookie)
  • Create and retrieve issues
  • Create and retrieve issue transitions (status updates)
  • Call every API endpoint of the Jira, even if it is not directly implemented in this library

This package is not Jira API complete (yet), but you can call every API endpoint you want. See Call a not implemented API endpoint how to do this. For all possible API endpoints of Jira have a look at latest Jira REST API documentation.

Requirements

  • Go >= 1.14
  • Jira v6.3.4 & v7.1.2.

Note that we also run our tests against 1.13, though only the last two versions of Go are officially supported.

Installation

It is go gettable

go get github.com/andygrunwald/go-jira

For stable versions you can use one of our tags with gopkg.in. E.g.

package main

import (
	jira "gopkg.in/andygrunwald/go-jira.v1"
)
...

(optional) to run unit / example tests:

cd $GOPATH/src/github.com/andygrunwald/go-jira
go test -v ./...

API

Please have a look at the GoDoc documentation for a detailed API description.

The latest Jira REST API documentation was the base document for this package.

Examples

Further a few examples how the API can be used. A few more examples are available in the GoDoc examples section.

Get a single issue

Lets retrieve MESOS-3325 from the Apache Mesos project.

package main

import (
	"fmt"
	"github.com/andygrunwald/go-jira"
)

func main() {
	jiraClient, _ := jira.NewClient(nil, "https://issues.apache.org/jira/")
	issue, _, _ := jiraClient.Issue.Get("MESOS-3325", nil)

	fmt.Printf("%s: %+v\n", issue.Key, issue.Fields.Summary)
	fmt.Printf("Type: %s\n", issue.Fields.Type.Name)
	fmt.Printf("Priority: %s\n", issue.Fields.Priority.Name)

	// MESOS-3325: Running [email protected] in a container causes slave to be lost after a restart
	// Type: Bug
	// Priority: Critical
}

Authentication

The go-jira library does not handle most authentication directly. Instead, authentication should be handled within an http.Client. That client can then be passed into the NewClient function when creating a jira client.

For convenience, capability for basic and cookie-based authentication is included in the main library.

Token (Jira on Atlassian Cloud)

Token-based authentication uses the basic authentication scheme, with a user-generated API token in place of a user's password. You can generate a token for your user here. Additional information about Atlassian Cloud API tokens can be found here.

A more thorough, runnable example is provided in the examples directory.

func main() {
	tp := jira.BasicAuthTransport{
		Username: "username",
		Password: "token",
	}

	client, err := jira.NewClient(tp.Client(), "https://my.jira.com")

	u, _, err := client.User.Get("some_user")

	fmt.Printf("\nEmail: %v\nSuccess!\n", u.EmailAddress)
}

Basic (self-hosted Jira)

Password-based API authentication works for self-hosted Jira only, and has been deprecated for users of Atlassian Cloud.

The above token authentication example may be used, substituting a user's password for a generated token.

Authenticate with OAuth

If you want to connect via OAuth to your Jira Cloud instance checkout the example of using OAuth authentication with Jira in Go by @Lupus.

For more details have a look at the issue #56.

Create an issue

Example how to create an issue.

package main

import (
	"fmt"
	"github.com/andygrunwald/go-jira"
)

func main() {
	base := "https://my.jira.com"
	tp := jira.BasicAuthTransport{
		Username: "username",
		Password: "token",
	}

	jiraClient, err := jira.NewClient(tp.Client(), base)
	if err != nil {
		panic(err)
	}

	i := jira.Issue{
		Fields: &jira.IssueFields{
			Assignee: &jira.User{
				Name: "myuser",
			},
			Reporter: &jira.User{
				Name: "youruser",
			},
			Description: "Test Issue",
			Type: jira.IssueType{
				Name: "Bug",
			},
			Project: jira.Project{
				Key: "PROJ1",
			},
			Summary: "Just a demo issue",
		},
	}
	issue, _, err := jiraClient.Issue.Create(&i)
	if err != nil {
		panic(err)
	}

	fmt.Printf("%s: %+v\n", issue.Key, issue.Fields.Summary)
}

Change an issue status

This is how one can change an issue status. In this example, we change the issue from "To Do" to "In Progress."

package main

import (
	"fmt"
	"github.com/andygrunwald/go-jira"
)

func main() {
	base := "https://my.jira.com"
	tp := jira.BasicAuthTransport{
		Username: "username",
		Password: "token",
	}

	jiraClient, err := jira.NewClient(tp.Client(), base)
	if err != nil {
		panic(err)
	}

	issue, _, _ := jiraClient.Issue.Get("FART-1", nil)
	currentStatus := issue.Fields.Status.Name
	fmt.Printf("Current status: %s\n", currentStatus)

	var transitionID string
	possibleTransitions, _, _ := jiraClient.Issue.GetTransitions("FART-1")
	for _, v := range possibleTransitions {
		if v.Name == "In Progress" {
			transitionID = v.ID
			break
		}
	}

	jiraClient.Issue.DoTransition("FART-1", transitionID)
	issue, _, _ = jiraClient.Issue.Get(testIssueID, nil)
	fmt.Printf("Status after transition: %+v\n", issue.Fields.Status.Name)
}

Call a not implemented API endpoint

Not all API endpoints of the Jira API are implemented into go-jira. But you can call them anyway: Lets get all public projects of Atlassian`s Jira instance.

package main

import (
	"fmt"
	"github.com/andygrunwald/go-jira"
)

func main() {
	base := "https://my.jira.com"
	tp := jira.BasicAuthTransport{
		Username: "username",
		Password: "token",
	}

	jiraClient, err := jira.NewClient(tp.Client(), base)
	req, _ := jiraClient.NewRequest("GET", "rest/api/2/project", nil)

	projects := new([]jira.Project)
	_, err = jiraClient.Do(req, projects)
	if err != nil {
		panic(err)
	}

	for _, project := range *projects {
		fmt.Printf("%s: %s\n", project.Key, project.Name)
	}

	// ...
	// BAM: Bamboo
	// BAMJ: Bamboo Jira Plugin
	// CLOV: Clover
	// CONF: Confluence
	// ...
}

Implementations

Code structure

The code structure of this package was inspired by google/go-github.

There is one main part (the client). Based on this main client the other endpoints, like Issues or Authentication are extracted in services. E.g. IssueService or AuthenticationService. These services own a responsibility of the single endpoints / usecases of Jira.

Contribution

We ❤️ PR's

Contribution, in any kind of way, is highly welcome! It doesn't matter if you are not able to write code. Creating issues or holding talks and help other people to use go-jira is contribution, too! A few examples:

  • Correct typos in the README / documentation
  • Reporting bugs
  • Implement a new feature or endpoint
  • Sharing the love of go-jira and help people to get use to it

If you are new to pull requests, checkout Collaborating on projects using issues and pull requests / Creating a pull request.

Dependency management

go-jira uses go modules for dependency management. After cloning the repo, it's easy to make sure you have the correct dependencies by running go mod tidy.

For adding new dependencies, updating dependencies, and other operations, the Daily workflow is a good place to start.

Sandbox environment for testing

Jira offers sandbox test environments at http://go.atlassian.com/cloud-dev.

You can read more about them at https://developer.atlassian.com/blog/2016/04/cloud-ecosystem-dev-env/.

Releasing

Install standard-version

npm i -g standard-version
standard-version
git push --tags

Manually copy/paste text from changelog (for this new version) into the release on Github.com. E.g.

https://github.com/andygrunwald/go-jira/releases/edit/v1.11.0

License

This project is released under the terms of the MIT license.

Issues
  • support for oauth2 used by Jira Add-Ons

    support for oauth2 used by Jira Add-Ons

    In order to support REST API calls from Jira Add-Ons created through the Atlassian Connect framework, we need to:

    1. create a JSON Web Token (JWT) assertion
    2. use the JWT assertion + secret to get an access token
    3. include the access token in the request headers

    I've got a working standalone example and I'll create a PR in a bit.

    opened by shdunning 19
  • How to create an issue with watchers added

    How to create an issue with watchers added

    I am wondering how I can create an issue with given watchers. That is my code

    	var issueWatcher []*jira.Watcher
    	for _, w := range data.Watchers {
    		var watcher = &jira.Watcher{
    			Name: w,
    		}
    		issueWatcher = append(issueWatcher, watcher)
    	}
    
    	var issueWatches = jira.Watches{
    		Watchers: issueWatcher,
    	}
    
    	var issue = jira.Issue{
    		Fields: &jira.IssueFields{
    			Assignee:    &jira.User{Name: data.Assignee},
    			Reporter:    &jira.User{Name: data.Reporter},
    			Project:     jira.Project{Key: data.Project},
    			Summary:     data.Summary,
    			Description: data.Description,
    			Type:        jira.IssueType{Name: data.IssueType},
    			Watches:     &issueWatches,
    		},
    	}
    

    But I get following error:

    Error: Issue could not created: Request failed. Please analyze the request body for more details. Status code: 400
    

    Could you provide an example?

    opened by wlmost 17
  • Unable to create an issue in jira using this API

    Unable to create an issue in jira using this API

    we are currently using the Jira v7.3.6 server. While using the API I was able to connect to the server and also able to retrieve the projects as well in the Jira application. But I was unable to create an issue and getting the error message as page not found(Screenshot is attached) image Can someone help me out to resolve this ? or is this API supported for only the jira version mentioned in the requirements ?

    opened by ap040298 15
  • Add support for context package

    Add support for context package

    The PR changes the API go-jira adding support for "context" package. This will enable golang applications coordinate cancellation accross many different goroutines.

    PR breaks backwards compatibility (added ctx context.Context as first parameter to all methods), so maybe it should be part of next major release.

    enhancement breaking-change v2 
    opened by asv 14
  • Documentation for custom jira fields

    Documentation for custom jira fields

    Hi!

    First: thanks for your work here! Its nice to have a Jira API impl. in Go!

    I stumbled upon the Unknowns struct field of IssueFields and thus I think it should be possible (?) to add custom Jira fields - but how? Can you provide an example?

    Thanks, pH-T

    opened by pH-T 13
  • Add Transition and Sprint API handling

    Add Transition and Sprint API handling

    Added TransitionService with 2 methods:

    • GetList for retrieving possible transitions for an issue
    • Create for creating transition and changing issue status in the process

    This is just very basic functionality, the API itself has more features, but I wanted to have bare minimum. It can be expanded.

    Docs for API used: https://docs.atlassian.com/jira/REST/latest/#api/2/issue-getTransitions https://docs.atlassian.com/jira/REST/latest/#api/2/issue-doTransition

    fixes #21

    opened by nebril 13
  • This library needs a large lizard logo

    This library needs a large lizard logo

    The name of library is go-jira. Godzilla in japanese reads Gojira (based on this article and sound file: https://en.wikipedia.org/wiki/Godzilla https://upload.wikimedia.org/wikipedia/commons/d/d0/Ja-Godzilla.oga ).

    The issue title is obvious, if this library ever has a logo, it should be a large lizard (maybe with gopher face?). Pic related: http://cliparts.co/cliparts/ki8/nxa/ki8nxab5T.png

    enhancement help wanted good for beginner 
    opened by nebril 13
  • Basic auth support

    Basic auth support

    Hey,

    I am relatively new to go but as I understand your library suppose to support basic auth connection with Jira. Your documentation for session cookie authentication even recommends to use basic auth. But I do not see any place to provide username and password to this library. I looked into go documentation but they say I would need to provide a username and password for each request object so I can't even set it globally on the http connection that I could pass in.

    Can some one please advice?

    help wanted 
    opened by fkrauthan 12
  • x509: certificate signed by unknown authority

    x509: certificate signed by unknown authority

    Hi, I'm getting below error from calling jiraClient.Authentication.AcquireSessionCookie. Do I need certificate? panic: Auth at JIRA instance failed (HTTP(S) request). Post https://myjira.com/rest/auth/1/session: x509: certificate signed by unknown authority

    opened by crisarceramos 12
  • feat: add support for JWT auth with qsh needed by add-ons

    feat: add support for JWT auth with qsh needed by add-ons

    Adding support for auth using JWT's created with QSH fields and signed with a shared secret exchanged during Add-On installation. All other officially supported Atlassian clients have support for this and we found it useful in our environment.

    Read more here: https://developer.atlassian.com/cloud/jira/platform/understanding-jwt

    Also, added the go.sum file per the best practices.

    opened by shdunning 11
  • add Sprint column for issue. Fix get group member function to return all members.

    add Sprint column for issue. Fix get group member function to return all members.

    • Change api use of Issue.Get from https://developer.atlassian.com/cloud/jira/platform/rest/#api-api-2-issue-issueIdOrKey-get to https://docs.atlassian.com/jira-software/REST/7.3.1/#agile/1.0/issue-getIssue in order to export Sprint column
    • Fix related test cases
    • Export IsLast and NextPage for cases that members' length is more than one page. Call Group.Get to iterate through all members instead of returning only the first page (we have no way to exam if there's other pages of members from this api design, so return all by default)
    opened by zenixls2 10
  • Update README and examples for Bearer Auth

    Update README and examples for Bearer Auth

    Description

    • The What: Added Bearer authentication example to the examples/ directory and updated Readme to add Bearer (PAT's) to the list of support authentication schemes.

    • The Why: Our team uses Personal Access Tokens to authenticate our external apps. I thought I was not able to use the go-jira library because it wasn't apparent from the README that Bearer was a supported authentication scheme. It was serendipitous that I went into the code and saw the section for Bearer Auth (added in this commit) that I realized we could indeed use the go-jira Jira Client for our apps.

    • Type of change: Documentation

    • Breaking change: No

    • Related to an issue: n/a

    • Jira Version + Type: PATs were introduced in Jira v8.14 - for self-hosted Jira instances.

    opened by stxphcodes 0
  • Cannot read jira.Response body

    Cannot read jira.Response body

    Describe the bug

    I am abstracting the process of transitioning a Jira issue to a different state. When attempting to transition an issue from Backlog to Ready, the Jira web app raises an error telling me I need to define the story points. I'd like to handle this error when automating the process. I have the following function:

    func (j *JiraIssue) UpdateStatus(statusId JiraStatus) error {
    	possibleTransitions, _, _ := jiraClient.Issue.GetTransitions(j.JiraKey)
    	for _, v := range possibleTransitions {
    		log.Debugf("Available transition: %s %s \n", v.To.ID, v.Name)
    		if v.To.ID == string(statusId) {
    			resp, err := jiraClient.Issue.DoTransition(j.JiraKey, string(statusId))
    			body, read_err := io.ReadAll(resp.Body)
    			if read_err != nil {
    				return read_err
    			}
    			if err != nil {
    				return fmt.Errorf("%s: %v", err, string(body))
    			}
    			return nil
    		}
    	}
    	return fmt.Errorf("requested status change %v is not available for this issue", statusId)
    }
    

    I am trying to read the response body if there is an error transitioning the issue. But I get the following error when trying to do so:

    http: read on closed response body
    

    How can I read the error response from the API?

    Expected behavior

    The jira.Response returned from DoTransition should be readable.

    Your Environment

    Include as many relevant details about the environment you experienced the problem in

    • go-jira version (git tag or sha): v1.15.1
    • Go version (go version): 1.18.3
    • Jira version: 8.13.11
    • Jira type (cloud or on-premise): On prem

    Additional context

    I'd like to be able to dynamically handle error responses that come from the API. Or at least be able to print a more helpful error message when a request to transition the issue fails.

    Thanks!

    opened by mike-lloyd03 1
  • OAuth2.0

    OAuth2.0

    I'm trying to implement Oauth authentification with our Jira cloud platform. I saw that OAuth1.0 is legacy and it's recommended to use Auth2.0 (https://developer.atlassian.com/cloud/jira/platform/jira-rest-api-oauth-authentication/)

    Is this library supports OAuth2.0? and if so, is there a working example?

    Thanks

    opened by adiozer3 0
  • feat: add names of response

    feat: add names of response

    Description

    Please describe what does this Pull Request fix or add?.

    Information that is useful here:

    • The What: Add the names of response
    • The Why: During my using of go-jira, i need the custome field real name, i can only get it by set search options expand=names, however, i can't get the names, so i expand the fields of response to get it
    • Type of change: Maybe a bugfix
    • Breaking change: no
    • Related to an issue: no
    • Jira Version + Type: v1.15.1 and on-premise

    Example:

    Let us know how users can use or test this functionality.

    // Example code
    
    

    Checklist

    opened by nick887 1
  • feat: Add sprint goal

    feat: Add sprint goal

    Description

    Adds the optional Goal field to the Sprint Struct

    Example:

    // Example code
    sprints, _, _ := jiraClient.Board.GetAllSprints(boardID)
    fmt.Println(sprints[0].Goal)
    

    Checklist

    opened by Avarei 0
  • Add Search (POST) support.

    Add Search (POST) support.

    Description

    • The What: Jira has support for the Search API to be called via a POST request for long queries that would be too long for the URL limit. This change adds support for that POST API.
    • The Why: A tool I was writing using go-jira needs to search with very long queries with a lot of issue keys to select from. These queries are rejected by the Jira Cloud server because they're too long.
    • Type of change: New feature (upgrade to the existing search feature).
    • Breaking change: Client code will continue working. Tests may break if a test makes a long query and its mocks assume that all search requests will be GET requests.
    • Related to an issue: No
    • Jira Version + Type: v2 Cloud

    Example:

    This happens behind the scenes when a search is issued that would result in a GET request longer than 2000 characters. To verify it's happening, pass JQL longer than 2000 characters or log the HTTP requests the client is making.

    keys := LongSliceOfKeys()
    issues, res, err := client.Issue.Search(
    	fmt.Sprintf("type = Bug AND project = AREA AND Key IN (%s)", strings.Join(keys, ",")),
    	opt)
    

    Checklist

    opened by mari-crl 0
Releases(v1.15.1)
  • v1.15.1(Feb 26, 2022)

    What's Changed

    • fix: Added support for update section in DoTransitionWithPayload struct by @CondensedTea in https://github.com/andygrunwald/go-jira/pull/423
    • Add "environment" on the issue field by @nansuri in https://github.com/andygrunwald/go-jira/pull/440
    • Update user.go by @metalbreeze in https://github.com/andygrunwald/go-jira/pull/439
    • feat: add customer and request endpoints for service desk api by @iamjem in https://github.com/andygrunwald/go-jira/pull/391
    • handle resource leaks by @dustin-decker in https://github.com/andygrunwald/go-jira/pull/399

    New Contributors

    • @CondensedTea made their first contribution in https://github.com/andygrunwald/go-jira/pull/423
    • @nansuri made their first contribution in https://github.com/andygrunwald/go-jira/pull/440
    • @metalbreeze made their first contribution in https://github.com/andygrunwald/go-jira/pull/439
    • @iamjem made their first contribution in https://github.com/andygrunwald/go-jira/pull/391
    • @dustin-decker made their first contribution in https://github.com/andygrunwald/go-jira/pull/399

    Full Changelog: https://github.com/andygrunwald/go-jira/compare/v1.15.0...v1.15.1

    Source code(tar.gz)
    Source code(zip)
  • v1.15.0(Feb 18, 2022)

    What's Changed

    • GH-400, GH-401 Upgrading JWT Library to V4 by @benjivesterby in https://github.com/andygrunwald/go-jira/pull/403
    • chore(deps): bump github.com/golang-jwt/jwt/v4 from 4.1.0 to 4.2.0 by @dependabot in https://github.com/andygrunwald/go-jira/pull/424
    • feat: added support for personal-access-tokens by @evilnerd in https://github.com/andygrunwald/go-jira/pull/422
    • Missing alias for import in example in README by @tstrijdhorst in https://github.com/andygrunwald/go-jira/pull/428
    • add missing min/max to BoardConfigurationColumn by @brenol in https://github.com/andygrunwald/go-jira/pull/430
    • New issue method: update remote issue link by ID by @madest92 in https://github.com/andygrunwald/go-jira/pull/411
    • chore(deps): bump github.com/google/go-cmp from 0.5.6 to 0.5.7 by @dependabot in https://github.com/andygrunwald/go-jira/pull/432
    • adds missing struct omitempty tags to the Parent struct by @cmcpasserby in https://github.com/andygrunwald/go-jira/pull/435
    • chore(deps): bump github.com/golang-jwt/jwt/v4 from 4.2.0 to 4.3.0 by @dependabot in https://github.com/andygrunwald/go-jira/pull/438
    • Issue-418 accept strings as serviceDeskID by @james-cast in https://github.com/andygrunwald/go-jira/pull/419
    • feat(auth): Bearer Auth Support (oauth 2.0) by @Chhekur in https://github.com/andygrunwald/go-jira/pull/397

    New Contributors

    • @tstrijdhorst made their first contribution in https://github.com/andygrunwald/go-jira/pull/428
    • @brenol made their first contribution in https://github.com/andygrunwald/go-jira/pull/430
    • @cmcpasserby made their first contribution in https://github.com/andygrunwald/go-jira/pull/435
    • @james-cast made their first contribution in https://github.com/andygrunwald/go-jira/pull/419
    • @Chhekur made their first contribution in https://github.com/andygrunwald/go-jira/pull/397

    Full Changelog: https://github.com/andygrunwald/go-jira/compare/v1.14.0...v1.15.0

    Source code(tar.gz)
    Source code(zip)
  • v1.14.0(Aug 4, 2021)

    1.14.0 (2021-08-04)

    Features

    • Description field added for component (#365) (e8880eb)
    • Feature: Add support for Jira ServiceDesk and its organizations (3017996)
    • Feature: Implement delete issue link api (#341) (5601d2b)
    • Add Items and Custom to FieldSchema (#332) (3754d5a)
    • Added property "StartedAfter" to GetWorklogsQueryOptions struct accor… (#344) (5806b81)

    Bug Fixes

    • Fix some possible nil reference (a4fbf26)
    • Pass context parameters through (823e39f)
    • var total was having an issues (9c2ab8f)
    • Fixed bool type for release version (4a5830d)

    Documentation

    • Updated Examples (#374, #358, #357, #354)

    Sustaining

    • Cleanup Continuous Integration (#384) (2c5d75b)
    • Add funding information (#383) (ce29222 )
    • Upgrade to GitHub-native Dependabot (#375) (fcb7aa2)
    • fix: resolve nogo tautological linting error (#364) (c64f012)
    • Typo fix in issue_test.go (f30f8c9)
    • Raise go versions in testing workflow (#349) (1a84689)
    • Remove 1.12 from travis builds (4654761)
    • Add Go 1.15 to supported versions (64663d1)
    • Remove tests for Go < 1.12 (0d43108)

    Dependency Upgrades

    • Upgrade jwt library (#387) (fff481a)
    • Upgrade github.com/google/go-cmp
    • Upgrade github.com/pkg/errors
    • Upgrade github.com/trivago/tgo
    • Upgrade github.com/fatih/structs
    Source code(tar.gz)
    Source code(zip)
  • v1.13.0(Oct 25, 2020)

    1.13.0 (2020-10-25)

    Features

    Bug Fixes

    • change millisecond time format (8c77107)
    • paging with load balancer going to endless loop (19d3fc0), closes #260
    • issue: IssueService.Search() with a not empty JQL triggers 400 bad request (#292) (8b64c7f), closes #291
    • IssueService.GetWatchers: UserService.GetByAccountID support accountId params (436469b)
    • product: Make product naming consistent, rename JIRA to Jira (#286) (146229d), closes #284
    • tests: Fix TestIssueService_PostAttachment unit test (f6b1dca)
    • removing the use of username field in searching for users (#297) (f50cb07)
    Source code(tar.gz)
    Source code(zip)
  • v1.12.0(Oct 25, 2020)

  • v1.11.0(Oct 17, 2019)

    1.11.0 (2019-10-17)

    Features

    • Add AccountID and AccountType to GroupMember struct (216e005)
    • Add AccountType and Locale to User struct (52ab347)
    • Add GetAllStatuses (afc96b1)
    • Add GetMyFilters to FilterService (ebae19d)
    • Add Search to FilterService (38a755b)
    • add support for JWT auth with qsh needed by add-ons (a8bdfed)
    • AddGetBoardConfiguration (fd698c5)
    • Replace http.Client with interface for extensibility (b59a65c)

    Bug Fixes

    • Fix fixversion description tag (8383e2f)
    • Fix typos in filter_test.go (e9a261c)
    Source code(tar.gz)
    Source code(zip)
  • v1.10.0(May 23, 2019)

  • v1.9.0(May 19, 2019)

  • v1.8.0(May 16, 2019)

  • v1.7.0(May 5, 2019)

    • [closed] Searching for issues and expanding fields #202
    • [closed] panic seen when call UserService.GetSelf func with unauthorized user #198
    • [bug] Authentication error appears as JSON parse error #193
    Source code(tar.gz)
    Source code(zip)
  • v1.6.0(Oct 13, 2018)

  • v1.5.0(Jun 29, 2018)

  • v1.4.0(Jun 26, 2018)

  • v1.3.0(May 14, 2018)

  • v1.2.0(Apr 3, 2018)

  • v1.1.0(Mar 14, 2018)

    • CustomField work
    • More expressive errors
    • Moving authentication out of library
    • API updates

    I haven't kept up with releases. I'll work on doing better from now on so the gopkg.in integration is more up-to-date.

    Source code(tar.gz)
    Source code(zip)
Owner
Andy Grunwald
I solve problems and put things into production.
Andy Grunwald
A Go client implementing a client-side distributed consumer group client for Amazon Kinesis.

Kinesumer is a Go client implementing a client-side distributed consumer group client for Amazon Kinesis.

당근마켓 64 Jul 15, 2022
Clusterpedia-client - clusterpedia-client supports the use of native client-go mode to call the clusterpedia API

clusterpedia-client supports the use of native client-go mode to call the cluste

Calvin Chen 4 Jan 7, 2022
Client-go - Clusterpedia-client supports the use of native client-go mode to call the clusterpedia API

clusterpedia-client supports the use of native client-go mode to call the cluste

clusterpedia.io 7 Jun 17, 2022
Aoe4-client - Client library for aoe4 leaderboards etc

AOE4 Client Overview This is a go client used to query AOE4 data from either the

Mark Smith 0 Jan 18, 2022
Client for the cloud-iso-client

cloud-iso-client Client for the cloud-iso-client. Register an API token Before using this client library, you need to register an API token under your

Virtomize 0 Dec 6, 2021
Go-http-client: An enhanced http client for Golang

go-http-client An enhanced http client for Golang Documentation on go.dev ?? This package provides you a http client package for your http requests. Y

Furkan Bozdag 41 Jul 14, 2022
Nutanix-client-go - Go client for the Nutanix Prism V3 API

nutanix-client-go This repository contains portions of the Nutanix API client code in nutanix/terraform-provider-nutanix. It has been extracted to red

Marvin Beckers 0 Jan 6, 2022
Balabola-go-client - GO client for Yandex balabola service

Balabola GO Client GO client for Yandex balabola service Yandex warning The neur

Konovalov Maxim 0 Jan 29, 2022
Client-server-golang-sqs - Client Server with SQS and golang

Client Server with SQS and golang Multi-threaded client-server demo with Go What

null 0 Feb 14, 2022
Go Client Library for Amazon Product Advertising API

go-amazon-product-advertising-api Go Client Library for Amazon Product Advertising API How to Use go get -u github.com/ngs/go-amazon-product-advertisi

Atsushi NAGASE 53 Aug 3, 2022
A Go client library for the Twitter 1.1 API

Anaconda Anaconda is a simple, transparent Go package for accessing version 1.1 of the Twitter API. Successful API queries return native Go structs th

Aditya Mukerjee 1.1k Jul 27, 2022
Go(lang) client library for Cachet (open source status page system).

cachet Go(lang) client library for Cachet (open source status page system). Features Full API support Components Incidents Metrics Subscribers Various

Andy Grunwald 90 Jan 28, 2022
Go client library for interacting with Coinpaprika's API

Coinpaprika API Go Client Usage This library provides convenient way to use coinpaprika.com API in Go. Coinpaprika delivers full market data to the wo

Coinpaprika 16 Jun 12, 2022
Package githubv4 is a client library for accessing GitHub GraphQL API v4 (https://developer.github.com/v4/).

githubv4 Package githubv4 is a client library for accessing GitHub GraphQL API v4 (https://docs.github.com/en/graphql). If you're looking for a client

null 908 Aug 1, 2022
a Go (Golang) MusicBrainz WS2 client library - work in progress

gomusicbrainz a Go (Golang) MusicBrainz WS2 client library - a work in progress. Current state Currently GoMusicBrainz provides methods to perform sea

Michael Wendland 45 May 3, 2022
This project implements a Go client library for the Hipchat API.

Hipchat This project implements a Go client library for the Hipchat API (API version 2 is not supported). Pull requests are welcome as the API is limi

Andrew Bonventre 104 Jan 12, 2022
Go(lang) client library for accessing information of an Apache Mesos cluster.

megos Go(lang) client library for accessing an Apache Mesos cluster. Features Determine the Mesos leader Get the current state of every mesos node (ma

Andy Grunwald 54 Jul 18, 2021
Client library for UptimeRobot v2 API

uptimerobot uptimerobot is a Go library and command-line client for the Uptime Robot website monitoring service. It allows you to search for existing

John Arundel 48 Jul 20, 2022
Google 29 May 25, 2021