1
0
mirror of https://github.com/interviewstreet/go-jira.git synced 2024-11-24 08:22:42 +02:00
Go to file
2015-09-03 13:35:48 +02:00
img Added project logo 2015-09-03 12:48:16 +02:00
.gitignore Added gitignore 2015-08-20 17:04:59 +02:00
.travis.yml Add travis ci 2015-09-03 12:27:49 +02:00
authentication.go Added the first go code 2015-09-03 12:25:21 +02:00
errors.go Added the first go code 2015-09-03 12:25:21 +02:00
issue.go Renames IssueType in Issue 2015-09-03 13:35:36 +02:00
jira.go Added the first go code 2015-09-03 12:25:21 +02:00
LICENSE Initial commit 2015-08-20 17:02:46 +02:00
README.md Added first example 2015-09-03 13:35:48 +02:00

go-jira

GoDoc Build Status Coverage Status

Go client library for Atlassian JIRA.

Go client library for Atlassian JIRA

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

Features

  • Authentication (HTTP Basic, OAuth, Session Cookie)
  • Create and receive issues
  • Call every (not implemented) API endpoint of the JIRA

Attention: 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 have a look at latest JIRA REST API documentation.

Installation

It is go gettable

$ go get github.com/andygrunwald/go-jira

(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")

	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 mesos-slave@0.23 in a container causes slave to be lost after a restart
	// Type: Bug
	// Priority: Critical
}

Call a not implemented API endpoint

TODO: Provide an example to call an endpoint that is not implemented yet

Implementations

TODO

License

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