An open API service indexing awesome lists of open source software.

https://github.com/merge-api/merge-ticketing-go

The Go API Client for the Merge Ticketing API.
https://github.com/merge-api/merge-ticketing-go

Last synced: 4 months ago
JSON representation

The Go API Client for the Merge Ticketing API.

Awesome Lists containing this project

README

          

# Go API client for merge_ticketing_client

The unified API for building rich integrations with multiple Ticketing platforms.

## Overview
This API client was generated by the [OpenAPI Generator](https://openapi-generator.tech) project. By using the [OpenAPI-spec](https://www.openapis.org/) from a remote server, you can easily generate an API client.

- API version: 1.0
- Package version: 1.3.0
- Build package: org.openapitools.codegen.languages.GoClientCodegen
For more information, please visit [https://www.merge.dev/](https://www.merge.dev/)

## Installation

Install the following dependencies:

```shell
go get github.com/stretchr/testify/assert
go get golang.org/x/oauth2
go get golang.org/x/net/context
```

Put the package under your project folder and add the following in import:

```golang
import sw "./merge_ticketing_client"
```

To use a proxy, set the environment variable `HTTP_PROXY`:

```golang
os.Setenv("HTTP_PROXY", "http://proxy_name:proxy_port")
```

## Configuration of Server URL

Default configuration comes with `Servers` field that contains server objects as defined in the OpenAPI specification.

### Select Server Configuration

For using other server than the one defined on index 0 set context value `sw.ContextServerIndex` of type `int`.

```golang
ctx := context.WithValue(context.Background(), sw.ContextServerIndex, 1)
```

### Templated Server URL

Templated server URL is formatted using default variables from configuration or from context value `sw.ContextServerVariables` of type `map[string]string`.

```golang
ctx := context.WithValue(context.Background(), sw.ContextServerVariables, map[string]string{
"basePath": "v2",
})
```

Note, enum values are always validated and all unused variables are silently ignored.

### URLs Configuration per Operation

Each operation can use different server URL defined using `OperationServers` map in the `Configuration`.
An operation is uniquely identifield by `"{classname}Service.{nickname}"` string.
Similar rules for overriding default operation server index and variables applies by using `sw.ContextOperationServerIndices` and `sw.ContextOperationServerVariables` context maps.

```
ctx := context.WithValue(context.Background(), sw.ContextOperationServerIndices, map[string]int{
"{classname}Service.{nickname}": 2,
})
ctx = context.WithValue(context.Background(), sw.ContextOperationServerVariables, map[string]map[string]string{
"{classname}Service.{nickname}": {
"port": "8443",
},
})
```

## Documentation for API Endpoints

All URIs are relative to *https://api.merge.dev/api/ticketing/v1*

Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*AccountDetailsApi* | [**AccountDetailsRetrieve**](docs/AccountDetailsApi.md#accountdetailsretrieve) | **Get** /account-details |
*AccountTokenApi* | [**AccountTokenRetrieve**](docs/AccountTokenApi.md#accounttokenretrieve) | **Get** /account-token/{public_token} |
*AccountsApi* | [**AccountsList**](docs/AccountsApi.md#accountslist) | **Get** /accounts |
*AccountsApi* | [**AccountsRetrieve**](docs/AccountsApi.md#accountsretrieve) | **Get** /accounts/{id} |
*AttachmentsApi* | [**AttachmentsCreate**](docs/AttachmentsApi.md#attachmentscreate) | **Post** /attachments |
*AttachmentsApi* | [**AttachmentsList**](docs/AttachmentsApi.md#attachmentslist) | **Get** /attachments |
*AttachmentsApi* | [**AttachmentsMetaPostRetrieve**](docs/AttachmentsApi.md#attachmentsmetapostretrieve) | **Get** /attachments/meta/post |
*AttachmentsApi* | [**AttachmentsRetrieve**](docs/AttachmentsApi.md#attachmentsretrieve) | **Get** /attachments/{id} |
*AvailableActionsApi* | [**AvailableActionsRetrieve**](docs/AvailableActionsApi.md#availableactionsretrieve) | **Get** /available-actions |
*CollectionsApi* | [**CollectionsList**](docs/CollectionsApi.md#collectionslist) | **Get** /collections |
*CollectionsApi* | [**CollectionsRetrieve**](docs/CollectionsApi.md#collectionsretrieve) | **Get** /collections/{id} |
*CollectionsApi* | [**CollectionsUsersList**](docs/CollectionsApi.md#collectionsuserslist) | **Get** /collections/{parent_id}/users |
*CommentsApi* | [**CommentsCreate**](docs/CommentsApi.md#commentscreate) | **Post** /comments |
*CommentsApi* | [**CommentsList**](docs/CommentsApi.md#commentslist) | **Get** /comments |
*CommentsApi* | [**CommentsMetaPostRetrieve**](docs/CommentsApi.md#commentsmetapostretrieve) | **Get** /comments/meta/post |
*CommentsApi* | [**CommentsRetrieve**](docs/CommentsApi.md#commentsretrieve) | **Get** /comments/{id} |
*ContactsApi* | [**ContactsList**](docs/ContactsApi.md#contactslist) | **Get** /contacts |
*ContactsApi* | [**ContactsRetrieve**](docs/ContactsApi.md#contactsretrieve) | **Get** /contacts/{id} |
*DeleteAccountApi* | [**DeleteAccountCreate**](docs/DeleteAccountApi.md#deleteaccountcreate) | **Post** /delete-account |
*ForceResyncApi* | [**SyncStatusResyncCreate**](docs/ForceResyncApi.md#syncstatusresynccreate) | **Post** /sync-status/resync |
*GenerateKeyApi* | [**GenerateKeyCreate**](docs/GenerateKeyApi.md#generatekeycreate) | **Post** /generate-key |
*IssuesApi* | [**IssuesList**](docs/IssuesApi.md#issueslist) | **Get** /issues |
*IssuesApi* | [**IssuesRetrieve**](docs/IssuesApi.md#issuesretrieve) | **Get** /issues/{id} |
*LinkTokenApi* | [**LinkTokenCreate**](docs/LinkTokenApi.md#linktokencreate) | **Post** /link-token |
*LinkedAccountsApi* | [**LinkedAccountsList**](docs/LinkedAccountsApi.md#linkedaccountslist) | **Get** /linked-accounts |
*PassthroughApi* | [**PassthroughCreate**](docs/PassthroughApi.md#passthroughcreate) | **Post** /passthrough |
*ProjectsApi* | [**ProjectsList**](docs/ProjectsApi.md#projectslist) | **Get** /projects |
*ProjectsApi* | [**ProjectsRetrieve**](docs/ProjectsApi.md#projectsretrieve) | **Get** /projects/{id} |
*ProjectsApi* | [**ProjectsUsersList**](docs/ProjectsApi.md#projectsuserslist) | **Get** /projects/{parent_id}/users |
*RegenerateKeyApi* | [**RegenerateKeyCreate**](docs/RegenerateKeyApi.md#regeneratekeycreate) | **Post** /regenerate-key |
*SelectiveSyncApi* | [**SelectiveSyncConfigurationsList**](docs/SelectiveSyncApi.md#selectivesyncconfigurationslist) | **Get** /selective-sync/configurations |
*SelectiveSyncApi* | [**SelectiveSyncConfigurationsUpdate**](docs/SelectiveSyncApi.md#selectivesyncconfigurationsupdate) | **Put** /selective-sync/configurations |
*SelectiveSyncApi* | [**SelectiveSyncMetaList**](docs/SelectiveSyncApi.md#selectivesyncmetalist) | **Get** /selective-sync/meta |
*SyncStatusApi* | [**SyncStatusList**](docs/SyncStatusApi.md#syncstatuslist) | **Get** /sync-status |
*TagsApi* | [**TagsList**](docs/TagsApi.md#tagslist) | **Get** /tags |
*TagsApi* | [**TagsRetrieve**](docs/TagsApi.md#tagsretrieve) | **Get** /tags/{id} |
*TeamsApi* | [**TeamsList**](docs/TeamsApi.md#teamslist) | **Get** /teams |
*TeamsApi* | [**TeamsRetrieve**](docs/TeamsApi.md#teamsretrieve) | **Get** /teams/{id} |
*TicketsApi* | [**TicketsCollaboratorsList**](docs/TicketsApi.md#ticketscollaboratorslist) | **Get** /tickets/{parent_id}/collaborators |
*TicketsApi* | [**TicketsCreate**](docs/TicketsApi.md#ticketscreate) | **Post** /tickets |
*TicketsApi* | [**TicketsList**](docs/TicketsApi.md#ticketslist) | **Get** /tickets |
*TicketsApi* | [**TicketsMetaPatchRetrieve**](docs/TicketsApi.md#ticketsmetapatchretrieve) | **Get** /tickets/meta/patch/{id} |
*TicketsApi* | [**TicketsMetaPostRetrieve**](docs/TicketsApi.md#ticketsmetapostretrieve) | **Get** /tickets/meta/post |
*TicketsApi* | [**TicketsPartialUpdate**](docs/TicketsApi.md#ticketspartialupdate) | **Patch** /tickets/{id} |
*TicketsApi* | [**TicketsRemoteFieldClassesList**](docs/TicketsApi.md#ticketsremotefieldclasseslist) | **Get** /tickets/remote-field-classes |
*TicketsApi* | [**TicketsRetrieve**](docs/TicketsApi.md#ticketsretrieve) | **Get** /tickets/{id} |
*UsersApi* | [**UsersList**](docs/UsersApi.md#userslist) | **Get** /users |
*UsersApi* | [**UsersRetrieve**](docs/UsersApi.md#usersretrieve) | **Get** /users/{id} |
*WebhookReceiversApi* | [**WebhookReceiversCreate**](docs/WebhookReceiversApi.md#webhookreceiverscreate) | **Post** /webhook-receivers |
*WebhookReceiversApi* | [**WebhookReceiversList**](docs/WebhookReceiversApi.md#webhookreceiverslist) | **Get** /webhook-receivers |

## Documentation For Models

- [Account](docs/Account.md)
- [AccountDetails](docs/AccountDetails.md)
- [AccountDetailsAndActions](docs/AccountDetailsAndActions.md)
- [AccountDetailsAndActionsIntegration](docs/AccountDetailsAndActionsIntegration.md)
- [AccountDetailsAndActionsStatusEnum](docs/AccountDetailsAndActionsStatusEnum.md)
- [AccountIntegration](docs/AccountIntegration.md)
- [AccountToken](docs/AccountToken.md)
- [Attachment](docs/Attachment.md)
- [AttachmentRequest](docs/AttachmentRequest.md)
- [AvailableActions](docs/AvailableActions.md)
- [CategoriesEnum](docs/CategoriesEnum.md)
- [CategoryEnum](docs/CategoryEnum.md)
- [Collection](docs/Collection.md)
- [CollectionTypeEnum](docs/CollectionTypeEnum.md)
- [Comment](docs/Comment.md)
- [CommentEndpointRequest](docs/CommentEndpointRequest.md)
- [CommentRequest](docs/CommentRequest.md)
- [CommentResponse](docs/CommentResponse.md)
- [CommonModelScopesBodyRequest](docs/CommonModelScopesBodyRequest.md)
- [ConditionSchema](docs/ConditionSchema.md)
- [ConditionTypeEnum](docs/ConditionTypeEnum.md)
- [Contact](docs/Contact.md)
- [DataPassthroughRequest](docs/DataPassthroughRequest.md)
- [DebugModeLog](docs/DebugModeLog.md)
- [DebugModelLogSummary](docs/DebugModelLogSummary.md)
- [EnabledActionsEnum](docs/EnabledActionsEnum.md)
- [EncodingEnum](docs/EncodingEnum.md)
- [EndUserDetailsRequest](docs/EndUserDetailsRequest.md)
- [ErrorValidationProblem](docs/ErrorValidationProblem.md)
- [FieldFormatEnum](docs/FieldFormatEnum.md)
- [FieldTypeEnum](docs/FieldTypeEnum.md)
- [GenerateRemoteKeyRequest](docs/GenerateRemoteKeyRequest.md)
- [Issue](docs/Issue.md)
- [IssueStatusEnum](docs/IssueStatusEnum.md)
- [ItemSchema](docs/ItemSchema.md)
- [LinkToken](docs/LinkToken.md)
- [LinkedAccountCondition](docs/LinkedAccountCondition.md)
- [LinkedAccountConditionRequest](docs/LinkedAccountConditionRequest.md)
- [LinkedAccountSelectiveSyncConfiguration](docs/LinkedAccountSelectiveSyncConfiguration.md)
- [LinkedAccountSelectiveSyncConfigurationListRequest](docs/LinkedAccountSelectiveSyncConfigurationListRequest.md)
- [LinkedAccountSelectiveSyncConfigurationRequest](docs/LinkedAccountSelectiveSyncConfigurationRequest.md)
- [LinkedAccountStatus](docs/LinkedAccountStatus.md)
- [MetaResponse](docs/MetaResponse.md)
- [MethodEnum](docs/MethodEnum.md)
- [ModelOperation](docs/ModelOperation.md)
- [MultipartFormFieldRequest](docs/MultipartFormFieldRequest.md)
- [OperatorSchema](docs/OperatorSchema.md)
- [PaginatedAccountDetailsAndActionsList](docs/PaginatedAccountDetailsAndActionsList.md)
- [PaginatedAccountList](docs/PaginatedAccountList.md)
- [PaginatedAttachmentList](docs/PaginatedAttachmentList.md)
- [PaginatedCollectionList](docs/PaginatedCollectionList.md)
- [PaginatedCommentList](docs/PaginatedCommentList.md)
- [PaginatedConditionSchemaList](docs/PaginatedConditionSchemaList.md)
- [PaginatedContactList](docs/PaginatedContactList.md)
- [PaginatedIssueList](docs/PaginatedIssueList.md)
- [PaginatedProjectList](docs/PaginatedProjectList.md)
- [PaginatedRemoteFieldClassList](docs/PaginatedRemoteFieldClassList.md)
- [PaginatedSyncStatusList](docs/PaginatedSyncStatusList.md)
- [PaginatedTagList](docs/PaginatedTagList.md)
- [PaginatedTeamList](docs/PaginatedTeamList.md)
- [PaginatedTicketList](docs/PaginatedTicketList.md)
- [PaginatedUserList](docs/PaginatedUserList.md)
- [PatchedTicketEndpointRequest](docs/PatchedTicketEndpointRequest.md)
- [PatchedTicketRequest](docs/PatchedTicketRequest.md)
- [PriorityEnum](docs/PriorityEnum.md)
- [Project](docs/Project.md)
- [RemoteData](docs/RemoteData.md)
- [RemoteField](docs/RemoteField.md)
- [RemoteFieldClass](docs/RemoteFieldClass.md)
- [RemoteFieldRequest](docs/RemoteFieldRequest.md)
- [RemoteKey](docs/RemoteKey.md)
- [RemoteKeyForRegenerationRequest](docs/RemoteKeyForRegenerationRequest.md)
- [RemoteResponse](docs/RemoteResponse.md)
- [RequestFormatEnum](docs/RequestFormatEnum.md)
- [ResponseTypeEnum](docs/ResponseTypeEnum.md)
- [SelectiveSyncConfigurationsUsageEnum](docs/SelectiveSyncConfigurationsUsageEnum.md)
- [SyncStatus](docs/SyncStatus.md)
- [SyncStatusStatusEnum](docs/SyncStatusStatusEnum.md)
- [Tag](docs/Tag.md)
- [Team](docs/Team.md)
- [Ticket](docs/Ticket.md)
- [TicketEndpointRequest](docs/TicketEndpointRequest.md)
- [TicketRequest](docs/TicketRequest.md)
- [TicketResponse](docs/TicketResponse.md)
- [TicketStatusEnum](docs/TicketStatusEnum.md)
- [TicketingAttachmentEndpointRequest](docs/TicketingAttachmentEndpointRequest.md)
- [TicketingAttachmentResponse](docs/TicketingAttachmentResponse.md)
- [User](docs/User.md)
- [ValidationProblemSource](docs/ValidationProblemSource.md)
- [WarningValidationProblem](docs/WarningValidationProblem.md)
- [WebhookReceiver](docs/WebhookReceiver.md)
- [WebhookReceiverRequest](docs/WebhookReceiverRequest.md)

## Documentation For Authorization

### tokenAuth

- **Type**: API key
- **API key parameter name**: Authorization
- **Location**: HTTP header

Note, each API key must be added to a map of `map[string]APIKey` where the key is: Authorization and passed in as the auth context for each request.

## Documentation for Utility Methods

Due to the fact that model structure members are all pointers, this package contains
a number of utility functions to easily obtain pointers to values of basic types.
Each of these functions takes a value of the given basic type and returns a pointer to it:

* `PtrBool`
* `PtrInt`
* `PtrInt32`
* `PtrInt64`
* `PtrFloat`
* `PtrFloat32`
* `PtrFloat64`
* `PtrString`
* `PtrTime`

## Author

hello@merge.dev