pkg
atlassian

atlassian

Explore the following sections to learn more:

atlassian

import "github.com/gemini-oss/rego/pkg/atlassian"

pkg/atlassian/atlassian.go

pkg/atlassian/entities.go

pkg/atlassian/organizations.go

pkg/atlassian/organizations.go

Index

Constants

const (
    CloudURL = "https://api.atlassian.com/"
    V1       = "%s/v1"
    V2       = "%s/v2"
    V3       = "%s/v3"
)

Variables

var (
    BaseURL                    = fmt.Sprintf("https://%s/", "%s")
    CloudAdmin                 = fmt.Sprintf("%s/admin", CloudURL)           // https://developer.atlassian.com/cloud/admin/organization/rest/intro/#uri
    JiraCloud                  = fmt.Sprintf("%s/rest/api/3", "%s")          // https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#ad-hoc-api-calls
    JiraSoftwareCloud          = fmt.Sprintf("%s/rest/agile/latest", "%s")   // https://developer.atlassian.com/cloud/jira/software/rest/intro/#uri-structure
    JiraServiceManagementCloud = fmt.Sprintf("%s/rest/servicedeskapi", "%s") // https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#ad-hoc-api-calls
    Forms                      = fmt.Sprintf("%s/jira/forms", CloudURL)      // https://developer.atlassian.com/cloud/forms/rest/intro/#ad-hoc-api-calls
    ConfluenceCloud            = fmt.Sprintf(V2, "%s/wiki/api")              // https://developer.atlassian.com/cloud/confluence/rest/v2/intro/#using
)

var (
    Organizations           = fmt.Sprintf("%s/orgs", fmt.Sprintf(V1, CloudAdmin)) // https://developer.atlassian.com/cloud/admin/organization/rest/api-group-orgs/#api-group-orgs
    OrganizationsUsers      = fmt.Sprintf("%s/%s/users", Organizations, "%s")     // https://developer.atlassian.com/cloud/admin/organization/rest/api-group-users/#api-group-users
    OrganizationsGroups     = fmt.Sprintf("%s/%s/groups", Organizations, "%s")    // https://developer.atlassian.com/cloud/admin/organization/rest/api-group-groups/#api-group-groups
    OrganizationsDomains    = fmt.Sprintf("%s/%s/domains", Organizations, "%s")   // https://developer.atlassian.com/cloud/admin/organization/rest/api-group-domains/#api-group-domains
    OrganizationsEvents     = fmt.Sprintf("%s/%s/events", Organizations, "%s")    // https://developer.atlassian.com/cloud/admin/organization/rest/api-group-events/#api-group-events
    OrganizationsPolicies   = fmt.Sprintf("%s/%s/policies", Organizations, "%s")  // https://developer.atlassian.com/cloud/admin/organization/rest/api-group-policies/#api-group-policies
    OrganizationsDirectory  = fmt.Sprintf("%s/%s/directory", Organizations, "%s") // https://developer.atlassian.com/cloud/admin/organization/rest/api-group-directory/#api-group-directory
    OrganizationsWorkspaces = fmt.Sprintf("%s/%s/users", Organizations, "%s")     // https://developer.atlassian.com/cloud/admin/organization/rest/api-group-workspaces/#api-group-workspaces
)

var (
    UserProvisioning        = fmt.Sprintf("%s/scim", CloudAdmin)                             // https://developer.atlassian.com/cloud/admin/user-provisioning/rest/intro/#org-api-token-uri
    UserProvisioningUsers   = fmt.Sprintf("%s/directory/%s/Users", UserProvisioning, "%s")   // https://developer.atlassian.com/cloud/admin/user-provisioning/rest/api-group-users/#api-group-users
    UserProvisioningGroups  = fmt.Sprintf("%s/directory/%s/Groups", UserProvisioning, "%s")  // https://developer.atlassian.com/cloud/admin/user-provisioning/rest/api-group-groups/#api-group-groups
    UserProvisioningSchemas = fmt.Sprintf("%s/directory/%s/Schemas", UserProvisioning, "%s") // https://developer.atlassian.com/cloud/admin/user-provisioning/rest/api-group-schemas/#api-group-schemas
)

type AtlassianPage

* AtlassianPage

  • @param Self string
  • @param NextPage string
  • @param Paged bool
type AtlassianPage struct {
    Self          string   `json:"self"`
    NextPageLink  string   `json:"next"`
    NextPageToken string   `json:"next_page_token"`
    Paged         bool     `json:"paged"`
    Links         []string `json:"links"`
}

func (*AtlassianPage) HasNextPage

func (p *AtlassianPage) HasNextPage(links []string) bool

func (*AtlassianPage) NextPage

func (p *AtlassianPage) NextPage(links []string) string

type Client

### Atlassian Client Entities ---------------------------------------------------------------------

type Client struct {
    BaseURL string           // BaseURL is the base URL for Atlassian API requests.
    CloudID string           // CloudID is the Atlassian Cloud ID.
    HTTP    *requests.Client // HTTPClient is the client used to make HTTP requests.
    Error   *Error           // Error is the error response from the last request made by the client.
    Log     *log.Logger      // Log is the logger used to log messages.
    Cache   *cache.Cache     // Cache is the cache used to store responses from the Atlassian API.
}

func NewClient

func NewClient(verbosity int, opts ...Option) *Client

- # Generate Atlassian Client

  • @param logger *log.Logger
  • @return *Client
  • Example:

```go

a := atlassian.NewClient(log.DEBUG)

```

func (*Client) BuildURL

func (c *Client) BuildURL(endpoint string, identifiers ...string) string

BuildURL builds a URL for a given resource and identifiers.

func (*Client) GetCache

func (c *Client) GetCache(key string, target interface{}) bool

* GetCache retrieves an Atlassian API response from the cache

func (*Client) Organizations

func (c *Client) Organizations() *OrganizationsClient

Entry point for user-related operations

func (*Client) SetCache

func (c *Client) SetCache(key string, value interface{}, duration time.Duration)

* SetCache stores an Atlassian API response in the cache

func (*Client) UseCache

func (c *Client) UseCache() *Client

UseCache() enables caching for the next method call.

func (*Client) UserProvisioning

func (c *Client) UserProvisioning() *UserProvisioningClient

Entry point for user-related operations

type Error

type Error struct {
}

type ErrorCause

type ErrorCause struct {
}

type Hints

type Hints struct {
}

type Link

type Link struct {
}

type Links

type Links struct {
}

type Option

type Option func(*clientConfig)

func WithCustomBaseURL

func WithCustomBaseURL(key string) Option

WithCustomBase overrides the default environment variable key for Base URL

func WithCustomOrgID

func WithCustomOrgID(key string) Option

WithCustomOrgID overrides the default environment variable key for Org Name

func WithCustomToken

func WithCustomToken(key string) Option

WithCustomToken overrides the default environment variable key for API Token

func WithSandbox

func WithSandbox() Option

WithSandbox sets the client to use sandbox credentials

type OrganizationsClient

OrgClient for chaining methods

type OrganizationsClient struct {
    *Client
}

type UserProvisioningClient

UserProvisioningClient for chaining methods

type UserProvisioningClient struct {
    *Client
}

func (*UserProvisioningClient) ListAllUsers

func (c *UserProvisioningClient) ListAllUsers(directoryID string) (*any, error)

* # Get all users

Generated by gomarkdoc