Documentation ¶
Index ¶
- Constants
- Variables
- func BacklogAPIURL(baseURL string, boardID uint, qry *BoardBacklogParams) string
- func BuildJiraIssueURL(baseURL, issueKey string) string
- func DefaultHistogramMapTableConfig(projectKeys []string) *histogram.HistogramMapTableSetConfig
- func DefaultIssuesSetTableColumns(inclInitiative, inclEpic bool) *table.ColumnDefinitions
- func GetCustomValueString(iss jira.Issue, customFieldKey string) (string, error)
- func GetUnmarshalCustomValue(iss jira.Issue, customFieldKey string, v any) error
- func IssueFieldsCustomFieldString(fields *jira.IssueFields, id string) string
- func IssueToEpic(iss jira.Issue) (*jira.Epic, error)
- func JiraClientBasicAuth(serverURL, username, password string) (*jira.Client, error)
- func JiraClientBasicAuthGoauth(creds *goauth.CredentialsBasicAuth) (*jira.Client, error)
- func NewClientHTTPBasicAuthFile(filename, credsKey string) (hclient *http.Client, serverURL string, err error)
- func NewClientJiraBasicAuthFile(filename, credsKey string) (*jira.Client, error)
- func NewCredentialsBasicAuthGoauthFile(filename, credsKey string) (*goauth.CredentialsBasicAuth, error)
- func UserJiraToOIDC(u *jira.User, serverURL string) *oidc.UserInfo
- type API
- type BacklogService
- func (s *BacklogService) GetBacklogIssuesAll(boardID uint, jql string) (*IssuesResponse, [][]byte, error)
- func (s *BacklogService) GetBacklogIssuesResponse(boardID uint, qry *BoardBacklogParams) (*IssuesResponse, []byte, error)
- func (s *BacklogService) GetBacklogIssuesSetAll(boardID uint, jql string) (*IssuesSet, [][]byte, error)
- type BoardBacklogParams
- type Client
- func (c *Client) GetIssuesSetForKeys(keys []string) (*IssuesSet, error)
- func (c *Client) Issue(key string) (*jira.Issue, error)
- func (c *Client) Issues(keys ...string) (Issues, error)
- func (c *Client) IssuesSetAddParents(is *IssuesSet) error
- func (c *Client) Myself() (*jira.User, *http.Response, error)
- func (c *Client) MyselfUserInfo(ctx context.Context) (*oidc.UserInfo, *jira.User, *jira.Response, error)
- func (c *Client) SearchChildrenIssues(parentKeys ...string) (Issues, error)
- func (c *Client) SearchChildrenIssuesSet(recursive bool, parentKeys ...string) (*IssuesSet, error)
- func (c *Client) SearchIssues(jql string) (Issues, error)
- func (c *Client) SearchIssuesMulti(jqls ...string) (Issues, error)
- func (c *Client) SearchIssuesPages(jql string, limit, offset, maxPages uint) (Issues, error)
- func (c *Client) SearchIssuesSet(jql string) (*IssuesSet, error)
- func (c *Client) SearchIssuesSetParents(is *IssuesSet) (*IssuesSet, error)
- type CustomCol
- type CustomField
- type CustomFieldSchema
- type CustomFields
- type CustomFieldsService
- type CustomJiraProcessor
- type CustomTableCols
- type EpicsSet
- type IssueCalcField
- type IssueCustomField
- type IssueMeta
- type IssueMetas
- type IssueMore
- func (im *IssueMore) AsigneeName() string
- func (im *IssueMore) CreateTime() time.Time
- func (im *IssueMore) CreatorName() string
- func (im *IssueMore) CustomField(customFieldLabel string) (IssueCustomField, error)
- func (im *IssueMore) EpicKey() string
- func (im *IssueMore) EpicName() string
- func (im *IssueMore) EpicNameOrSummary() string
- func (im *IssueMore) Key() string
- func (im *IssueMore) KeyURL(baseURL string) string
- func (im *IssueMore) LabelExists(label string) bool
- func (im *IssueMore) Labels(sortAsc bool) []string
- func (im *IssueMore) Meta(serverURL string) IssueMeta
- func (im *IssueMore) ParentKey() string
- func (im *IssueMore) Project() string
- func (im *IssueMore) ProjectKey() string
- func (im *IssueMore) Resolution() string
- func (im *IssueMore) Status() string
- func (im *IssueMore) Summary() string
- func (im *IssueMore) Type() string
- func (im *IssueMore) UpdateTime() time.Time
- type Issues
- func (ii Issues) AddRank() Issues
- func (ii Issues) CountsByProjectTypeStatus() *histogram.HistogramSets
- func (ii Issues) CountsByType() map[string]int
- func (ii Issues) IssuesSet(cfg *gojira.Config) (*IssuesSet, error)
- func (ii Issues) Keys() []string
- func (ii Issues) Metas(baseURL string) IssueMetas
- func (ii Issues) WriteFileJSON(filename, prefix, indent string) error
- type IssuesResponse
- type IssuesSet
- func (is *IssuesSet) Add(issues ...jira.Issue) error
- func (is *IssuesSet) AddIssuesFile(filename string) error
- func (is *IssuesSet) CountWithTypeFilter(inclTypeFilter []string) uint
- func (is *IssuesSet) Counts() map[string]map[string]uint
- func (is *IssuesSet) CountsByCustomFieldValues(customField string) (map[string]uint, error)
- func (is *IssuesSet) CountsByMetaStage(inclTypeFilter []string) map[string]uint
- func (is *IssuesSet) CountsByProject() map[string]uint
- func (is *IssuesSet) CountsByProjectAndMetaStage(inclTypeFilter []string) *histogram.HistogramSet
- func (is *IssuesSet) CountsByProjectKey() map[string]uint
- func (is *IssuesSet) CountsByStatus() map[string]uint
- func (is *IssuesSet) CountsByTime() map[string]uint
- func (is *IssuesSet) CountsByType(inclLeafs, inclParents bool) map[string]uint
- func (is *IssuesSet) CountsByWorkstream(wsFuncMake WorkstreamFuncMake, inclTypeFilter []string) (map[string]uint, error)
- func (is *IssuesSet) EpicKeys(customFieldID string) []string
- func (is *IssuesSet) ExportWorkstreamProjectkeyStatusTablePivot(wsFuncMake WorkstreamFuncMake, wsFuncIncl WorkstreamFuncIncl, ...) (*table.Table, error)
- func (is *IssuesSet) ExportWorkstreamTypeStatusTablePivot(wsFuncMake WorkstreamFuncMake, wsFuncIncl WorkstreamFuncIncl, ...) (*table.Table, error)
- func (is *IssuesSet) ExportWorkstreamXfieldStatusHistogramSets(wsFuncMake WorkstreamFuncMake, wsFuncIncl WorkstreamFuncIncl, ...) (*histogram.HistogramSets, error)
- func (is *IssuesSet) ExportWorkstreamXfieldStatusTablePivot(wsFuncMake WorkstreamFuncMake, wsFuncIncl WorkstreamFuncIncl, ...) (*table.Table, error)
- func (is *IssuesSet) ExportWorkstremaFilter(wsFuncMake WorkstreamFuncMake, wsFuncIncl WorkstreamFuncIncl) (*IssuesSet, error)
- func (is *IssuesSet) FilterByStatus(inclStatuses, exclStatuses []string) (*IssuesSet, error)
- func (is *IssuesSet) FilterStatus(inclStatuses ...string) (*IssuesSet, error)
- func (is *IssuesSet) FilterType(inclTypes ...string) (*IssuesSet, error)
- func (is *IssuesSet) Get(key string) (jira.Issue, error)
- func (is *IssuesSet) HistogramMap(stdKeys []string, calcFields []IssueCalcField) (*histogram.Histogram, error)
- func (is *IssuesSet) HistogramMapProjectTypeStatus() *histogram.Histogram
- func (is *IssuesSet) HistogramSetProjectType() *histogram.HistogramSet
- func (is *IssuesSet) HistogramSetsProjectTypeStatus() *histogram.HistogramSets
- func (is *IssuesSet) InflateEpicKeys(customFieldEpicLinkID string)
- func (is *IssuesSet) InflateEpics(jclient *jira.Client, customFieldIDEpicLink string) error
- func (is *IssuesSet) IssueFirst() (jira.Issue, error)
- func (is *IssuesSet) IssueMetas() IssueMetas
- func (is *IssuesSet) IssueOrParent(key string) (*jira.Issue, bool)
- func (is *IssuesSet) Issues() Issues
- func (is *IssuesSet) IssuesSetHighestType(issueType string) (*IssuesSet, error)
- func (is *IssuesSet) KeyExists(key string, inclParents bool) bool
- func (is *IssuesSet) Keys() []string
- func (is *IssuesSet) KeysForTypes(types []string, inclBase, inclParents bool) []string
- func (is *IssuesSet) KeysParents() []string
- func (is *IssuesSet) KeysParentsPopulated() []string
- func (is *IssuesSet) KeysParentsUnpopulated() []string
- func (is *IssuesSet) Len() uint
- func (is *IssuesSet) LenLineageTopKeysPopulated() uint
- func (is *IssuesSet) LenLineageTopKeysUnpopulated() uint
- func (is *IssuesSet) LenMap() map[string]uint
- func (is *IssuesSet) LenParents() uint
- func (is *IssuesSet) LenParentsPopulated() uint
- func (is *IssuesSet) LenParentsUnpopulated() uint
- func (is *IssuesSet) Lineage(key string) (IssueMetas, error)
- func (is *IssuesSet) LineageTopKeysPopulated() ([]string, error)
- func (is *IssuesSet) LineageTopKeysUnpopulated() ([]string, error)
- func (is *IssuesSet) LineageValidateKey(key string) ([]string, error)
- func (is *IssuesSet) LineageValidateSet() (popLineage []string, unpopLineage []string, allValid bool)
- func (is *IssuesSet) RetrieveChildrenOfType(client *Client, parentTypes, baseTypes []string) error
- func (is *IssuesSet) RetrieveIssues(client *Client, ids []string) error
- func (is *IssuesSet) RetrieveParents(client *Client) error
- func (is *IssuesSet) StatusesOrder() []string
- func (is *IssuesSet) Table(customCols *CustomTableCols, inclEpic bool, initiativeType string) (*table.Table, error)
- func (is *IssuesSet) TableSet(customCols *CustomTableCols, inclEpic bool, initiativeType string) (*table.TableSet, error)
- func (is *IssuesSet) TableSetProjectTypeStatus(tsConfig *histogram.HistogramMapTableSetConfig) (*table.TableSet, error)
- func (is *IssuesSet) TimeSeriesCreatedMonth() *timeseries.TimeSeries
- func (is *IssuesSet) TimeStats() gojira.TimeStats
- func (is *IssuesSet) Types(inclBase, inclParents bool) []string
- func (is *IssuesSet) WriteFileJSON(name, prefix, indent string) error
- type Status
- type WorkstreamFuncIncl
- type WorkstreamFuncMake
Constants ¶
const ( ParamFields = "fields" ParamJQL = "jql" ParamMaxResults = "maxResults" ParamStartAt = "startAt" ParamValidateQuery = "validateQuery" )
const ( APIURL2ListCustomFields = `/rest/api/2/field` StatusDone = "Done" StatusOpen = "Open" StatusCustomClosed = "Closed" MaxResults = uint(1000) MetaParamRank = "_rank" TimeTimeSpent = "Time Spent" TimeTimeEstimate = "Time Estimate" TimeTimeOriginalEstimate = "Time Original Estimate" TimeAggregateTimeOriginalEstimate = "Aggregate Time Original Estimate" TimeAggregateTimeSpent = "Aggregate Time Spent" TimeAggregateTimeEstimate = "Aggregate Time Estimate" TimeTimeRemaining = "Time Remaining" TimeTimeRemainingOriginal = "Time Remaining Original" FieldSlugType = "type" FieldSlugProjectkey = "projectkey" )
const APIURLMyself = "/rest/api/3/myself"
const (
CustomFieldNameEpicLink = "Epic Link"
)
Variables ¶
var ( ErrClientCannotBeNil = errors.New("client cannot be nil") ErrJiraClientCannotBeNil = errors.New("jira client cannot be nil") )
var ( ErrIssueKeyCannotBeEmpty = errors.New("issue key cannot be empty") ErrIssuesSetCannotBeNil = errors.New("issuesSet cannot be nil") )
var ErrJiraRESTClientCannotBeNil = errors.New("jirarest.Client cannot be nil")
var ErrLineageNotFound = errors.New("lineage not found")
Functions ¶
func BacklogAPIURL ¶
func BacklogAPIURL(baseURL string, boardID uint, qry *BoardBacklogParams) string
BacklogAPIURL returns a backlog issues API URL described at https://docs.atlassian.com/jira-software/REST/7.3.1/ . The description is here: Returns all issues from the board's backlog, for the given board Id. This only includes issues that the user has permission to view. The backlog contains incomplete issues that are not assigned to any future or active sprint. Note, if the user does not have permission to view the board, no issues will be returned at all. Issues returned from this resource include Agile fields, like sprint, closedSprints, flagged, and epic. By default, the returned issues are ordered by rank. Reference: https://docs.atlassian.com/jira-software/REST/7.3.1/#agile/1.0/board-getIssuesForBacklog
func BuildJiraIssueURL ¶
func DefaultHistogramMapTableConfig ¶ added in v0.11.0
func DefaultHistogramMapTableConfig(projectKeys []string) *histogram.HistogramMapTableSetConfig
func DefaultIssuesSetTableColumns ¶
func DefaultIssuesSetTableColumns(inclInitiative, inclEpic bool) *table.ColumnDefinitions
func GetCustomValueString ¶
GetCustomValueString attempts to return a string if either the custom value is a simple string or is an `IssueCustomField`, in which case it returns the `value` property.
func GetUnmarshalCustomValue ¶
GetUnmarshalCustomValue can be used to unmarshal a value to `IssueCustomField{}`.
func IssueFieldsCustomFieldString ¶
func IssueFieldsCustomFieldString(fields *jira.IssueFields, id string) string
IssueFieldsCustomFieldString returns a string custom field, e.g "Epic Link"
func JiraClientBasicAuth ¶
func JiraClientBasicAuthGoauth ¶ added in v0.15.0
func JiraClientBasicAuthGoauth(creds *goauth.CredentialsBasicAuth) (*jira.Client, error)
func NewClientHTTPBasicAuthFile ¶ added in v0.9.0
func NewClientJiraBasicAuthFile ¶ added in v0.9.0
func NewCredentialsBasicAuthGoauthFile ¶ added in v0.9.0
func NewCredentialsBasicAuthGoauthFile(filename, credsKey string) (*goauth.CredentialsBasicAuth, error)
Types ¶
type API ¶ added in v0.8.0
type API struct { Client *Client Backlog *BacklogService CustomFields *CustomFieldsService }
type BacklogService ¶ added in v0.6.0
type BacklogService struct { Client *Client // contains filtered or unexported fields }
func NewBacklogService ¶ added in v0.6.0
func NewBacklogService(client *Client) *BacklogService
func (*BacklogService) GetBacklogIssuesAll ¶ added in v0.6.0
func (s *BacklogService) GetBacklogIssuesAll(boardID uint, jql string) (*IssuesResponse, [][]byte, error)
func (*BacklogService) GetBacklogIssuesResponse ¶ added in v0.6.0
func (s *BacklogService) GetBacklogIssuesResponse(boardID uint, qry *BoardBacklogParams) (*IssuesResponse, []byte, error)
func (*BacklogService) GetBacklogIssuesSetAll ¶ added in v0.6.0
type BoardBacklogParams ¶ added in v0.6.0
type BoardBacklogParams struct { StartAt uint `url:"startAt"` MaxResults uint `url:"maxResults"` JQL string `url:"jql"` ValidateQuery bool `url:"validateQuery"` Fields string `url:"fields"` Expand string `url:"expand"` }
func (BoardBacklogParams) URLValues ¶ added in v0.6.0
func (p BoardBacklogParams) URLValues() url.Values
type Client ¶ added in v0.7.0
type Client struct { Config *gojira.Config HTTPClient *http.Client JiraClient *jira.Client Logger *zerolog.Logger // contains filtered or unexported fields }
func NewClientBasicAuth ¶ added in v0.15.0
func NewClientGoauthBasicAuthFile ¶ added in v0.9.0
func (*Client) GetIssuesSetForKeys ¶ added in v0.7.0
func (*Client) IssuesSetAddParents ¶ added in v0.9.0
func (*Client) MyselfUserInfo ¶ added in v0.15.0
func (*Client) SearchChildrenIssues ¶ added in v0.12.0
func (*Client) SearchChildrenIssuesSet ¶ added in v0.15.0
func (*Client) SearchIssues ¶ added in v0.7.0
SearchIssues returns all issues for a JQL query, automatically handling API pagination.
func (*Client) SearchIssuesMulti ¶ added in v0.7.0
func (*Client) SearchIssuesPages ¶ added in v0.10.0
SearchIssuesPage returns all issues for a JQL query, automatically handling API pagination. A `limit` value of `0` means the max results available. A `maxPages` of `0` means to retrieve all pages.
func (*Client) SearchIssuesSet ¶ added in v0.9.0
type CustomField ¶
type CustomField struct { ID string `json:"id"` // "customfield_12345" Key string `json:"key"` Name string `json:"name"` UntranslatedName string `json:"untranslatedName"` Custom bool `json:"custom"` Orderable bool `json:"orderable"` Searchable bool `json:"searchable"` ClauseNames []string `json:"clauseNames"` Schema CustomFieldSchema `json:"schema"` }
type CustomFieldSchema ¶
type CustomFields ¶
type CustomFields []CustomField
func (CustomFields) FilterByIDs ¶
func (cfs CustomFields) FilterByIDs(ids ...string) CustomFields
func (CustomFields) FilterByNames ¶
func (cfs CustomFields) FilterByNames(names ...string) CustomFields
func (CustomFields) SortByName ¶
func (cfs CustomFields) SortByName(asc bool) CustomFields
func (CustomFields) WriteTable ¶
func (cfs CustomFields) WriteTable(w io.Writer)
type CustomFieldsService ¶ added in v0.8.0
type CustomFieldsService struct {
JRClient *Client
}
func NewCustomFieldsService ¶ added in v0.8.0
func NewCustomFieldsService(client *Client) *CustomFieldsService
func (*CustomFieldsService) GetCustomField ¶ added in v0.8.0
func (svc *CustomFieldsService) GetCustomField(customFieldName string) (CustomField, error)
func (*CustomFieldsService) GetCustomFieldEpicLink ¶ added in v0.8.0
func (svc *CustomFieldsService) GetCustomFieldEpicLink() (CustomField, error)
func (*CustomFieldsService) GetCustomFields ¶ added in v0.8.0
func (svc *CustomFieldsService) GetCustomFields() (CustomFields, error)
type CustomJiraProcessor ¶ added in v0.11.0
type CustomJiraProcessor struct {
*IssuesSet
}
type CustomTableCols ¶
type CustomTableCols struct {
Cols []CustomCol
}
type EpicsSet ¶
func NewEpicsSet ¶
func NewEpicsSet() EpicsSet
type IssueCalcField ¶ added in v0.11.0
type IssueCustomField ¶
type IssueCustomField struct { ID string `json:"id"` Self string `json:"self"` Value string `json:"value"` }
func GetIssueCustomValueStruct ¶
func GetIssueCustomValueStruct(iss jira.Issue) (*IssueCustomField, error)
type IssueMeta ¶ added in v0.7.0
type IssueMeta struct { AssigneeName string CreateTime *time.Time CreatorName string EpicName string Key string KeyURL string Labels []string ParentKey string Project string ProjectKey string Resolution string Status string Summary string Type string UpdateTime *time.Time }
func (*IssueMeta) BuildKeyURL ¶ added in v0.9.0
func (*IssueMeta) KeyLinkMarkdown ¶ added in v0.9.0
KeyLinkMarkdown returns a link of both `Key` and `KeyURL` are non-empty,`Key` if `Key` is non-empty or an empty string if both are empty.
type IssueMetas ¶ added in v0.7.0
type IssueMetas []IssueMeta
func (IssueMetas) HighestAboveEpic ¶ added in v0.9.0
func (ims IssueMetas) HighestAboveEpic() *IssueMeta
HighestAboveEpic returns the highest item that follows an Epic.
func (IssueMetas) HighestEpic ¶ added in v0.9.0
func (ims IssueMetas) HighestEpic() *IssueMeta
HighestEpic returns the highest most Epic.
func (IssueMetas) HighestType ¶ added in v0.9.0
func (ims IssueMetas) HighestType(issueType string) *IssueMeta
type IssueMore ¶ added in v0.7.0
func (*IssueMore) AsigneeName ¶ added in v0.7.0
func (*IssueMore) CreateTime ¶ added in v0.7.0
func (*IssueMore) CreatorName ¶ added in v0.7.0
func (*IssueMore) CustomField ¶ added in v0.8.0
func (im *IssueMore) CustomField(customFieldLabel string) (IssueCustomField, error)
CustomField takes a custom value key such as `customfield_12345`.`
func (*IssueMore) EpicNameOrSummary ¶ added in v0.8.1
func (*IssueMore) LabelExists ¶ added in v0.11.0
func (*IssueMore) ProjectKey ¶ added in v0.7.0
func (*IssueMore) Resolution ¶ added in v0.7.0
func (*IssueMore) UpdateTime ¶ added in v0.7.0
type Issues ¶
func IssuesReadFileJSON ¶ added in v0.7.0
func (Issues) CountsByProjectTypeStatus ¶
func (ii Issues) CountsByProjectTypeStatus() *histogram.HistogramSets
CountsByProjectTypeStatus returns a `*histogram.Histogram` with issue counts by project, type, and status. This can be used to export CSV and XLSX sheets for analysis.
func (Issues) CountsByType ¶
func (Issues) Metas ¶ added in v0.9.0
func (ii Issues) Metas(baseURL string) IssueMetas
func (Issues) WriteFileJSON ¶ added in v0.7.0
type IssuesResponse ¶
type IssuesResponse struct { Issues Issues `json:"issues" structs:"issues"` Expand string `json:"expand"` StartAt int `json:"startAt" structs:"startAt"` MaxResults int `json:"maxResults" structs:"maxResults"` Total int `json:"total" structs:"total"` }
IssuesResponse is only a small wrapper around the Search (with JQL) method to be able to parse the results
func IssuesResponseReadFile ¶
func IssuesResponseReadFile(filename string) (*IssuesResponse, error)
func ParseIssuesResponseBytes ¶
func ParseIssuesResponseBytes(b []byte) (*IssuesResponse, error)
func ParseIssuesResponseReader ¶
func ParseIssuesResponseReader(r io.Reader) (*IssuesResponse, error)
type IssuesSet ¶
func IssuesSetReadFileJSON ¶ added in v0.9.0
func NewIssuesSet ¶
func (*IssuesSet) AddIssuesFile ¶ added in v0.10.0
func (*IssuesSet) CountWithTypeFilter ¶ added in v0.14.0
func (*IssuesSet) CountsByCustomFieldValues ¶ added in v0.11.0
CountsByCustomFieldValues returns a list of custom field value counts where `customField` is in the format `customfield_12345`.
func (*IssuesSet) CountsByMetaStage ¶ added in v0.14.0
func (*IssuesSet) CountsByProject ¶ added in v0.7.0
func (*IssuesSet) CountsByProjectAndMetaStage ¶ added in v0.16.0
func (is *IssuesSet) CountsByProjectAndMetaStage(inclTypeFilter []string) *histogram.HistogramSet
func (*IssuesSet) CountsByProjectKey ¶ added in v0.7.0
func (*IssuesSet) CountsByStatus ¶ added in v0.6.0
func (*IssuesSet) CountsByTime ¶ added in v0.6.0
func (*IssuesSet) CountsByType ¶ added in v0.6.0
func (*IssuesSet) CountsByWorkstream ¶ added in v0.14.0
func (*IssuesSet) ExportWorkstreamProjectkeyStatusTablePivot ¶ added in v0.12.0
func (is *IssuesSet) ExportWorkstreamProjectkeyStatusTablePivot(wsFuncMake WorkstreamFuncMake, wsFuncIncl WorkstreamFuncIncl, useStatusCategory bool) (*table.Table, error)
func (*IssuesSet) ExportWorkstreamTypeStatusTablePivot ¶ added in v0.12.0
func (is *IssuesSet) ExportWorkstreamTypeStatusTablePivot(wsFuncMake WorkstreamFuncMake, wsFuncIncl WorkstreamFuncIncl, useStatusCategory bool) (*table.Table, error)
func (*IssuesSet) ExportWorkstreamXfieldStatusHistogramSets ¶ added in v0.12.0
func (is *IssuesSet) ExportWorkstreamXfieldStatusHistogramSets( wsFuncMake WorkstreamFuncMake, wsFuncIncl WorkstreamFuncIncl, xfieldSlug string, useStatusCategory bool) (*histogram.HistogramSets, error)
func (*IssuesSet) ExportWorkstreamXfieldStatusTablePivot ¶ added in v0.12.0
func (is *IssuesSet) ExportWorkstreamXfieldStatusTablePivot(wsFuncMake WorkstreamFuncMake, wsFuncIncl WorkstreamFuncIncl, xfieldSlug, xfieldName string, useStatusCategory bool) (*table.Table, error)
func (*IssuesSet) ExportWorkstremaFilter ¶ added in v0.14.0
func (is *IssuesSet) ExportWorkstremaFilter(wsFuncMake WorkstreamFuncMake, wsFuncIncl WorkstreamFuncIncl) (*IssuesSet, error)
func (*IssuesSet) FilterByStatus ¶ added in v0.6.0
func (*IssuesSet) FilterStatus ¶ added in v0.7.0
func (*IssuesSet) FilterType ¶ added in v0.7.0
func (*IssuesSet) HistogramMap ¶ added in v0.11.0
func (*IssuesSet) HistogramMapProjectTypeStatus ¶ added in v0.11.0
HistogramMapProjectTypeStatus provides issue counts by: Project, Type, and Status.
func (*IssuesSet) HistogramSetProjectType ¶ added in v0.9.0
func (is *IssuesSet) HistogramSetProjectType() *histogram.HistogramSet
HistogramSetProjectType returns a list of histograms by Project and Type.
func (*IssuesSet) HistogramSetsProjectTypeStatus ¶ added in v0.11.0
func (is *IssuesSet) HistogramSetsProjectTypeStatus() *histogram.HistogramSets
HistogramSetsProjectTypeStatus provides issue counts by: Project, Type, and Status.
func (*IssuesSet) InflateEpicKeys ¶
func (*IssuesSet) InflateEpics ¶
InflateEpics uses the Jira REST API to inflate the Issue struct with an Epic struct.
func (*IssuesSet) IssueFirst ¶ added in v0.12.0
func (*IssuesSet) IssueMetas ¶ added in v0.9.0
func (is *IssuesSet) IssueMetas() IssueMetas
func (*IssuesSet) IssueOrParent ¶ added in v0.10.0
func (*IssuesSet) IssuesSetHighestType ¶ added in v0.9.0
func (*IssuesSet) KeyExists ¶ added in v0.12.0
KeyExists returns a boolean representing the existence of an issue key.
func (*IssuesSet) KeysForTypes ¶ added in v0.12.0
func (*IssuesSet) KeysParents ¶ added in v0.10.0
func (*IssuesSet) KeysParentsPopulated ¶ added in v0.10.0
ParentsPopulated returns issue ids that are in the current set or current parent set.
func (*IssuesSet) KeysParentsUnpopulated ¶ added in v0.10.0
ParentsUnpopulated returns issue ids that are not in the current set or current parent set.
func (*IssuesSet) LenLineageTopKeysPopulated ¶ added in v0.10.0
func (*IssuesSet) LenLineageTopKeysUnpopulated ¶ added in v0.10.0
func (*IssuesSet) LenMap ¶ added in v0.10.0
LenMap provides various metrics. It is useful for determining if all parents and lineages have been loaded.
func (*IssuesSet) LenParents ¶ added in v0.10.0
func (*IssuesSet) LenParentsPopulated ¶ added in v0.10.0
func (*IssuesSet) LenParentsUnpopulated ¶ added in v0.10.0
func (*IssuesSet) Lineage ¶ added in v0.7.0
func (is *IssuesSet) Lineage(key string) (IssueMetas, error)
Lineage returns a slice of `IssueMeta` where the supplied key is in index 0 and the most senior parent is the last element of the slice. If a parent is not found in the set, an error is returned.
func (*IssuesSet) LineageTopKeysPopulated ¶ added in v0.10.0
func (*IssuesSet) LineageTopKeysUnpopulated ¶ added in v0.10.0
func (*IssuesSet) LineageValidateKey ¶ added in v0.10.0
LineageValidateKey returns a lineage slice where the leaf key is in index position 0 (little-endian). This is done in case a parent cannot be found in which case the boolean returned is false.
func (*IssuesSet) LineageValidateSet ¶ added in v0.10.0
func (*IssuesSet) RetrieveChildrenOfType ¶ added in v0.12.0
RetrieveChildrenOfType retrieves all children of supplied parent types. If the child matches a base type, it is inserted into the current `IssuesSet`. If it is not a baseType, it is inserted into `Parents`. Of note, this will only load children of parent types that are already in the `IssuesSet`.
func (*IssuesSet) RetrieveIssues ¶ added in v0.7.0
func (*IssuesSet) RetrieveParents ¶ added in v0.7.0
func (*IssuesSet) StatusesOrder ¶ added in v0.13.0
func (*IssuesSet) Table ¶
func (is *IssuesSet) Table(customCols *CustomTableCols, inclEpic bool, initiativeType string) (*table.Table, error)
Table returns a `table.Table` where each record is a Jira issue starting with a linked issue key.
func (*IssuesSet) TableSet ¶ added in v0.9.0
func (is *IssuesSet) TableSet(customCols *CustomTableCols, inclEpic bool, initiativeType string) (*table.TableSet, error)
TableSet is designed to return a `table.TableSet` where the tables include a list of issues and optionally, epics, and/or initiatives.
func (*IssuesSet) TableSetProjectTypeStatus ¶ added in v0.11.0
func (*IssuesSet) TimeSeriesCreatedMonth ¶ added in v0.15.0
func (is *IssuesSet) TimeSeriesCreatedMonth() *timeseries.TimeSeries
TimeSeriesCreatedMonth provides issue counts by month by create date
func (*IssuesSet) WriteFileJSON ¶ added in v0.7.0
type Status ¶
func IssueStatuses ¶
func IssueStatuses() []Status
type WorkstreamFuncIncl ¶ added in v0.12.0
type WorkstreamFuncMake ¶ added in v0.12.0
Source Files ¶
- api.go
- backlog_request.go
- client.go
- constants_urls.go
- customfield.go
- epic.go
- errors.go
- issue_fields_simple.go
- issue_meta.go
- issue_more.go
- issues.go
- issues_response.go
- issues_set.go
- issues_set_children.go
- issues_set_counts.go
- issues_set_histograms.go
- issues_set_lineage.go
- issues_set_meta.go
- issues_set_parents.go
- myself.go