api

package
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 16, 2021 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const (
	UserStatusAll        string = ""
	UserStatusActive     string = "1"
	UserStatusRegistered string = "2"
	UserStatusLocked     string = "3"
)

Variables

View Source
var (
	UserPath string = "users"
)

Functions

func OptionalIdName

func OptionalIdName(idName *IdName) string

Types

type AuthenticationParameters

type AuthenticationParameters struct {
	ApiKey string `url:"key,omitempty"`
}

type Client

type Client struct {
	PaginationParams PaginationParameters
	// contains filtered or unexported fields
}

func NewClient

func NewClient(endpoint, apikey string, httpClient *http.Client, limit, offset int) *Client

func (*Client) CreateTimeEntry

func (c *Client) CreateTimeEntry(timeEntry TimeEntry) (*TimeEntry, error)

func (*Client) FindIssue

func (c *Client) FindIssue(id int) (Issue, error)

func (*Client) IssuesForProject

func (c *Client) IssuesForProject(id int) ([]Issue, error)

func (*Client) TimeEntries

func (c *Client) TimeEntries(user User) ([]TimeEntry, error)

func (*Client) TimeEntryActivities

func (c *Client) TimeEntryActivities() ([]TimeEntryActivity, error)

func (*Client) User

func (c *Client) User(id int) (User, error)

func (*Client) UserAssignedIssues

func (c *Client) UserAssignedIssues(user User) ([]Issue, error)

type CustomField

type CustomField struct {
	Id          int         `json:"id"`
	Name        string      `json:"name"`
	Description string      `json:"description"`
	Multiple    bool        `json:"multiple"`
	Value       interface{} `json:"value"`
}

type FindIssueQuery

type FindIssueQuery struct {
	IssueID int `url:"id,omitempty"`
}

type FindIssuesByQuery

type FindIssuesByQuery struct {
	Status       string `url:"status,omitempty"`
	AssignedToID int    `url:"assigned_to_id,omitempty"`
}

type FindUserTimeEntries

type FindUserTimeEntries struct {
	UserID     int    `url:"user_id,omitempty"`
	SortClause string `url:"sort,omitempty"`
}

type Id

type Id struct {
	Id int `json:"id"`
}

type IdName

type IdName struct {
	Id   int    `json:"id,omitempty"`
	Name string `json:"name,omitempty"`
}

type Issue

type Issue struct {
	Id             int            `json:"id"`
	Subject        string         `json:"subject"`
	Description    string         `json:"description"`
	ProjectId      int            `json:"project_id"`
	Project        *IdName        `json:"project"`
	TrackerId      int            `json:"tracker_id"`
	Tracker        *IdName        `json:"tracker"`
	ParentId       int            `json:"parent_issue_id,omitempty"`
	Parent         *Id            `json:"parent"`
	StatusId       int            `json:"status_id"`
	Status         *IdName        `json:"status"`
	PriorityId     int            `json:"priority_id,omitempty"`
	Priority       *IdName        `json:"priority"`
	Author         *IdName        `json:"author"`
	FixedVersion   *IdName        `json:"fixed_version"`
	AssignedTo     *IdName        `json:"assigned_to"`
	AssignedToId   int            `json:"assigned_to_id"`
	Category       *IdName        `json:"category"`
	CategoryId     int            `json:"category_id"`
	Notes          string         `json:"notes"`
	StatusDate     string         `json:"status_date"`
	CreatedOn      string         `json:"created_on"`
	UpdatedOn      string         `json:"updated_on"`
	StartDate      string         `json:"start_date"`
	DueDate        string         `json:"due_date"`
	ClosedOn       string         `json:"closed_on"`
	CustomFields   []*CustomField `json:"custom_fields,omitempty"`
	Uploads        []*Upload      `json:"uploads"`
	EstimatedHours float32        `json:"estimated_hours"`
	SpentHours     float32        `json:"total_spent_hours"`
	DoneRatio      float32        `json:"done_ratio"`
	Journals       []*Journal     `json:"journals"`
}

func (Issue) BrowserUrl

func (issue Issue) BrowserUrl() string

func (Issue) Content

func (issue Issue) Content() string

func (Issue) View

func (issue Issue) View() string

type IssuesForProjectQuery

type IssuesForProjectQuery struct {
	ProjectID int `url:"project_id,omitempty"`
}

type Journal

type Journal struct {
	Id        int              `json:"id"`
	User      *IdName          `json:"user"`
	Notes     string           `json:"notes"`
	CreatedOn string           `json:"created_on"`
	Details   []JournalDetails `json:"details"`
}

type JournalDetails

type JournalDetails struct {
	Property string `json:"property"`
	Name     string `json:"name"`
	OldValue string `json:"old_value"`
	NewValue string `json:"new_value"`
}

type PaginationParameters

type PaginationParameters struct {
	Offset int `url:"offset,omitempty"`
	Limit  int `url:"limit,omitempty"`
}

type TimeEntry

type TimeEntry struct {
	Id           int            `json:"id,omitempty"`
	Project      IdName         `json:"project,omitempty"`
	Issue        Id             `json:"issue,omitempty"`
	User         IdName         `json:"user,omitempty"`
	Activity     IdName         `json:"activity,omitempty"`
	Hours        float32        `json:"hours,omitempty"`
	Comments     string         `json:"comments,omitempty"`
	SpentOn      string         `json:"spent_on,omitempty"`
	CreatedOn    string         `json:"created_on,omitempty"`
	UpdatedOn    string         `json:"updated_on,omitempty"`
	CustomFields []*CustomField `json:"custom_fields,omitempty"`
}

func (TimeEntry) BrowserUrl

func (timeEntry TimeEntry) BrowserUrl() string

func (TimeEntry) Content

func (timeEntry TimeEntry) Content() string

func (TimeEntry) ToRequest

func (timeEntry TimeEntry) ToRequest() timeEntryRequest

func (TimeEntry) View

func (timeEntry TimeEntry) View() string

type TimeEntryActivity

type TimeEntryActivity struct {
	Id        int    `json:"id"`
	Name      string `json:"name"`
	IsDefault bool   `json:"is_default"`
}

type Upload

type Upload struct {
	Token       string `json:"token"`
	Filename    string `json:"filename"`
	ContentType string `json:"content_type"`
}

type User

type User struct {
	Id           int            `json:"id"`
	Login        string         `json:"login"`
	Firstname    string         `json:"firstname"`
	Lastname     string         `json:"lastname"`
	Mail         string         `json:"mail"`
	CreatedOn    string         `json:"created_on"`
	LatLoginOn   string         `json:"last_login_on"`
	CustomFields []*CustomField `json:"custom_fields,omitempty"`
}

func (User) Content

func (user User) Content() string

func (User) ToIdName

func (user User) ToIdName() IdName

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL