Categorygithub.com/essentialkaos/go-confluence/v6
modulepackage
6.0.3
Repository: https://github.com/essentialkaos/go-confluence.git
Documentation: pkg.go.dev

# README

GoReportCard GitHub Actions CI Status GitHub Actions CodeQL Status Codebeat badge

Usage exampleCI StatusLicense


go-confluence is a Go package for working with Confluence REST API.

[!IMPORTANT] Please note that this package only supports retrieving data from the Confluence API (i.e. you cannot create or modify data with this package).

Usage example

Authentication with username and password.

package main

import (
  "fmt"
  cf "github.com/essentialkaos/go-confluence/v6"
)

func main() {
  api, err := cf.NewAPI("https://confluence.domain.com", cf.AuthBasic{"john", "MySuppaPAssWOrd"})

  api.SetUserAgent("MyApp", "1.2.3")

  if err != nil {
    fmt.Printf("Error: %v\n", err)
    return
  }

  content, err := api.GetContentByID(
    "18173522", cf.ContentIDParameters{
      Version: 4,
      Expand:  []string{"space", "body.view", "version"},
    },
  )

  if err != nil {
    fmt.Printf("Error: %v\n", err)
    return
  }

  fmt.Printf("ID: %s\n", content.ID)
}

Authentication with personal token. Please make sure your confluence 7.9 version and later. See Using Personal Access Tokens guide

package main

import (
  "fmt"

  cf "github.com/essentialkaos/go-confluence/v6"
)

func main() {
  api, err := cf.NewAPI("https://confluence.domain.com", cf.AuthToken{"avaMTxxxqKaxpFHpmwHPXhjmUFfAJMaU3VXUji73EFhf"})

  api.SetUserAgent("MyApp", "1.2.3")

  if err != nil {
    fmt.Printf("Error: %v\n", err)
    return
  }

  content, err := api.GetContentByID(
    "18173522", cf.ContentIDParameters{
      Version: 4,
      Expand:  []string{"space", "body.view", "version"},
    },
  )
  if err != nil {
    fmt.Printf("Error: %v\n", err)
    return
  }

  fmt.Printf("ID: %s\n", content.ID)
}

CI Status

BranchStatus
master (Stable)CI
develop (Unstable)CI

License

Apache License, Version 2.0

# Functions

IsValidCalendarID validates calendar ID.
NewAPI create new API struct.

# Constants

Calendar context.
Calendar context.
Space status.
Space status.
Space status.
Content type.
Content type.
Content type.
Content type.
Operations types.
Operations types.
Excerpt values.
Excerpt values.
Excerpt values.
Content status.
Content status.
Space type.
Space type.
Units.
Units.
Units.
Units.
Units.

# Variables

No description provided by the author
No description provided by the author
Errors.
No description provided by the author
Errors.
Errors.
Errors.
Errors.
Errors.
Errors.
No description provided by the author

# Structs

API is Confluence API struct.
AttachmentParameters is params for fetching attachments info.
AuditParameters is params for fetching audit data.
AuditRecord represents audit record.
AuditRecordCollection contains paginated list of audit record.
AuditRetentionInfo contains info about retention time.
AuditSinceParameters is params for fetching audit data.
AuthBasic is struct with data for basic authorization.
AuthToken is struct with data for personal token authorization.
Body contains content data.
Calendar represents Team Calendars calendar.
CalendarCollection contains slice with calendars.
CalendarEvent represents Team Calendars event.
CalendarEventCollection contains slice with events.
CalendarEventsParameters contains request params for events from Team Calendars API.
CalendarsParameters contains request params for calendars from Team Calendars API.
CalendarUser represents Team Calendars user.
ChildrenParameters is params for fetching content child info.
CollectionParameters is params with pagination info.
Container contains basic container info.
Content contains content info.
ContentCollection represents paginated list of content.
ContentIDParameters is params for fetching content info.
ContentParameters is params for fetching content info.
Contents contains all types of content.
ContentSearchParameters is params for searching content.
Contributors contains contributors list.
CustomEventType contains info about custom event type.
Date is RFC3339 encoded date.
EmptyParameters is empty parameters.
EventTypeReminder contains info about event reminder.
ExpandParameters is params with field expand info.
Extensions contains info about content extensions.
Group contains group info.
GroupCollection contains paginated list of groups.
History contains info about content history.
Icon contains icon info.
Label contains label info.
LabelCollection contains paginated list of labels.
LabelParameters is params for fetching labels.
Links contains links.
ListWatchersParameters is params for fetching info about page watchers.
Metadata contains metadata records.
Operation contains operation info.
PermsUser represents Team Calendars permissions user.
Publishers contains info about users.
Resolution contains resolution info.
Restriction contains restriction info for single operation.
RestrictionData contains restrictions data.
Restrictions contains info about all restrictions.
SearchEntity contains search result.
SearchParameters is params for fetching search results.
SearchResult contains contains paginated list of search results.
Space contains info about space.
SpaceCollection contains paginated list of spaces.
SpaceParameters is params for fetching info about space.
SubCalendar represents Team Calendars sub-calendar.
Timestamp is UNIX timestamp in ms.
User contains user info.
UserCollection contains paginated list of users.
UserParameters is params for fetching info about user.
Version contains info about content version.
View is data view.
Watcher contains watcher info.
WatchInfo contains info about watchers.
WatchParameters is params for fetching info about watchers.
WatchStatus contains watching status.

# Interfaces

Auth is interface for authorization method.
Parameters is interface for parameters structs.

# Type aliases

ContainerID is container ID.
ExtensionPosition is extension position.