gong

package module
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: Jun 8, 2017 License: MIT Imports: 10 Imported by: 0

README

Gong

Summary

Working with Jira can be a delight but it can also be a huge pain if you are like me, working in the terminal most of the day. Opening the browser and entering a bunch of fields can be a real pain.

I created (am creating) jglow to solve a bunch of my pains in managing my flow

Usage

Login

In order to use gong you first you need to login.

gong login will prompt you 3 things.

Type your username please: avi.zurel@DOMAIN.com
Please type your password. Don't worry, nothing will show on the screen: ************************
What is the instance URL for Jira (no need for https://): ORG.atlassian.net
Successfully logged in to Jira, congrats!

Login will check your credentials against Jira, if details are correct, it will save the login details to disk. By default this goes to $HOME/.gong.ini

Start working on an issue

gong start {issue-id} --type feature

If you want to start working on an issue, you can type in gong start with the issue id and what type of work is this (defaults to feature).

This will do a couple of things

  1. Create a branch name {type}/{issue-id}-{issue-title-sluggified}
  2. Transition the issue to a started state
gong browse

While working on a branch that matches the gong regular expression (look above), you can type gong browse and it will open up a browser opened on the issue automatically.

gong comment

While working on a branch that matches the gong regular expression, you can type gong comment "some comment" and it will send a comment on the ticket.

This is a perfect way to streamline communication

Work in progress

This is very much a work in progress and I am adding more features.

Upcoming features

gong slack

Send a message to a slack channel, tagging the issue you are working on

gong create

Create a ticket, automatically giving you an id and starting to work on the issue.

gong next/pick

Show you the next items on your backlog, be able to start one without opening the browser

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Browse added in v1.2.0

func Browse(client Client, branchName string) (string, error)

func Comment added in v1.2.0

func Comment(client Client, branchName, comment string) error

func GetFileLocation added in v1.2.0

func GetFileLocation() string

func GetIssueId added in v1.2.0

func GetIssueId(branchName string) string

func GetUserHomeOrDefault added in v1.2.0

func GetUserHomeOrDefault() string

func Load

func Load() (map[string]string, error)

func Login added in v1.2.0

func Login(client Client) (bool, error)

func Save added in v1.2.0

func Save(values map[string]string) error

func SlugifyTitle

func SlugifyTitle(ticketTitle string) string

func Start added in v1.2.0

func Start(client Client, issueType, issueId string) (string, error)

Types

type Client added in v1.2.0

type Client interface {
	GetAuthFields() map[string]bool
	GetName() string
	FormatField(fieldName string, value string) string
	Authenticate(fields map[string]string) bool
	Start(issueType string, issueId string) (branchName string, err error)
	Browse(branchName string) (string, error)
	Comment(branchName, comment string) error
}

func NewAuthenticatedClient added in v1.2.0

func NewAuthenticatedClient() (Client, error)

func NewClient added in v1.2.0

func NewClient(clientName string) (Client, error)

type JiraClient added in v1.2.0

type JiraClient struct {
	// contains filtered or unexported fields
}

func NewJiraClient added in v1.2.0

func NewJiraClient() *JiraClient

func (*JiraClient) Authenticate added in v1.2.0

func (j *JiraClient) Authenticate(fields map[string]string) bool

func (*JiraClient) Browse added in v1.2.0

func (j *JiraClient) Browse(branchName string) (string, error)

func (*JiraClient) Comment added in v1.2.0

func (j *JiraClient) Comment(branchName, comment string) error

func (*JiraClient) FormatField added in v1.2.0

func (j *JiraClient) FormatField(fieldName string, value string) string

func (*JiraClient) GetAuthFields added in v1.2.0

func (j *JiraClient) GetAuthFields() map[string]bool

func (*JiraClient) GetBranchName added in v1.2.0

func (j *JiraClient) GetBranchName(issueType string, issueId string) (string, error)

func (*JiraClient) GetName added in v1.2.0

func (j *JiraClient) GetName() string

func (*JiraClient) Start added in v1.2.0

func (j *JiraClient) Start(issueType string, issueId string) (string, error)

Directories

Path Synopsis
cmd

Jump to

Keyboard shortcuts

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