Documentation ¶
Overview ¶
Atlassian Stash API package. Stash API Reference: https://developer.atlassian.com/static/rest/stash/3.0.1/stash-rest.html
Index ¶
- Variables
- func IsRepositoryExists(err error) bool
- func IsRepositoryNotFound(err error) bool
- type Addon
- type Author
- type Branch
- type BranchPermission
- type BranchRestriction
- type BranchRestrictions
- type Branches
- type Client
- func (client Client) CreateBranchRestriction(projectKey, repositorySlug, branch, user string) (BranchRestriction, error)
- func (client Client) CreateComment(projectKey, repositorySlug, pullRequest, text string) (Comment, error)
- func (client Client) CreateMeshNode(address string) (MeshNode, error)
- func (client Client) CreateProject(projectKey string) (Project, error)
- func (client Client) CreatePullRequest(title, description string, fromRef, toRef PullRequestRef, reviewers []string) (PullRequest, error)
- func (client Client) CreateRepository(projectKey, repositorySlug string) (Repository, error)
- func (client Client) CreateUser(name, password, displayName, email string) (User, error)
- func (client Client) DeleteBranch(projectKey, repositorySlug, branchName string) error
- func (client Client) DeleteBranchRestriction(projectKey, repositorySlug string, id int) error
- func (client Client) DisableAddon(token string, addon Addon) error
- func (client Client) EnableAddon(token string, addon Addon) error
- func (client Client) ForkRepository(projectKey string, repositorySlug string, forkName string) (*Repository, error)
- func (client Client) GetAddon(upmToken, key string) (Addon, error)
- func (client Client) GetBranchRestrictions(projectKey, repositorySlug string) (BranchRestrictions, error)
- func (client Client) GetBranches(projectKey, repositorySlug string) (map[string]Branch, error)
- func (client Client) GetCluster() (Cluster, error)
- func (client Client) GetCommit(projectKey, repositorySlug, commitHash string) (Commit, error)
- func (client Client) GetCommits(projectKey, repositorySlug, commitSinceHash, commitUntilHash string) (Commits, error)
- func (client Client) GetMeshNodes() ([]MeshNode, error)
- func (client Client) GetProjectRepositories(projectKey string) (map[int]Repository, error)
- func (client Client) GetPullRequest(projectKey, repositorySlug, identifier string) (PullRequest, error)
- func (client Client) GetPullRequests(projectKey, repositorySlug, state string) ([]PullRequest, error)
- func (client Client) GetRawFile(repositoryProjectKey, repositorySlug, filePath, branch string) ([]byte, error)
- func (client Client) GetRepositories() (map[int]Repository, error)
- func (client Client) GetRepository(projectKey, repositorySlug string) (Repository, error)
- func (client Client) GetTags(projectKey, repositorySlug string) (map[string]Tag, error)
- func (client Client) GetUPMToken() (string, error)
- func (client Client) GrantRepositoryUserPermission(projectKey, repositorySlug, user, permission string) error
- func (client Client) InstallAddon(token, path string) (string, error)
- func (client Client) MergePullRequest(projectKey string, repositorySlug string, identifier string, version int) (*MergeResult, error)
- func (client Client) MoveRepository(projectKey, repositorySlug, newProjectKey string) error
- func (client Client) RemoveRepository(projectKey, repositorySlug string) error
- func (client Client) RenameRepository(projectKey, repositorySlug, newSlug string) error
- func (client Client) RevokeRepositoryUserPermission(projectKey, repositorySlug, user string) error
- func (client Client) SetAddonLicense(addon, license string) error
- func (client Client) UninstallAddon(token, key string) error
- func (client Client) UpdateGitMeshSettings(settings GitMeshSettings) error
- func (client Client) UpdatePullRequest(projectKey, repositorySlug, identifier string, version int, ...) (PullRequest, error)
- type Clone
- type Cluster
- type ClusterNode
- type Comment
- type CommentResource
- type Commit
- type Commits
- type GitMeshSettings
- type Links
- type MergeResult
- type MeshNode
- type Page
- type Project
- type PullRequest
- type PullRequestProject
- type PullRequestRef
- type PullRequestRepository
- type PullRequestResource
- type PullRequests
- type Ref
- type Repositories
- type Repository
- type Reviewer
- type Stash
- type Tag
- type Tags
- type User
Constants ¶
This section is empty.
Variables ¶
Functions ¶
func IsRepositoryExists ¶
func IsRepositoryNotFound ¶
Types ¶
type Addon ¶
type Addon struct { Links struct { Self string `json:"self"` PluginSummary string `json:"plugin-summary"` Modify string `json:"modify"` PluginIcon string `json:"plugin-icon"` PluginLogo string `json:"plugin-logo"` Manage string `json:"manage"` Delete string `json:"delete"` } `json:"links"` Key string `json:"key"` Enabled bool `json:"enabled"` EnabledByDefault bool `json:"enabledByDefault"` Version string `json:"version"` Description string `json:"description"` Name string `json:"name"` Modules []struct { Key string `json:"key"` CompleteKey string `json:"completeKey"` Links struct { Self string `json:"self"` Plugin string `json:"plugin"` } `json:"links"` Enabled bool `json:"enabled"` Optional bool `json:"optional"` Name string `json:"name,omitempty"` RecognisableType bool `json:"recognisableType"` Broken bool `json:"broken"` Description string `json:"description,omitempty"` } `json:"modules"` UserInstalled bool `json:"userInstalled"` Optional bool `json:"optional"` UnrecognisedModuleTypes bool `json:"unrecognisedModuleTypes"` Unloadable bool `json:"unloadable"` Static bool `json:"static"` UsesLicensing bool `json:"usesLicensing"` Remotable bool `json:"remotable"` Vendor struct { Name string `json:"name"` MarketplaceLink string `json:"marketplaceLink"` Link string `json:"link"` } `json:"vendor"` }
type BranchPermission ¶
type BranchRestriction ¶
type BranchRestrictions ¶
type BranchRestrictions struct {
BranchRestriction []BranchRestriction `json:"values"`
}
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
func (Client) CreateBranchRestriction ¶
func (client Client) CreateBranchRestriction( projectKey, repositorySlug, branch, user string, ) (BranchRestriction, error)
func (Client) CreateComment ¶
func (client Client) CreateComment( projectKey, repositorySlug, pullRequest, text string, ) (Comment, error)
CreateComment creates a comment for a pull-request.
func (Client) CreateMeshNode ¶ added in v1.2.4
func (Client) CreateProject ¶
func (Client) CreatePullRequest ¶
func (client Client) CreatePullRequest( title, description string, fromRef, toRef PullRequestRef, reviewers []string, ) (PullRequest, error)
CreatePullRequest creates a pull request between branches.
func (Client) CreateRepository ¶
func (client Client) CreateRepository( projectKey, repositorySlug string, ) (Repository, error)
func (Client) CreateUser ¶
func (Client) DeleteBranch ¶
func (Client) DeleteBranchRestriction ¶
GetRepository returns a repository representation for the given Stash Project key and repository slug.
func (Client) ForkRepository ¶ added in v1.2.0
func (Client) GetBranchRestrictions ¶
func (client Client) GetBranchRestrictions( projectKey, repositorySlug string, ) (BranchRestrictions, error)
func (Client) GetBranches ¶
GetBranches returns a map of branches indexed by branch display name for the given repository.
func (Client) GetCluster ¶ added in v1.2.3
func (Client) GetCommits ¶
func (client Client) GetCommits( projectKey, repositorySlug, commitSinceHash, commitUntilHash string, ) (Commits, error)
GetCommits returns the commits between two hashes, inclusively.
func (Client) GetMeshNodes ¶ added in v1.2.4
func (Client) GetProjectRepositories ¶
func (client Client) GetProjectRepositories( projectKey string, ) (map[int]Repository, error)
func (Client) GetPullRequest ¶
func (client Client) GetPullRequest( projectKey, repositorySlug, identifier string, ) (PullRequest, error)
GetPullRequest returns a pull request for a project/slug with specified identifier.
func (Client) GetPullRequests ¶
func (client Client) GetPullRequests( projectKey, repositorySlug, state string, ) ([]PullRequest, error)
GetPullRequests returns a list of pull requests for a project / slug.
func (Client) GetRawFile ¶
func (Client) GetRepositories ¶
func (client Client) GetRepositories() (map[int]Repository, error)
GetRepositories returns a map of repositories indexed by repository URL.
func (Client) GetRepository ¶
func (client Client) GetRepository( projectKey, repositorySlug string, ) (Repository, error)
GetRepository returns a repository representation for the given Stash Project key and repository slug.
func (Client) GetTags ¶
GetTags returns a map of tags indexed by tag display name for the given repository.
func (Client) GetUPMToken ¶
func (Client) GrantRepositoryUserPermission ¶
func (Client) InstallAddon ¶
func (Client) MergePullRequest ¶
func (Client) MoveRepository ¶
func (Client) RemoveRepository ¶
func (Client) RenameRepository ¶
func (Client) RevokeRepositoryUserPermission ¶
func (Client) SetAddonLicense ¶
func (Client) UninstallAddon ¶
func (Client) UpdateGitMeshSettings ¶ added in v1.2.4
func (client Client) UpdateGitMeshSettings(settings GitMeshSettings) error
func (Client) UpdatePullRequest ¶
func (client Client) UpdatePullRequest( projectKey, repositorySlug, identifier string, version int, title, description, toRef string, reviewers []string, ) (PullRequest, error)
UpdatePullRequest update a pull request.
type Cluster ¶ added in v1.2.3
type Cluster struct { LocalNode ClusterNode `json:"localNode"` Running bool `json:"running"` Nodes []ClusterNode `json:"nodes"` }
type ClusterNode ¶ added in v1.2.3
type CommentResource ¶
type CommentResource struct {
Text string `json:"text"`
}
type Commit ¶
type Commit struct { ID string `json:"id"` DisplayID string `json:"displayId"` Author struct { Name string `json:"name"` EmailAddress string `json:"emailAddress"` } `json:"author"` AuthorTimestamp int64 `json:"authorTimestamp"` // in milliseconds since the epoch Attributes struct { JiraKeys []string `json:"jira-key"` } `json:"attributes"` }
type GitMeshSettings ¶ added in v1.2.4
type MergeResult ¶
type PullRequest ¶
type PullRequest struct { ID int `id:"closed"` Version int ` json:"version"` Closed bool ` json:"closed"` Open bool ` json:"open"` State string ` json:"state"` Title string ` json:"title"` Description string ` json:"description"` FromRef Ref ` json:"fromRef"` ToRef Ref ` json:"toRef"` CreatedDate int64 ` json:"createdDate"` UpdatedDate int64 ` json:"updatedDate"` Reviewers []Reviewer ` json:"reviewers"` Author Author ` json:"author"` }
type PullRequestProject ¶
type PullRequestProject struct {
Key string `json:"key"`
}
type PullRequestRef ¶
type PullRequestRef struct { Id string `json:"id"` Repository PullRequestRepository `json:"repository"` }
type PullRequestRepository ¶
type PullRequestRepository struct { Slug string `json:"slug"` Name string `json:"name,omitempty"` Project PullRequestProject `json:"project"` }
type PullRequestResource ¶
type PullRequestResource struct { Version int `json:"version,omitempty"` Title string `json:"title,omitempty"` Description string `json:"description,omitempty"` // FromRef and ToRef should be PullRequestRef but there is interface{} // for omitting empty values. encoding/json can't handle empty structs // and omit them. FromRef interface{} `json:"fromRef,omitempty"` ToRef interface{} `json:"toRef,omitempty"` Reviewers []Reviewer `json:"reviewers,omitempty"` }
type PullRequests ¶
type PullRequests struct { Page PullRequests []PullRequest `json:"values"` }
type Ref ¶
type Ref struct { ID string `json:"id"` LatestCommit string `json:"latestCommit"` DisplayID string `json:"displayId"` Repository Repository `json:"repository"` }
type Repositories ¶
type Repositories struct { IsLastPage bool `json:"isLastPage"` Size int `json:"size"` Start int `json:"start"` NextPageStart int `json:"nextPageStart"` Repository []Repository `json:"values"` }
type Repository ¶
type Repository struct { ID int `json:"id"` Name string `json:"name"` Slug string `json:"slug"` Project Project `json:"project"` ScmID string `json:"scmId"` Links Links `json:"links"` }
func HasRepository ¶
func HasRepository( repositories map[int]Repository, url string, ) (Repository, bool)
func (Repository) SshUrl ¶
func (repo Repository) SshUrl() string
SshUrl extracts the SSH-based URL from the repository metadata.
type Stash ¶
type Stash interface { CreateProject(projectKey string) (Project, error) CreateRepository(projectKey, slug string) (Repository, error) RenameRepository(projectKey, slug, newslug string) error MoveRepository(projectKey, slug, newslug string) error RemoveRepository(projectKey, slug string) error ForkRepository(projectKey, slug, forkSlug string) (*Repository, error) GetRepositories() (map[int]Repository, error) GetProjectRepositories(projectKey string) (map[int]Repository, error) GetBranches( projectKey, repositorySlug string, ) (map[string]Branch, error) GetTags(projectKey, repositorySlug string) (map[string]Tag, error) CreateBranchRestriction( projectKey, repositorySlug, branch, user string, ) (BranchRestriction, error) GetBranchRestrictions( projectKey, repositorySlug string, ) (BranchRestrictions, error) DeleteBranchRestriction(projectKey, repositorySlug string, id int) error GetRepository(projectKey, repositorySlug string) (Repository, error) GetPullRequests( projectKey, repositorySlug, state string, ) ([]PullRequest, error) GetPullRequest( projectKey, repositorySlug, identifier string, ) (PullRequest, error) GetRawFile( projectKey, repositorySlug, branch, filePath string, ) ([]byte, error) CreatePullRequest( title, description string, fromRef, toRef PullRequestRef, reviewers []string, ) (PullRequest, error) UpdatePullRequest( projectKey, repositorySlug, identifier string, version int, title, description, toRef string, reviewers []string, ) (PullRequest, error) MergePullRequest( projectKey, repositorySlug, identifier string, version int, ) (*MergeResult, error) DeleteBranch(projectKey, repositorySlug, branchName string) error GetCommit(projectKey, repositorySlug, commitHash string) (Commit, error) GetCommits( projectKey, repositorySlug, commitSinceHash, commitUntilHash string, ) (Commits, error) CreateComment( projectKey, repositorySlug, pullRequest, text string, ) (Comment, error) GetUPMToken() (string, error) GetAddon(upmToken, addon string) (Addon, error) InstallAddon(upmToken, path string) (string, error) UninstallAddon(upmToken, addon string) error EnableAddon(upmToken string, addon Addon) error DisableAddon(upmToken string, addon Addon) error SetAddonLicense(addon, license string) error CreateUser(name, password, displayName, email string) (User, error) UpdateGitMeshSettings(settings GitMeshSettings) error CreateMeshNode(address string) (MeshNode, error) GetMeshNodes() ([]MeshNode, error) GetCluster() (Cluster, error) GrantRepositoryUserPermission( projectKey, repositorySlug, user, permission string, ) error RevokeRepositoryUserPermission( projectKey, repositorySlug, user string, ) error }