Help us shape the future of Go! Take the 2026 Go Developer Survey

constants

package
v1.3.0 Latest Latest
Warning

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

Go to latest
Published: Oct 7, 2022 License: Apache-2.0 Imports: 1 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// Bot configs
	BotUsername    = "azuredevops"
	BotDisplayName = "Azure DevOps"
	BotDescription = "A bot account created by the Azure DevOps plugin."

	// Plugin configs
	PluginID               = "mattermost-plugin-azure-devops"
	ChannelID              = "channel_id"
	HeaderMattermostUserID = "Mattermost-User-ID"

	// Command configs
	CommandTriggerName = "azuredevops"
	HelpText           = "###### Mattermost Azure DevOps Plugin - Slash Command Help\n" +
		"* `/azuredevops connect` - Connect your Mattermost account to your Azure DevOps account.\n" +
		"* `/azuredevops disconnect` - Disconnect your Mattermost account from your Azure DevOps account.\n" +
		"* `/azuredevops link [projectURL]` - Link your project to a current channel.\n" +
		"* `/azuredevops boards create [title] [description]` - Create a new task for your project.\n" +
		"* `/azuredevops boards subscription add` - Add a new Boards subscription for your linked projects.\n" +
		"* `/azuredevops boards subscription list [me or anyone] [all_channels]` - View Boards subscriptions.\n" +
		"* `/azuredevops boards subscription delete [subscription id]` - Unsubscribe a Boards subscription"
	InvalidCommand      = "Invalid command parameters. Please use `/azuredevops help` for more information."
	CommandHelp         = "help"
	CommandConnect      = "connect"
	CommandDisconnect   = "disconnect"
	CommandLink         = "link"
	CommandBoards       = "boards"
	CommandRepos        = "repos"
	CommandCreate       = "create"
	CommandSubscription = "subscription"
	CommandAdd          = "add"
	CommandList         = "list"
	CommandDelete       = "delete"

	// Get task link preview constants
	HTTPS              = "https:"
	HTTP               = "http:"
	AzureDevopsBaseURL = "dev.azure.com"
	Workitems          = "_workitems"
	Edit               = "edit"

	// Azure API Versions
	CreateTaskAPIVersion = "7.1-preview.3"
	TasksIDAPIVersion    = "5.1"
	TasksAPIVersion      = "6.0"

	// Subscription constants
	PublisherID                           = "tfs"
	ConsumerID                            = "webHooks"
	ConsumerActionID                      = "httpRequest"
	SubscriptionEventPullRequestCreated   = "git.pullrequest.created"
	SubscriptionEventPullRequestUpdated   = "git.pullrequest.updated"
	SubscriptionEventPullRequestCommented = "ms.vss-code.git-pullrequest-comment-event"
	SubscriptionEventPullRequestMerged    = "git.pullrequest.merged"
	SubscriptionEventCodePushed           = "git.push"
	SubscriptionEventWorkItemCreated      = "workitem.created"
	SubscriptionEventWorkItemUpdated      = "workitem.updated"
	SubscriptionEventWorkItemDeleted      = "workitem.deleted"
	SubscriptionEventWorkItemCommented    = "workitem.commented"

	// Path params
	PathParamTeamID = "team_id"

	// URL query params constants
	QueryParamProject   = "project"
	QueryParamChannelID = "channel_id"
	QueryParamCreatedBy = "created_by"
	QueryParamPage      = "page"
	QueryParamPerPage   = "per_page"

	// Filters
	FilterCreatedByMe     = "me"
	FilterCreatedByAnyone = "anyone"
	FilterAllChannels     = "all_channels"

	DefaultPage         = 0
	DefaultPerPageLimit = 50

	// Authorization constants
	Bearer        = "Bearer"
	Authorization = "Authorization"

	GetTasksID = "/%s/_apis/wit/wiql"
	GetTasks   = "/%s/_apis/wit/workitems"

	PageQueryParam       = "$top"
	APIVersionQueryParam = "api-version"
	IDsQueryParam        = "ids"

	// Websocket events
	WSEventConnect             = "connect"
	WSEventDisconnect          = "disconnect"
	WSEventSubscriptionDeleted = "subscription_deleted"

	SubscriptionEventTypeDummy = "dummy"
	GitBranchIcon              = "git-branch-icon.svg"
	ProjectIcon                = "project-icon.svg"
)
View Source
const (
	// TODO: all these messages are to be verified from Mike at the end
	// Generic
	GenericErrorMessage  = "Something went wrong, please try again later"
	ConnectAccount       = "[Click here to connect your Azure DevOps account](%s%s)"
	ConnectAccountFirst  = "Your Azure DevOps account is not connected \n%s"
	UserConnected        = "Your Azure DevOps account is successfully connected!"
	UserAlreadyConnected = "Your Azure DevOps account is already connected"
	UserDisconnected     = "Your Azure DevOps account is now disconnected"
	CreatedTask          = "[%s #%d](%s) (%s) was successfully created by %s."
	TaskTitle            = "[%s #%d: %s](%s)"
	TaskPreviewMessage   = "State: %s\nAssigned To: %s\nDescription: %s"
	AlreadyLinkedProject = "This project is already linked."
	NoProjectLinked      = "No project is linked, please link a project."

	// Validations Errors
	OrganizationRequired            = "organization is required"
	ProjectRequired                 = "project is required"
	TaskTypeRequired                = "task type is required"
	TaskTitleRequired               = "task title is required"
	EventTypeRequired               = "event type is required"
	ServiceTypeRequired             = "service type is required"
	ChannelIDRequired               = "channel ID is required"
	MMUserIDRequired                = "mattermsot user ID is required"
	EmptyAzureDevopsAPIBaseURLError = "azure devops API base URL should not be empty"
	EmptyAzureDevopsOAuthAppIDError = "azure devops OAuth app id should not be empty"
	// #nosec G101 -- This is a false positive. The below line is not a hardcoded credential
	EmptyAzureDevopsOAuthClientSecretError = "azure devops OAuth client secret should not be empty"
	EmptyEncryptionSecretError             = "encryption secret should not be empty"
	ProjectIDRequired                      = "project ID is required"
)
View Source
const (
	// Error messages
	Error                              = "error"
	NotAuthorized                      = "not authorized"
	UnableToDisconnectUser             = "Unable to disconnect user"
	UnableToCheckIfAlreadyConnected    = "Unable to check if user account is already connected"
	UnableToStoreOauthState            = "Unable to store oAuth state for the userID %s"
	AuthAttemptExpired                 = "Authentication attempt expired, please try again"
	InvalidAuthState                   = "Invalid oauth state, please try again"
	GetProjectListError                = "Error in getting project list"
	ErrorFetchProjectList              = "Error in fetching project list"
	ErrorDecodingBody                  = "Error in decoding body"
	ErrorCreateTask                    = "Error in creating task"
	ErrorLinkProject                   = "Error in linking the project"
	FetchSubscriptionListError         = "Error in fetching subscription list"
	FetchFilteredSubscriptionListError = "Error in fetching filtered subscription list"
	CreateSubscriptionError            = "Error in creating subscription"
	ErrorCheckingProjectAdmin          = "Error in checking if user is an admin on the project %s"
	ProjectNotLinked                   = "Requested project is not linked"
	GetSubscriptionListError           = "Error getting subscription list"
	SubscriptionAlreadyPresent         = "Requested subscription already exists"
	SubscriptionNotFound               = "Requested subscription does not exists"
	ErrorLoadingUserData               = "Error in loading user data"
	ErrorLoadingDataFromKVStore        = "Error in loading data from KV store"
	ProjectNotFound                    = "Requested project does not exist"
	ErrorUnlinkProject                 = "Error in unlinking the project"
	InvalidChannelID                   = "Invalid channel ID"
	DeleteSubscriptionError            = "Error in deleting subscription"
	GetChannelError                    = "Error in getting channels for team and user"
	GetUserError                       = "Error in getting Mattermost user details"
	InvalidPaginationQueryParam        = "Invalid value for query param(s) page or per_page"
	ErrorAdminAccess                   = "" /* 187-byte string literal not displayed */
	ErrorFetchSubscriptionList         = "Error in fetching subscription list"
	ErrorMessageForAdmin               = "There is no registered handler for the service hooks event type %s"
)
View Source
const (
	ResponseType        = "Assertion"
	Scopes              = "vso.code_full vso.work_full"
	ClientAssertionType = "urn:ietf:params:oauth:client-assertion-type:jwt-bearer"
	GrantType           = "urn:ietf:params:oauth:grant-type:jwt-bearer"
	GrantTypeRefresh    = "refresh_token"

	// URL
	BaseOauthURL = "https://app.vssps.visualstudio.com"

	// Paths
	PathAuth = "/oauth2/authorize"
	// #nosec G101 -- This is a false positive
	PathToken = "/oauth2/token"
)
View Source
const (
	// Plugin API Routes
	APIPrefix                     = "/api/v1"
	WildRoute                     = "{anything:.*}"
	PathOAuthConnect              = "/oauth/connect"
	PathOAuthCallback             = "/oauth/complete"
	PathLinkedProjects            = "/project/link"
	PathGetAllLinkedProjects      = "/project/link"
	PathUnlinkProject             = "/project/unlink"
	PathUser                      = "/user"
	PathCreateTasks               = "/tasks"
	PathLinkProject               = "/link"
	PathSubscriptions             = "/subscriptions"
	PathGetSubscriptions          = "/subscriptions/{team_id:[A-Za-z0-9]+}"
	PathSubscriptionNotifications = "/notification"
	PathGetUserChannelsForTeam    = "/channels/{team_id:[A-Za-z0-9]+}"

	// Azure API paths
	CreateTask         = "/%s/%s/_apis/wit/workitems/$%s?api-version=7.1-preview.3"
	GetTask            = "%s/_apis/wit/workitems/%s?api-version=7.1-preview.3"
	GetProject         = "/%s/_apis/projects/%s?api-version=7.1-preview.4"
	CreateSubscription = "/%s/_apis/hooks/subscriptions?api-version=6.0"
	DeleteSubscription = "/%s/_apis/hooks/subscriptions/%s?api-version=6.0"
)
View Source
const (
	AtomicRetryLimit                     = 5
	AtomicRetryWait                      = 30 * time.Millisecond
	TTLSecondsForOAuthState        int64 = 60
	TokenExpiryTimeBufferInMinutes       = 5
	UsersPerPage                         = 100

	// KV store prefix keys
	OAuthPrefix        = "oAuth_%s"
	ProjectKey         = "%s_%s"
	ProjectPrefix      = "project_list"
	SubscriptionPrefix = "subscription_list"
	UserIDPrefix       = "oAuth"
)

Variables

This section is empty.

Functions

This section is empty.

Types

This section is empty.

Jump to

Keyboard shortcuts

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