# README
Installation • Usage example • Build Status • License
go-confluence
is a Go package for working with Confluence REST API.
Currently, this package support only getting data from API (i.e., you cannot create or modify data using this package).
Installation
Make sure you have a working Go 1.18+ workspace (instructions), then:
go get -u github.com/essentialkaos/go-confluence/v5
Usage example
Authentication with username and password.
package main
import (
"fmt"
cf "github.com/essentialkaos/go-confluence/v5"
)
func main() {
api, err := cf.NewAPI("https://confluence.domain.com", "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/v5"
)
func main() {
api, err := cf.NewAPIWithToken("https://confluence.domain.com", "your token")
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)
}
Build Status
Branch | Status |
---|---|
master (Stable) | |
develop (Unstable) |
License
# Functions
IsValidCalendarID validates calendar ID.
NewAPI create new API struct.
NewAPIWithToken create new API struct using Token See https://confluence.atlassian.com/enterprise/using-personal-access-tokens-1026032365.html Support Confluence 7.9 and later.
# Constants
Calendar context.
Calendar context.
Space status.
Space status.
Space status.
Content type.
Content type.
Content type.
Content type.
NAME is package name.
Operations types.
Operations types.
Excerpt values.
Excerpt values.
Excerpt values.
Content status.
Content status.
Space type.
Space type.
Units.
Units.
Units.
Units.
Units.
VERSION is package version.
# Variables
API errors.
API errors.
API errors.
API errors.
API errors.
API errors.
API errors.
API errors.
API errors.
API errors.
API errors.
# 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.
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
Parameters is interface for parameters structs.