Categorygithub.com/OP-Solutions/asana-go
modulepackage
0.3.0
Repository: https://github.com/op-solutions/asana-go.git
Documentation: pkg.go.dev

# README

Asana API client for Go

This project implements an API client for the Asana REST API.

Getting started

Here are some very brief examples of using the client. There are comments in the code, but there is a test application in cmd/asana which shows how some basic requests can be used.

To use a personal access token:

client := asana.NewClientWithAccessToken(token)

To use OAuth login, see the methods in oauth.go.

To fetch workspace details:

w := &asana.Workspace{
  ID: "12345",
}

w.fetch(client)

To list tasks in a project:

p := &asana.Project{
  ID: "3456",
}

tasks, nextPage, err := p.Tasks(client, &asana.Options{Limit: 10})

# Packages

No description provided by the author

# Functions

Fields gets all valid JSON fields for a type.
No description provided by the author
IsAuthError checks if the provided error represents a 401 Authorization error response from the API.
IsNotFoundError checks if the provided error represents a 404 not found response from the API.
IsRateLimited returns true if the error was a rate limit error.
IsRateLimited returns true if the error was a rate limit error.
No description provided by the author
NewApp creates a new App with the provided configuration.
NewClient instantiates a new Asana client with the given HTTP client and the default base URL.
NewClientWithAccessToken creates a new instance of the Asana client which uses a Personal Access Token for authentication.
RetryAfter returns a Duration indicating after how many seconds a rate-limited requests may be retried or nil if the error was not a rate limit error.

# Constants

BaseURL is the default URL used to access the Asana API.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
FieldTypes for CustomField.Type field.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
FieldTypes for CustomField.Type field.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
FieldTypes for CustomField.Type field.
No description provided by the author

# Structs

No description provided by the author
AddDependenciesRequest.
AddDependentsRequest.
AddProjectRequest defines the location a task should be added to a project.
App represents an Asana client application.
AppConfig provides the details needed to authenticate users with Asana on behalf of an Asana client application.
Attachment represents any file attached to a task in Asana, whether it’s an uploaded file or one associated via a third-party service such as Dropbox or Google Drive.
Client is the root client for the Asana API.
No description provided by the author
No description provided by the author
CreateProjectRequest represents a request to create a new project.
CreateTaskRequest represents a request to create a new Task.
Custom Fields store the metadata that is used in order to add user- specified information to tasks in Asana.
No description provided by the author
No description provided by the author
When a custom field is associated with a project, tasks in that project can carry additional custom field values which represent the value of the field on that particular task - for instance, the selected item from an enum type custom field.
No description provided by the author
No description provided by the author
No description provided by the author
Error is an error message returned by the API.
ExternalData allows a client application to add app-specific metadata to Tasks in the API.
Membership describes projects a task is associated with and the section it is in.
No description provided by the author
No description provided by the author
Options - In addition to providing fields and their values in a request, you may also specify options to control how your request is interpreted and how the response is generated.
No description provided by the author
Project represents a prioritized list of tasks in Asana.
ProjectBase contains the parts of Project which are not related to a specific instance.
ProjectStatus is a description of the project’s status containing a color (must be either null or one of: green, yellow, red) and a short description.
An API response.
A Section is a subdivision of a project that groups tasks together.
No description provided by the author
No description provided by the author
SetParentRequest changes the parent of a task.
Story
Story represents an activity associated with an object in the Asana system.
StoryBase contains the text of a story, as used when creating a new comment.
No description provided by the author
Tag is a label that can be attached to any task in Asana.
TagBase contains the modifiable fields for a Tag.
Task is the basic object around which many operations in Asana are centered.
TaskBase contains the modifiable fields for the Task object.
TaskQuery specifies which tasks to return from QueryTasks.
Team is used to group related projects and people together within an organization.
UpdateProjectRequest represents a request to update a project.
No description provided by the author
User represents an account in Asana that can be given access to various workspaces, projects, and tasks.
Workspace is the highest-level organizational unit in Asanc.

# Interfaces

Validator types have a Validate method which is called before posting the data to the API.

# Type aliases

Date wraps the default time.Time type with appropriate JSON formatting for the Asana API when a date is required: '2012-03-26'.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Layout indicates the Project layout to use.