chore: add workflows for releasing
This commit is contained in:
@@ -0,0 +1,35 @@
|
|||||||
|
name: Publish
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
tags:
|
||||||
|
- "v*"
|
||||||
|
jobs:
|
||||||
|
publish:
|
||||||
|
name: Publish to Go Module Proxy
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Request module from proxy
|
||||||
|
run: |
|
||||||
|
MODULE="github.com/StevanFreeborn/onspring-api-sdk-go"
|
||||||
|
VERSION="${GITHUB_REF_NAME}"
|
||||||
|
PROXY_URL="https://proxy.golang.org/${MODULE}/@v/${VERSION}.info"
|
||||||
|
|
||||||
|
echo "Requesting: $PROXY_URL"
|
||||||
|
|
||||||
|
# Request the module version to warm the proxy cache
|
||||||
|
# Retry up to 3 times with a delay since the proxy may need time to fetch
|
||||||
|
for i in 1 2 3; do
|
||||||
|
STATUS=$(curl -s -o /dev/null -w "%{http_code}" "$PROXY_URL")
|
||||||
|
echo "Attempt $i: HTTP $STATUS"
|
||||||
|
|
||||||
|
if [ "$STATUS" = "200" ]; then
|
||||||
|
echo "Module $MODULE@$VERSION is available on the Go module proxy"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Waiting 30 seconds before retry..."
|
||||||
|
sleep 30
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "Warning: Module may not be immediately available on the proxy (HTTP $STATUS)"
|
||||||
|
echo "It will be indexed automatically when first requested by a user"
|
||||||
@@ -0,0 +1,105 @@
|
|||||||
|
name: Version
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
|
jobs:
|
||||||
|
version:
|
||||||
|
name: Version
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout code
|
||||||
|
uses: actions/checkout@v6
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
- name: Determine version bump
|
||||||
|
id: bump
|
||||||
|
run: |
|
||||||
|
# Get the latest tag, default to v0.0.0 if none exists
|
||||||
|
LATEST_TAG=$(git tag -l 'v*' --sort=-v:refname | head -n 1)
|
||||||
|
|
||||||
|
if [ -z "$LATEST_TAG" ]; then
|
||||||
|
LATEST_TAG="v0.0.0"
|
||||||
|
COMMITS=$(git log --pretty=format:"%s" --no-merges)
|
||||||
|
else
|
||||||
|
COMMITS=$(git log "${LATEST_TAG}..HEAD" --pretty=format:"%s" --no-merges)
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Latest tag: $LATEST_TAG"
|
||||||
|
echo "Commits since last tag:"
|
||||||
|
echo "$COMMITS"
|
||||||
|
|
||||||
|
# Parse current version
|
||||||
|
VERSION="${LATEST_TAG#v}"
|
||||||
|
MAJOR=$(echo "$VERSION" | cut -d. -f1)
|
||||||
|
MINOR=$(echo "$VERSION" | cut -d. -f2)
|
||||||
|
PATCH=$(echo "$VERSION" | cut -d. -f3)
|
||||||
|
|
||||||
|
# Determine bump type from conventional commits
|
||||||
|
BUMP="none"
|
||||||
|
|
||||||
|
if echo "$COMMITS" | grep -qiE "^[a-z]+(\(.+\))?!:|BREAKING CHANGE:"; then
|
||||||
|
BUMP="major"
|
||||||
|
elif echo "$COMMITS" | grep -qiE "^feat(\(.+\))?:"; then
|
||||||
|
BUMP="minor"
|
||||||
|
elif echo "$COMMITS" | grep -qiE "^(fix|perf|refactor|chore|docs|style|test|tests|build|ci)(\(.+\))?:"; then
|
||||||
|
BUMP="patch"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Bump type: $BUMP"
|
||||||
|
|
||||||
|
if [ "$BUMP" = "none" ]; then
|
||||||
|
echo "skip=true" >> "$GITHUB_OUTPUT"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Calculate new version
|
||||||
|
case "$BUMP" in
|
||||||
|
major)
|
||||||
|
MAJOR=$((MAJOR + 1))
|
||||||
|
MINOR=0
|
||||||
|
PATCH=0
|
||||||
|
;;
|
||||||
|
minor)
|
||||||
|
MINOR=$((MINOR + 1))
|
||||||
|
PATCH=0
|
||||||
|
;;
|
||||||
|
patch)
|
||||||
|
PATCH=$((PATCH + 1))
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
NEW_TAG="v${MAJOR}.${MINOR}.${PATCH}"
|
||||||
|
echo "New version: $NEW_TAG"
|
||||||
|
echo "skip=false" >> "$GITHUB_OUTPUT"
|
||||||
|
echo "new_tag=$NEW_TAG" >> "$GITHUB_OUTPUT"
|
||||||
|
echo "previous_tag=$LATEST_TAG" >> "$GITHUB_OUTPUT"
|
||||||
|
- name: Generate release notes
|
||||||
|
if: steps.bump.outputs.skip == 'false'
|
||||||
|
id: notes
|
||||||
|
run: |
|
||||||
|
PREVIOUS_TAG="${{ steps.bump.outputs.previous_tag }}"
|
||||||
|
|
||||||
|
if [ "$PREVIOUS_TAG" = "v0.0.0" ]; then
|
||||||
|
NOTES=$(git log --pretty=format:"- %s" --no-merges)
|
||||||
|
else
|
||||||
|
NOTES=$(git log "${PREVIOUS_TAG}..HEAD" --pretty=format:"- %s" --no-merges)
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Write notes to a file to preserve newlines
|
||||||
|
echo "$NOTES" > release_notes.txt
|
||||||
|
- name: Create tag and release
|
||||||
|
if: steps.bump.outputs.skip == 'false'
|
||||||
|
env:
|
||||||
|
GH_TOKEN: ${{ github.token }}
|
||||||
|
run: |
|
||||||
|
NEW_TAG="${{ steps.bump.outputs.new_tag }}"
|
||||||
|
|
||||||
|
git tag "$NEW_TAG"
|
||||||
|
git push origin "$NEW_TAG"
|
||||||
|
|
||||||
|
gh release create "$NEW_TAG" \
|
||||||
|
--title "$NEW_TAG" \
|
||||||
|
--notes-file release_notes.txt
|
||||||
@@ -1,18 +1,16 @@
|
|||||||
# Onspring API Go SDK
|
# Onspring API Go SDK
|
||||||
|
|
||||||
⚠️ Under Construction ⚠️
|
|
||||||
|
|
||||||
The Go SDK for the Onspring API is meant to simplify development in Go for Onspring customers who want to build integrations with their Onspring instance.
|
The Go SDK for the Onspring API is meant to simplify development in Go for Onspring customers who want to build integrations with their Onspring instance.
|
||||||
|
|
||||||
Note: This is an unofficial SDK for the Onspring API. It was not built in consultation with Onspring Technologies LLC or a member of their development team.
|
Note: This is an unofficial SDK for the Onspring API. It was not built in consultation with Onspring Technologies LLC or a member of their development team.
|
||||||
|
|
||||||
This SDK was developed independently using Onspring's existing C# SDK, the Onspring API's swagger page, and api documentation as the starting point with the intention of making development of integrations done in Javascript with an Onspring instance quicker and more convenient.
|
This SDK was developed independently using Onspring's existing C# SDK, the Onspring API's swagger page, and api documentation as the starting point with the intention of making development of integrations done in Go with an Onspring instance quicker and more convenient.
|
||||||
|
|
||||||
## Dependencies
|
## Dependencies
|
||||||
|
|
||||||
### Go
|
### Go
|
||||||
|
|
||||||
Requires use of [Go](https://golang.org/dl/) version 1.23 or higher.
|
Requires use of [Go](https://golang.org/dl/) version 1.25 or higher.
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
@@ -48,15 +46,15 @@ You can think of any API Key as another user in your Onspring instance and there
|
|||||||
The most common way to use the SDK is to create a `Client` instance and call its methods to interact with the Onspring API. Here is an example of how to create a `Client` instance. You will need to provide your API key when creating the client. It is best practice to store your API key securely and not hard-code it in your source code.
|
The most common way to use the SDK is to create a `Client` instance and call its methods to interact with the Onspring API. Here is an example of how to create a `Client` instance. You will need to provide your API key when creating the client. It is best practice to store your API key securely and not hard-code it in your source code.
|
||||||
|
|
||||||
```go
|
```go
|
||||||
import "github.com/StevanFreeborn/onspring-api-sdk-go/onspring"
|
import "github.com/StevanFreeborn/onspring-api-sdk-go"
|
||||||
|
|
||||||
client := onspring.NewClient("your-api-key")
|
client := onspring.NewClient("your-api-key")
|
||||||
```
|
```
|
||||||
|
|
||||||
The `Client` instance can be further configured by providing optional configuration settings via the `ClientConfig` struct. For example, you can set a custom base URL for the Onspring API if needed:
|
The `Client` instance can be further configured by providing optional functional options. For example, you can set a custom base URL for the Onspring API if needed:
|
||||||
|
|
||||||
```go
|
```go
|
||||||
import "github.com/StevanFreeborn/onspring-api-sdk-go/onspring"
|
import "github.com/StevanFreeborn/onspring-api-sdk-go"
|
||||||
|
|
||||||
client := onspring.NewClient(
|
client := onspring.NewClient(
|
||||||
"your-api-key",
|
"your-api-key",
|
||||||
@@ -66,7 +64,7 @@ client := onspring.NewClient(
|
|||||||
|
|
||||||
### Full API Documentation
|
### Full API Documentation
|
||||||
|
|
||||||
You may wish to refer to the full [Onspring API documentation](https://software.onspring.com/hubfs/Training/Admin%20Guide%20-%20v2%20API.pdf) when determining which values to pass as parameters to some of the `OnspringClient` methods. There is also a [swagger page](https://api.onspring.com/swagger/index.html) that you can use for making exploratory requests.
|
You may wish to refer to the full [Onspring API documentation](https://software.onspring.com/hubfs/Training/Admin%20Guide%20-%20v2%20API.pdf) when determining which values to pass as parameters to some of the `Client` methods. There is also a [swagger page](https://api.onspring.com/swagger/index.html) that you can use for making exploratory requests.
|
||||||
|
|
||||||
## Examples
|
## Examples
|
||||||
|
|
||||||
@@ -76,8 +74,9 @@ You may wish to refer to the full [Onspring API documentation](https://software.
|
|||||||
|
|
||||||
```go
|
```go
|
||||||
import (
|
import (
|
||||||
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/StevanFreeborn/onspring-api-sdk-go/onspring"
|
"github.com/StevanFreeborn/onspring-api-sdk-go"
|
||||||
)
|
)
|
||||||
|
|
||||||
client := onspring.NewClient("your-api-key")
|
client := onspring.NewClient("your-api-key")
|
||||||
@@ -95,8 +94,9 @@ if err == nil {
|
|||||||
|
|
||||||
```go
|
```go
|
||||||
import (
|
import (
|
||||||
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/StevanFreeborn/onspring-api-sdk-go/onspring"
|
"github.com/StevanFreeborn/onspring-api-sdk-go"
|
||||||
)
|
)
|
||||||
|
|
||||||
client := onspring.NewClient("your-api-key")
|
client := onspring.NewClient("your-api-key")
|
||||||
@@ -116,8 +116,9 @@ if err != nil {
|
|||||||
|
|
||||||
```go
|
```go
|
||||||
import (
|
import (
|
||||||
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/StevanFreeborn/onspring-api-sdk-go/onspring"
|
"github.com/StevanFreeborn/onspring-api-sdk-go"
|
||||||
)
|
)
|
||||||
|
|
||||||
client := onspring.NewClient("your-api-key")
|
client := onspring.NewClient("your-api-key")
|
||||||
@@ -135,8 +136,9 @@ if err != nil {
|
|||||||
|
|
||||||
```go
|
```go
|
||||||
import (
|
import (
|
||||||
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/StevanFreeborn/onspring-api-sdk-go/onspring"
|
"github.com/StevanFreeborn/onspring-api-sdk-go"
|
||||||
)
|
)
|
||||||
|
|
||||||
client := onspring.NewClient("your-api-key")
|
client := onspring.NewClient("your-api-key")
|
||||||
@@ -154,8 +156,9 @@ for app, err := range client.Apps.ListAll(context.TODO()) {
|
|||||||
|
|
||||||
```go
|
```go
|
||||||
import (
|
import (
|
||||||
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/StevanFreeborn/onspring-api-sdk-go/onspring"
|
"github.com/StevanFreeborn/onspring-api-sdk-go"
|
||||||
)
|
)
|
||||||
|
|
||||||
client := onspring.NewClient("your-api-key")
|
client := onspring.NewClient("your-api-key")
|
||||||
@@ -177,7 +180,7 @@ if err != nil {
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/StevanFreeborn/onspring-api-sdk-go/onspring"
|
"github.com/StevanFreeborn/onspring-api-sdk-go"
|
||||||
)
|
)
|
||||||
|
|
||||||
client := onspring.NewClient("your-api-key")
|
client := onspring.NewClient("your-api-key")
|
||||||
@@ -199,7 +202,7 @@ if err != nil {
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/StevanFreeborn/onspring-api-sdk-go/onspring"
|
"github.com/StevanFreeborn/onspring-api-sdk-go"
|
||||||
)
|
)
|
||||||
|
|
||||||
client := onspring.NewClient("your-api-key")
|
client := onspring.NewClient("your-api-key")
|
||||||
@@ -219,7 +222,7 @@ if err != nil {
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/StevanFreeborn/onspring-api-sdk-go/onspring"
|
"github.com/StevanFreeborn/onspring-api-sdk-go"
|
||||||
)
|
)
|
||||||
|
|
||||||
client := onspring.NewClient("your-api-key")
|
client := onspring.NewClient("your-api-key")
|
||||||
@@ -239,7 +242,7 @@ for field, err := range client.Fields.ListAll(context.TODO(), 1) {
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/StevanFreeborn/onspring-api-sdk-go/onspring"
|
"github.com/StevanFreeborn/onspring-api-sdk-go"
|
||||||
)
|
)
|
||||||
|
|
||||||
client := onspring.NewClient("your-api-key")
|
client := onspring.NewClient("your-api-key")
|
||||||
@@ -263,7 +266,7 @@ Create a new list item or update an existing one. To create a new item, omit the
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/StevanFreeborn/onspring-api-sdk-go/onspring"
|
"github.com/StevanFreeborn/onspring-api-sdk-go"
|
||||||
)
|
)
|
||||||
|
|
||||||
client := onspring.NewClient("your-api-key")
|
client := onspring.NewClient("your-api-key")
|
||||||
@@ -292,7 +295,7 @@ if err != nil {
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/StevanFreeborn/onspring-api-sdk-go/onspring"
|
"github.com/StevanFreeborn/onspring-api-sdk-go"
|
||||||
)
|
)
|
||||||
|
|
||||||
client := onspring.NewClient("your-api-key")
|
client := onspring.NewClient("your-api-key")
|
||||||
@@ -314,7 +317,7 @@ if err != nil {
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/StevanFreeborn/onspring-api-sdk-go/onspring"
|
"github.com/StevanFreeborn/onspring-api-sdk-go"
|
||||||
)
|
)
|
||||||
|
|
||||||
client := onspring.NewClient("your-api-key")
|
client := onspring.NewClient("your-api-key")
|
||||||
@@ -348,7 +351,7 @@ report, err := client.Reports.Get(
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/StevanFreeborn/onspring-api-sdk-go/onspring"
|
"github.com/StevanFreeborn/onspring-api-sdk-go"
|
||||||
)
|
)
|
||||||
|
|
||||||
client := onspring.NewClient("your-api-key")
|
client := onspring.NewClient("your-api-key")
|
||||||
@@ -368,7 +371,7 @@ if err != nil {
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/StevanFreeborn/onspring-api-sdk-go/onspring"
|
"github.com/StevanFreeborn/onspring-api-sdk-go"
|
||||||
)
|
)
|
||||||
|
|
||||||
client := onspring.NewClient("your-api-key")
|
client := onspring.NewClient("your-api-key")
|
||||||
@@ -390,7 +393,7 @@ for report, err := range client.Reports.ListAll(context.TODO(), 1) {
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/StevanFreeborn/onspring-api-sdk-go/onspring"
|
"github.com/StevanFreeborn/onspring-api-sdk-go"
|
||||||
)
|
)
|
||||||
|
|
||||||
client := onspring.NewClient("your-api-key")
|
client := onspring.NewClient("your-api-key")
|
||||||
@@ -412,7 +415,7 @@ import (
|
|||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
"github.com/StevanFreeborn/onspring-api-sdk-go/onspring"
|
"github.com/StevanFreeborn/onspring-api-sdk-go"
|
||||||
)
|
)
|
||||||
|
|
||||||
client := onspring.NewClient("your-api-key")
|
client := onspring.NewClient("your-api-key")
|
||||||
@@ -434,7 +437,7 @@ if err != nil {
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/StevanFreeborn/onspring-api-sdk-go/onspring"
|
"github.com/StevanFreeborn/onspring-api-sdk-go"
|
||||||
)
|
)
|
||||||
|
|
||||||
client := onspring.NewClient("your-api-key")
|
client := onspring.NewClient("your-api-key")
|
||||||
@@ -455,7 +458,7 @@ import (
|
|||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
"github.com/StevanFreeborn/onspring-api-sdk-go/onspring"
|
"github.com/StevanFreeborn/onspring-api-sdk-go"
|
||||||
)
|
)
|
||||||
|
|
||||||
client := onspring.NewClient("your-api-key")
|
client := onspring.NewClient("your-api-key")
|
||||||
@@ -489,7 +492,7 @@ if err != nil {
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/StevanFreeborn/onspring-api-sdk-go/onspring"
|
"github.com/StevanFreeborn/onspring-api-sdk-go"
|
||||||
)
|
)
|
||||||
|
|
||||||
client := onspring.NewClient("your-api-key")
|
client := onspring.NewClient("your-api-key")
|
||||||
@@ -521,7 +524,7 @@ record, err := client.Records.Get(
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/StevanFreeborn/onspring-api-sdk-go/onspring"
|
"github.com/StevanFreeborn/onspring-api-sdk-go"
|
||||||
)
|
)
|
||||||
|
|
||||||
client := onspring.NewClient("your-api-key")
|
client := onspring.NewClient("your-api-key")
|
||||||
@@ -552,7 +555,7 @@ page, err := client.Records.List(
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/StevanFreeborn/onspring-api-sdk-go/onspring"
|
"github.com/StevanFreeborn/onspring-api-sdk-go"
|
||||||
)
|
)
|
||||||
|
|
||||||
client := onspring.NewClient("your-api-key")
|
client := onspring.NewClient("your-api-key")
|
||||||
@@ -572,7 +575,7 @@ for record, err := range client.Records.ListAll(context.TODO(), 1) {
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/StevanFreeborn/onspring-api-sdk-go/onspring"
|
"github.com/StevanFreeborn/onspring-api-sdk-go"
|
||||||
)
|
)
|
||||||
|
|
||||||
client := onspring.NewClient("your-api-key")
|
client := onspring.NewClient("your-api-key")
|
||||||
@@ -598,7 +601,7 @@ if err != nil {
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/StevanFreeborn/onspring-api-sdk-go/onspring"
|
"github.com/StevanFreeborn/onspring-api-sdk-go"
|
||||||
)
|
)
|
||||||
|
|
||||||
client := onspring.NewClient("your-api-key")
|
client := onspring.NewClient("your-api-key")
|
||||||
@@ -621,7 +624,7 @@ if err != nil {
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/StevanFreeborn/onspring-api-sdk-go/onspring"
|
"github.com/StevanFreeborn/onspring-api-sdk-go"
|
||||||
)
|
)
|
||||||
|
|
||||||
client := onspring.NewClient("your-api-key")
|
client := onspring.NewClient("your-api-key")
|
||||||
@@ -644,7 +647,7 @@ for record, err := range client.Records.QueryAll(context.TODO(), onspring.QueryR
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/StevanFreeborn/onspring-api-sdk-go/onspring"
|
"github.com/StevanFreeborn/onspring-api-sdk-go"
|
||||||
)
|
)
|
||||||
|
|
||||||
client := onspring.NewClient("your-api-key")
|
client := onspring.NewClient("your-api-key")
|
||||||
@@ -667,7 +670,7 @@ if err != nil {
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/StevanFreeborn/onspring-api-sdk-go/onspring"
|
"github.com/StevanFreeborn/onspring-api-sdk-go"
|
||||||
)
|
)
|
||||||
|
|
||||||
client := onspring.NewClient("your-api-key")
|
client := onspring.NewClient("your-api-key")
|
||||||
@@ -687,7 +690,7 @@ if err != nil {
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/StevanFreeborn/onspring-api-sdk-go/onspring"
|
"github.com/StevanFreeborn/onspring-api-sdk-go"
|
||||||
)
|
)
|
||||||
|
|
||||||
client := onspring.NewClient("your-api-key")
|
client := onspring.NewClient("your-api-key")
|
||||||
|
|||||||
Reference in New Issue
Block a user