Skip to content

Commit

Permalink
Merge pull request #129 from Asana/openapi-sync
Browse files Browse the repository at this point in the history
Generated from OpenAPI
  • Loading branch information
aw-asana authored Aug 23, 2021
2 parents 4bdcf07 + 129f002 commit c0f1a32
Show file tree
Hide file tree
Showing 5 changed files with 140 additions and 6 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ If you use [Maven](http://maven.apache.org/) to manage dependencies you can incl
<dependency>
<groupId>com.asana</groupId>
<artifactId>asana</artifactId>
<version>0.10.6</version>
<version>0.10.7</version>
</dependency>

Or, you can build the artifact and install it to your local Maven repository:
Expand Down
14 changes: 13 additions & 1 deletion samples/GoalsBaseSample.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,18 @@ goalsbase:
.data("field", "value")
.option("pretty", true)
.execute();
createGoal: >-
import com.asana.Client;
Client client = Client.accessToken("PERSONAL_ACCESS_TOKEN");
JsonElement result = client.goals.createGoal()
.data("field", "value")
.data("field", "value")
.option("pretty", true)
.execute();
createGoalMetric: >-
import com.asana.Client;
Expand Down Expand Up @@ -74,7 +86,7 @@ goalsbase:
Client client = Client.accessToken("PERSONAL_ACCESS_TOKEN");
List<JsonElement> result = client.goals.getGoals(workspace, team, isWorkspaceLevel, project, portfolio)
List<JsonElement> result = client.goals.getGoals(timePeriods, workspace, team, isWorkspaceLevel, project, portfolio)
.option("pretty", true)
.execute();
getParentGoalsForGoal: >-
Expand Down
21 changes: 21 additions & 0 deletions samples/TimePeriodsBaseSample.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
timeperiodsbase:
getTimePeriod: >-
import com.asana.Client;
Client client = Client.accessToken("PERSONAL_ACCESS_TOKEN");
JsonElement result = client.timeperiods.getTimePeriod(timePeriodGid)
.option("pretty", true)
.execute();
getTimePeriods: >-
import com.asana.Client;
Client client = Client.accessToken("PERSONAL_ACCESS_TOKEN");
List<JsonElement> result = client.timeperiods.getTimePeriods(endOn, startOn, workspace)
.option("pretty", true)
.execute();
35 changes: 31 additions & 4 deletions src/main/java/com/asana/resources/gen/GoalsBase.java
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,31 @@ public ItemRequest<JsonElement> addSupportingWorkForGoal() throws IOException {
return addSupportingWorkForGoal(null, false);
}
/**
* Create a goal
* Creates a new goal in a workspace or team. Returns the full record of the newly created goal.
* @param offset Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. &#x27;Note: You can only pass in an offset that was returned to you via a previously paginated request.&#x27; (optional)
* @param limit Results per page. The number of objects to return per page. The value must be between 1 and 100. (optional)
* @param optFields Defines fields to return. Some requests return *compact* representations of objects in order to conserve resources and complete the request more efficiently. Other times requests return more information than you may need. This option allows you to list the exact set of fields that the API should be sure to return for the objects. The field names should be provided as paths, described below. The id of included objects will always be returned, regardless of the field options. (optional)
* @param optPretty Provides “pretty” output. Provides the response in a “pretty” format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. (optional)
* @return ItemRequest(JsonElement)
* @throws IOException If we fail to call the API, e.g. server error or cannot deserialize the response body
*/
public ItemRequest<JsonElement> createGoal(String offset, Integer limit, List<String> optFields, Boolean optPretty) throws IOException {
String path = "/goals";

ItemRequest<JsonElement> req = new ItemRequest<JsonElement>(this, JsonElement.class, path, "POST")
.query("opt_pretty", optPretty)
.query("opt_fields", optFields)
.query("limit", limit)
.query("offset", offset);

return req;
}

public ItemRequest<JsonElement> createGoal() throws IOException {
return createGoal(null, (int)Client.DEFAULTS.get("page_size"), null, false);
}
/**
* Create a goal metric
* Creates and adds a goal metric to a specified goal. Note that this replaces an existing goal metric if one already exists.
* @param optFields Defines fields to return. Some requests return *compact* representations of objects in order to conserve resources and complete the request more efficiently. Other times requests return more information than you may need. This option allows you to list the exact set of fields that the API should be sure to return for the objects. The field names should be provided as paths, described below. The id of included objects will always be returned, regardless of the field options. (optional)
Expand Down Expand Up @@ -149,6 +174,7 @@ public ItemRequest<JsonElement> getGoal(String goalGid) throws IOException {
/**
* Get goals
* Returns compact goal records.
* @param timePeriods Globally unique identifiers for the time periods. (optional)
* @param workspace Globally unique identifier for the workspace. (optional)
* @param team Globally unique identifier for the team. (optional)
* @param isWorkspaceLevel Filter to goals with is_workspace_level set to query value. Must be used with the workspace parameter. (optional)
Expand All @@ -161,7 +187,7 @@ public ItemRequest<JsonElement> getGoal(String goalGid) throws IOException {
* @return CollectionRequest(JsonElement)
* @throws IOException If we fail to call the API, e.g. server error or cannot deserialize the response body
*/
public CollectionRequest<JsonElement> getGoals(String workspace, String team, Boolean isWorkspaceLevel, String project, String portfolio, String offset, Integer limit, List<String> optFields, Boolean optPretty) throws IOException {
public CollectionRequest<JsonElement> getGoals(List<String> timePeriods, String workspace, String team, Boolean isWorkspaceLevel, String project, String portfolio, String offset, Integer limit, List<String> optFields, Boolean optPretty) throws IOException {
String path = "/goals";

CollectionRequest<JsonElement> req = new CollectionRequest<JsonElement>(this, JsonElement.class, path, "GET")
Expand All @@ -173,13 +199,14 @@ public CollectionRequest<JsonElement> getGoals(String workspace, String team, Bo
.query("project", project)
.query("is_workspace_level", isWorkspaceLevel)
.query("team", team)
.query("workspace", workspace);
.query("workspace", workspace)
.query("time_periods", timePeriods);

return req;
}

public CollectionRequest<JsonElement> getGoals(String workspace, String team, Boolean isWorkspaceLevel, String project, String portfolio) throws IOException {
return getGoals(workspace, team, isWorkspaceLevel, project, portfolio, null, (int)Client.DEFAULTS.get("page_size"), null, false);
public CollectionRequest<JsonElement> getGoals(List<String> timePeriods, String workspace, String team, Boolean isWorkspaceLevel, String project, String portfolio) throws IOException {
return getGoals(timePeriods, workspace, team, isWorkspaceLevel, project, portfolio, null, (int)Client.DEFAULTS.get("page_size"), null, false);
}
/**
* Get parent goals from a goal
Expand Down
74 changes: 74 additions & 0 deletions src/main/java/com/asana/resources/gen/TimePeriodsBase.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
package com.asana.resources.gen;

import com.asana.Client;
import com.asana.resources.Resource;
import com.asana.requests.ItemRequest;
import com.asana.requests.CollectionRequest;
import com.asana.models.*;
import com.google.gson.JsonElement;

import java.io.IOException;
import java.time.LocalDate;
import java.time.OffsetDateTime;
import java.util.List;

public class TimePeriodsBase extends Resource {
/**
* @param client Parent client instance
*/
public TimePeriodsBase(Client client) { super(client); }

/**
* Get a time period
* Returns the full record for a single time period.
* @param timePeriodGid Globally unique identifier for the time period. (required)
* @param optFields Defines fields to return. Some requests return *compact* representations of objects in order to conserve resources and complete the request more efficiently. Other times requests return more information than you may need. This option allows you to list the exact set of fields that the API should be sure to return for the objects. The field names should be provided as paths, described below. The id of included objects will always be returned, regardless of the field options. (optional)
* @param optPretty Provides “pretty” output. Provides the response in a “pretty” format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. (optional)
* @return ItemRequest(JsonElement)
* @throws IOException If we fail to call the API, e.g. server error or cannot deserialize the response body
*/
public ItemRequest<JsonElement> getTimePeriod(String timePeriodGid, List<String> optFields, Boolean optPretty) throws IOException {
String path = "/time_periods/{time_period_gid}".replace("{time_period_gid}", timePeriodGid);

ItemRequest<JsonElement> req = new ItemRequest<JsonElement>(this, JsonElement.class, path, "GET")
.query("opt_pretty", optPretty)
.query("opt_fields", optFields);

return req;
}

public ItemRequest<JsonElement> getTimePeriod(String timePeriodGid) throws IOException {
return getTimePeriod(timePeriodGid, null, false);
}
/**
* Get time periods
* Returns compact time period records.
* @param endOn ISO 8601 date string (optional)
* @param startOn ISO 8601 date string (optional)
* @param workspace Globally unique identifier for the workspace. (required)
* @param offset Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. &#x27;Note: You can only pass in an offset that was returned to you via a previously paginated request.&#x27; (optional)
* @param limit Results per page. The number of objects to return per page. The value must be between 1 and 100. (optional)
* @param optFields Defines fields to return. Some requests return *compact* representations of objects in order to conserve resources and complete the request more efficiently. Other times requests return more information than you may need. This option allows you to list the exact set of fields that the API should be sure to return for the objects. The field names should be provided as paths, described below. The id of included objects will always be returned, regardless of the field options. (optional)
* @param optPretty Provides “pretty” output. Provides the response in a “pretty” format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. (optional)
* @return CollectionRequest(JsonElement)
* @throws IOException If we fail to call the API, e.g. server error or cannot deserialize the response body
*/
public CollectionRequest<JsonElement> getTimePeriods(LocalDate endOn, LocalDate startOn, String workspace, String offset, Integer limit, List<String> optFields, Boolean optPretty) throws IOException {
String path = "/time_periods";

CollectionRequest<JsonElement> req = new CollectionRequest<JsonElement>(this, JsonElement.class, path, "GET")
.query("opt_pretty", optPretty)
.query("opt_fields", optFields)
.query("limit", limit)
.query("offset", offset)
.query("start_on", startOn)
.query("end_on", endOn)
.query("workspace", workspace);

return req;
}

public CollectionRequest<JsonElement> getTimePeriods(LocalDate endOn, LocalDate startOn, String workspace) throws IOException {
return getTimePeriods(endOn, startOn, workspace, null, (int)Client.DEFAULTS.get("page_size"), null, false);
}
}

0 comments on commit c0f1a32

Please sign in to comment.