Skip to content

Commit

Permalink
Release 110 (#27)
Browse files Browse the repository at this point in the history
Documentation updates.
  • Loading branch information
tspence authored May 29, 2024
1 parent 0306084 commit d0e99de
Show file tree
Hide file tree
Showing 79 changed files with 758 additions and 465 deletions.
9 changes: 4 additions & 5 deletions ProjectManagerClient.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<package >
<metadata>
<id>ProjectManager.SDK</id>
<version>107.0.3368</version>
<version>110.0.3705</version>
<title>ProjectManager.SDK</title>
<authors>ProjectManager.com</authors>
<owners>ProjectManager.com, Inc.</owners>
Expand All @@ -14,12 +14,11 @@
<readme>docs/README.md</readme>
<summary>ProjectManager API for DotNet</summary>
<releaseNotes>
# Patch notes for 107.0.3368
# Patch notes for 110.0.3705

These patch notes summarize the changes from version 104.0.3086.
These patch notes summarize the changes from version 107.0.3368.

Deprecated 2 old APIs:
* Changeset.RetrieveProjectChangesByProjectID
Deprecated 1 old APIs:
* TaskMetadata.GetTaskMetadata


Expand Down
52 changes: 39 additions & 13 deletions src/Clients/ApiKeyClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,16 @@ public ApiKeyClient(ProjectManagerClient client)
/// <summary>
/// Creates a new API key for the current user with the specified options.
///
/// An API key is a credential that you can use to make REST v4 API calls for ProjectManager.com. When you create a new API key, that API key is only visible in the response JSON for the `CreateApiKey` method. If you do not preserve this information, it cannot be recreated.
///
/// Some best practices for working with API keys: * An API key is valid for a two year period after it is created. We encourage you to rotate your API keys regularly according to your company&#39;s security policies. * You should create separate API keys for each system that works with your API. If that API key is exposed or if that program needs to be shut down, you can revoke that one key and reissue it. * An API key is tied to the workspace that created it. A single API key can only interact with one workspace.
/// An API key is a credential that you can use to make REST v4 API calls for ProjectManager.com. When you create
/// a new API key, that API key is only visible in the response JSON for the `CreateApiKey` method. If you do not
/// preserve this information, it cannot be recreated.
///
/// Some best practices for working with API keys:
/// * An API key is valid for a two year period after it is created. We encourage you to rotate your API keys
/// regularly according to your company&#39;s security policies.
/// * You should create separate API keys for each system that works with your API. If that API key is exposed
/// or if that program needs to be shut down, you can revoke that one key and reissue it.
/// * An API key is tied to the workspace that created it. A single API key can only interact with one workspace.
/// </summary>
/// <param name="body">Options for the API key to create</param>
public async Task<AstroResult<ApiKeyDto>> CreateApiKey(ApiKeyCreateDto body)
Expand All @@ -56,10 +62,16 @@ public async Task<AstroResult<ApiKeyDto>> CreateApiKey(ApiKeyCreateDto body)
/// <summary>
/// Returns a list of all API keys within the current workspace.
///
/// An API key is a credential that you can use to make REST v4 API calls for ProjectManager.com. When you create a new API key, that API key is only visible in the response JSON for the `CreateApiKey` method. If you do not preserve this information, it cannot be recreated.
///
/// Some best practices for working with API keys: * An API key is valid for a two year period after it is created. We encourage you to rotate your API keys regularly according to your company&#39;s security policies. * You should create separate API keys for each system that works with your API. If that API key is exposed or if that program needs to be shut down, you can revoke that one key and reissue it. * An API key is tied to the workspace that created it. A single API key can only interact with one workspace.
/// An API key is a credential that you can use to make REST v4 API calls for ProjectManager.com. When you create
/// a new API key, that API key is only visible in the response JSON for the `CreateApiKey` method. If you do not
/// preserve this information, it cannot be recreated.
///
/// Some best practices for working with API keys:
/// * An API key is valid for a two year period after it is created. We encourage you to rotate your API keys
/// regularly according to your company&#39;s security policies.
/// * You should create separate API keys for each system that works with your API. If that API key is exposed
/// or if that program needs to be shut down, you can revoke that one key and reissue it.
/// * An API key is tied to the workspace that created it. A single API key can only interact with one workspace.
/// </summary>
public async Task<AstroResult<ApiKeyDto[]>> ListApiKeys()
{
Expand All @@ -68,12 +80,20 @@ public async Task<AstroResult<ApiKeyDto[]>> ListApiKeys()
}

/// <summary>
/// This API call revokes all existing API keys in given workspace. No existing keys will continue to work after this call completes. We strongly encourage you to revoke a single API key at a time; this method should only be used if you need to rapidly halt access to your product for automated systems.
/// This API call revokes all existing API keys in given workspace. No existing keys will continue to work
/// after this call completes. We strongly encourage you to revoke a single API key at a time; this method
/// should only be used if you need to rapidly halt access to your product for automated systems.
///
/// An API key is a credential that you can use to make REST v4 API calls for ProjectManager.com. When you create a new API key, that API key is only visible in the response JSON for the `CreateApiKey` method. If you do not preserve this information, it cannot be recreated.
///
/// Some best practices for working with API keys: * An API key is valid for a two year period after it is created. We encourage you to rotate your API keys regularly according to your company&#39;s security policies. * You should create separate API keys for each system that works with your API. If that API key is exposed or if that program needs to be shut down, you can revoke that one key and reissue it. * An API key is tied to the workspace that created it. A single API key can only interact with one workspace.
/// An API key is a credential that you can use to make REST v4 API calls for ProjectManager.com. When you create
/// a new API key, that API key is only visible in the response JSON for the `CreateApiKey` method. If you do not
/// preserve this information, it cannot be recreated.
///
/// Some best practices for working with API keys:
/// * An API key is valid for a two year period after it is created. We encourage you to rotate your API keys
/// regularly according to your company&#39;s security policies.
/// * You should create separate API keys for each system that works with your API. If that API key is exposed
/// or if that program needs to be shut down, you can revoke that one key and reissue it.
/// * An API key is tied to the workspace that created it. A single API key can only interact with one workspace.
/// </summary>
public async Task<AstroResult<string>> RevokeAllApiKeys()
{
Expand All @@ -84,10 +104,16 @@ public async Task<AstroResult<string>> RevokeAllApiKeys()
/// <summary>
/// Revokes a single API key in the current workspace.
///
/// An API key is a credential that you can use to make REST v4 API calls for ProjectManager.com. When you create a new API key, that API key is only visible in the response JSON for the `CreateApiKey` method. If you do not preserve this information, it cannot be recreated.
///
/// Some best practices for working with API keys: * An API key is valid for a two year period after it is created. We encourage you to rotate your API keys regularly according to your company&#39;s security policies. * You should create separate API keys for each system that works with your API. If that API key is exposed or if that program needs to be shut down, you can revoke that one key and reissue it. * An API key is tied to the workspace that created it. A single API key can only interact with one workspace.
/// An API key is a credential that you can use to make REST v4 API calls for ProjectManager.com. When you create
/// a new API key, that API key is only visible in the response JSON for the `CreateApiKey` method. If you do not
/// preserve this information, it cannot be recreated.
///
/// Some best practices for working with API keys:
/// * An API key is valid for a two year period after it is created. We encourage you to rotate your API keys
/// regularly according to your company&#39;s security policies.
/// * You should create separate API keys for each system that works with your API. If that API key is exposed
/// or if that program needs to be shut down, you can revoke that one key and reissue it.
/// * An API key is tied to the workspace that created it. A single API key can only interact with one workspace.
/// </summary>
/// <param name="id">The unique identifier of the API key to revoke</param>
public async Task<AstroResult<string>> RevokeAPIKey(Guid id)
Expand Down
30 changes: 22 additions & 8 deletions src/Clients/ChangesetClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,15 @@ public ChangesetClient(ProjectManagerClient client)
/// <summary>
/// Retrieve a Changeset by its unique ID.
///
/// A Changeset is an individual edit that has been made to a project. Since multiple users can edit a project at the same time, individual Changesets are applied in a sequential fashion. If a Changeset causes a conflict or cannot be applied, it will be rejected. You can examine a Changeset to determine its conflict resolution status.
///
/// When checking the status of a Changeset, you can call either RetrieveChangeset or RetrieveCompletedChangeset. Using RetrieveChangeset will give you the immediate status of the Changeset. Using RetrieveCompletedChangeset will delay the response until the Changeset has finished processing.
/// A Changeset is an individual edit that has been made to a project. Since multiple users can
/// edit a project at the same time, individual Changesets are applied in a sequential fashion. If
/// a Changeset causes a conflict or cannot be applied, it will be rejected. You can examine a
/// Changeset to determine its conflict resolution status.
///
/// When checking the status of a Changeset, you can call either RetrieveChangeset or
/// RetrieveCompletedChangeset. Using RetrieveChangeset will give you the immediate status of the
/// Changeset. Using RetrieveCompletedChangeset will delay the response until the Changeset has
/// finished processing.
/// </summary>
/// <param name="changeSetId">The unique ID number of the Changeset to retrieve</param>
public async Task<AstroResult<ProjectChangeStatusDto>> RetrieveChangesetStatus(Guid changeSetId)
Expand All @@ -54,14 +59,23 @@ public async Task<AstroResult<ProjectChangeStatusDto>> RetrieveChangesetStatus(G
}

/// <summary>
/// Retrieve a Changeset by its unique ID. This endpoint waits for the Changeset to complete its processing prior to returning a result.
///
/// A Changeset is an individual edit that has been made to a project. Since multiple users can edit a project at the same time, individual Changesets are applied in a sequential fashion. If a Changeset causes a conflict or cannot be applied, it will be rejected. You can examine a Changeset to determine its conflict resolution status.
/// Retrieve a Changeset by its unique ID. This endpoint waits for the Changeset to complete its
/// processing prior to returning a result.
///
/// When checking the status of a Changeset, you can call either RetrieveChangeset or RetrieveCompletedChangeset. Using RetrieveChangeset will give you the immediate status of the Changeset. Using RetrieveCompletedChangeset will delay the response until the Changeset has finished processing.
/// A Changeset is an individual edit that has been made to a project. Since multiple users can
/// edit a project at the same time, individual Changesets are applied in a sequential fashion. If
/// a Changeset causes a conflict or cannot be applied, it will be rejected. You can examine a
/// Changeset to determine its conflict resolution status.
///
/// Although most Changesets complete instantly, some Changesets may need additional time to complete. If the Changeset cannot be processed within a reasonable length of time, this API call may fail. If this API fails, it will return a status error indicating the Changeset is still being processed.
/// When checking the status of a Changeset, you can call either RetrieveChangeset or
/// RetrieveCompletedChangeset. Using RetrieveChangeset will give you the immediate status of the
/// Changeset. Using RetrieveCompletedChangeset will delay the response until the Changeset has
/// finished processing.
///
/// Although most Changesets complete instantly, some Changesets may need additional time to
/// complete. If the Changeset cannot be processed within a reasonable length of time, this API
/// call may fail. If this API fails, it will return a status error indicating the Changeset is
/// still being processed.
/// </summary>
/// <param name="changeSetId">The unique ID number of the Changeset to retrieve</param>
public async Task<AstroResult<ProjectChangeStatusDto>> RetrieveCompletedChangesetStatus(Guid changeSetId)
Expand Down
2 changes: 0 additions & 2 deletions src/Clients/DashboardClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,6 @@ public DashboardClient(ProjectManagerClient client)

/// <summary>
/// Returns user dashboard settings
///
/// </summary>
/// <param name="type">The dashboard type that is not custom. For a list of values, see `DashboardTypeValues`.</param>
public async Task<AstroResult<DashboardSettingDto>> RetrieveDashboardUserSettings(string type)
Expand All @@ -51,7 +50,6 @@ public async Task<AstroResult<DashboardSettingDto>> RetrieveDashboardUserSetting

/// <summary>
/// Create or Update User Dashboard Settings
///
/// </summary>
/// <param name="body">User dashboard settings object</param>
public async Task<AstroResult<DashboardSettingDto>> CreateOrUpdateUserDashboardSettings(DashboardSettingCreateDto body)
Expand Down
7 changes: 4 additions & 3 deletions src/Clients/DiscussionClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,6 @@ public DiscussionClient(ProjectManagerClient client)

/// <summary>
/// Retrieve all comments written about a task
///
/// </summary>
/// <param name="taskId">The unique ID number of the task to retrieve comments</param>
public async Task<AstroResult<DiscussionCommentDto[]>> RetrieveTaskComments(Guid taskId)
Expand All @@ -52,8 +51,10 @@ public async Task<AstroResult<DiscussionCommentDto[]>> RetrieveTaskComments(Guid
/// <summary>
/// Adds a Markdown-formatted comment to a task.
///
/// Tasks can have discussions attached to them. These discussions can include text with simple formatting. Discussion comments are formatted using [Markdown](https://www.markdownguide.org/) and users should be aware that HTML embedding is not permitted due to the risk of cross-site attacks and other embedding challenges.
///
/// Tasks can have discussions attached to them. These discussions can include text with simple
/// formatting. Discussion comments are formatted using [Markdown](https://www.markdownguide.org/)
/// and users should be aware that HTML embedding is not permitted due to the risk of cross-site
/// attacks and other embedding challenges.
/// </summary>
/// <param name="taskId">The unique ID number of the task being commented upon</param>
/// <param name="body">The Markdown-formatted text of the comment</param>
Expand Down
13 changes: 8 additions & 5 deletions src/Clients/FileClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -85,12 +85,15 @@ public async Task<AstroResult<byte[]>> DownloadAThumbnailImage(Guid documentId)
/// <summary>
/// Updates information about a File uploaded to your Workspace.
///
/// ProjectManager allows you to store Files connected to other elements of your Workspace such as a Project, a Task, or Home. Files are maintained separately based on the location where the file was stored.
/// ProjectManager allows you to store Files connected to other elements of your Workspace
/// such as a Project, a Task, or Home. Files are maintained separately based on the location
/// where the file was stored.
///
/// When you upload a File, please allow a few moments for the File to be processed and verified. ProjectManager may reject File uploads that contain problems such as malware. Once a File has completed the upload the process, you may retrieve it using the DownloadFile API.
/// When you upload a File, please allow a few moments for the File to be processed and verified.
/// ProjectManager may reject File uploads that contain problems such as malware. Once a File has
/// completed the upload the process, you may retrieve it using the DownloadFile API.
///
/// This API returns a JSON response indicating success or failure.
///
/// </summary>
/// <param name="fileId">The unique identifier of the File to update</param>
/// <param name="body">Information to change about the File and its location</param>
Expand All @@ -101,10 +104,10 @@ public async Task<AstroResult<string>> UpdateFile(Guid fileId, UpdateRequestDto
}

/// <summary>
/// In case of soft delete moves file to trash folder. For hard delete completely deletes file&#39;s metadata from pm database as well as from amazon storage
/// In case of soft delete moves file to trash folder. For hard delete completely deletes
/// file&#39;s metadata from pm database as well as from amazon storage
///
/// This API returns a JSON response indicating success or failure.
///
/// </summary>
/// <param name="fileId">The unique identifier of the File to delete</param>
/// <param name="hard">Param indicates that file should be hard deleted</param>
Expand Down
3 changes: 0 additions & 3 deletions src/Clients/HolidayClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,6 @@ public HolidayClient(ProjectManagerClient client)

/// <summary>
/// Retrieve a list of resource holidays that match an [OData formatted query](https://www.odata.org/).
///
/// </summary>
/// <param name="top">The number of records to return</param>
/// <param name="skip">Skips the given number of records and then returns $top records</param>
Expand All @@ -61,7 +60,6 @@ public async Task<AstroResult<ResourceHolidayDto[]>> QueryResourceHolidays(int?

/// <summary>
/// Retrieve a list of country holidays that match an [OData formatted query](https://www.odata.org/).
///
/// </summary>
/// <param name="top">The number of records to return</param>
/// <param name="skip">Skips the given number of records and then returns $top records</param>
Expand All @@ -82,7 +80,6 @@ public async Task<AstroResult<CountryHolidayDto[]>> QueryCountryHolidays(int? to

/// <summary>
/// Retrieve a list of global holidays that match an [OData formatted query](https://www.odata.org/).
///
/// </summary>
/// <param name="top">The number of records to return</param>
/// <param name="skip">Skips the given number of records and then returns $top records</param>
Expand Down
Loading

0 comments on commit d0e99de

Please sign in to comment.