diff --git a/docs/ActionWorkflowRun.md b/docs/ActionWorkflowRun.md index 732c983..82369db 100644 --- a/docs/ActionWorkflowRun.md +++ b/docs/ActionWorkflowRun.md @@ -14,9 +14,10 @@ Name | Type | Description | Notes **htmlUrl** | **String** | | [optional] **id** | **Long** | | [optional] **path** | **String** | | [optional] +**previousAttemptUrl** | **String** | PreviousAttemptURL is the API URL of the previous attempt of this run, e.g. \".../actions/runs/{run_id}/attempts/{attempt-1}\". It is set only when the current attempt is > 1 (i.e. a rerun). For the first attempt, or for legacy runs that pre-date ActionRunAttempt, it is null. | [optional] **repository** | [**Repository**](Repository.md) | | [optional] **repositoryId** | **Long** | | [optional] -**runAttempt** | **Long** | | [optional] +**runAttempt** | **Long** | RunAttempt is 1-based for runs created after ActionRunAttempt was introduced. A value of 0 is a legacy-only sentinel for runs created before attempts existed and indicates no corresponding /attempts/{n} resource is available. | [optional] **runNumber** | **Long** | | [optional] **startedAt** | [**Date**](Date.md) | | [optional] **status** | **String** | | [optional] diff --git a/docs/RepositoryApi.md b/docs/RepositoryApi.md index d9eb6a6..f071e3a 100644 --- a/docs/RepositoryApi.md +++ b/docs/RepositoryApi.md @@ -33,10 +33,12 @@ Method | HTTP request | Description [**getTree**](RepositoryApi.md#getTree) | **GET** repos/{owner}/{repo}/git/trees/{sha} | Gets the tree of a repository. [**getWorkflowJob**](RepositoryApi.md#getWorkflowJob) | **GET** repos/{owner}/{repo}/actions/jobs/{job_id} | Gets a specific workflow job for a workflow run [**getWorkflowRun**](RepositoryApi.md#getWorkflowRun) | **GET** repos/{owner}/{repo}/actions/runs/{run} | Gets a specific workflow run +[**getWorkflowRunAttempt**](RepositoryApi.md#getWorkflowRunAttempt) | **GET** repos/{owner}/{repo}/actions/runs/{run}/attempts/{attempt} | Gets a specific workflow run attempt [**getWorkflowRuns**](RepositoryApi.md#getWorkflowRuns) | **GET** repos/{owner}/{repo}/actions/runs | Lists all runs for a repository run [**listActionTasks**](RepositoryApi.md#listActionTasks) | **GET** repos/{owner}/{repo}/actions/tasks | List a repository's action tasks [**listForks**](RepositoryApi.md#listForks) | **GET** repos/{owner}/{repo}/forks | List a repository's forks [**listWorkflowJobs**](RepositoryApi.md#listWorkflowJobs) | **GET** repos/{owner}/{repo}/actions/jobs | Lists all jobs for a repository +[**listWorkflowRunAttemptJobs**](RepositoryApi.md#listWorkflowRunAttemptJobs) | **GET** repos/{owner}/{repo}/actions/runs/{run}/attempts/{attempt}/jobs | Lists all jobs for a workflow run attempt [**listWorkflowRunJobs**](RepositoryApi.md#listWorkflowRunJobs) | **GET** repos/{owner}/{repo}/actions/runs/{run}/jobs | Lists all jobs for a workflow run [**rejectRepoTransfer**](RepositoryApi.md#rejectRepoTransfer) | **POST** repos/{owner}/{repo}/transfer/reject | Reject a repo transfer [**repoAddCollaborator**](RepositoryApi.md#repoAddCollaborator) | **PUT** repos/{owner}/{repo}/collaborators/{collaborator} | Add or Update a collaborator to a repository @@ -2844,6 +2846,99 @@ Name | Type | Description | Notes [AccessToken](../README.md#AccessToken)[AuthorizationHeaderToken](../README.md#AuthorizationHeaderToken)[BasicAuth](../README.md#BasicAuth)[SudoHeader](../README.md#SudoHeader)[SudoParam](../README.md#SudoParam)[TOTPHeader](../README.md#TOTPHeader)[Token](../README.md#Token) +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +# **getWorkflowRunAttempt** +> ActionWorkflowRun getWorkflowRunAttempt(owner, repo, run, attempt) + +Gets a specific workflow run attempt + +### Example +```java +// Import classes: +//import org.gitnex.tea4j.v2.ApiClient; +//import org.gitnex.tea4j.v2.ApiException; +//import org.gitnex.tea4j.v2.Configuration; +//import org.gitnex.tea4j.v2.auth.*; +//import org.gitnex.tea4j.v2.apis.RepositoryApi; + +ApiClient defaultClient = Configuration.getDefaultApiClient(); + +// Configure API key authorization: AccessToken +ApiKeyAuth AccessToken = (ApiKeyAuth) defaultClient.getAuthentication("AccessToken"); +AccessToken.setApiKey("YOUR API KEY"); +// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null) +//AccessToken.setApiKeyPrefix("Token"); + +// Configure API key authorization: AuthorizationHeaderToken +ApiKeyAuth AuthorizationHeaderToken = (ApiKeyAuth) defaultClient.getAuthentication("AuthorizationHeaderToken"); +AuthorizationHeaderToken.setApiKey("YOUR API KEY"); +// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null) +//AuthorizationHeaderToken.setApiKeyPrefix("Token"); +// Configure HTTP basic authorization: BasicAuth +HttpBasicAuth BasicAuth = (HttpBasicAuth) defaultClient.getAuthentication("BasicAuth"); +BasicAuth.setUsername("YOUR USERNAME"); +BasicAuth.setPassword("YOUR PASSWORD"); + +// Configure API key authorization: SudoHeader +ApiKeyAuth SudoHeader = (ApiKeyAuth) defaultClient.getAuthentication("SudoHeader"); +SudoHeader.setApiKey("YOUR API KEY"); +// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null) +//SudoHeader.setApiKeyPrefix("Token"); + +// Configure API key authorization: SudoParam +ApiKeyAuth SudoParam = (ApiKeyAuth) defaultClient.getAuthentication("SudoParam"); +SudoParam.setApiKey("YOUR API KEY"); +// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null) +//SudoParam.setApiKeyPrefix("Token"); + +// Configure API key authorization: TOTPHeader +ApiKeyAuth TOTPHeader = (ApiKeyAuth) defaultClient.getAuthentication("TOTPHeader"); +TOTPHeader.setApiKey("YOUR API KEY"); +// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null) +//TOTPHeader.setApiKeyPrefix("Token"); + +// Configure API key authorization: Token +ApiKeyAuth Token = (ApiKeyAuth) defaultClient.getAuthentication("Token"); +Token.setApiKey("YOUR API KEY"); +// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null) +//Token.setApiKeyPrefix("Token"); + +RepositoryApi apiInstance = new RepositoryApi(); +String owner = "owner_example"; // String | owner of the repo +String repo = "repo_example"; // String | name of the repository +Integer run = 56; // Integer | id of the run +Integer attempt = 56; // Integer | logical attempt number of the run +try { + ActionWorkflowRun result = apiInstance.getWorkflowRunAttempt(owner, repo, run, attempt); + System.out.println(result); +} catch (ApiException e) { + System.err.println("Exception when calling RepositoryApi#getWorkflowRunAttempt"); + e.printStackTrace(); +} +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **owner** | **String**| owner of the repo | + **repo** | **String**| name of the repository | + **run** | **Integer**| id of the run | + **attempt** | **Integer**| logical attempt number of the run | + +### Return type + +[**ActionWorkflowRun**](ActionWorkflowRun.md) + +### Authorization + +[AccessToken](../README.md#AccessToken)[AuthorizationHeaderToken](../README.md#AuthorizationHeaderToken)[BasicAuth](../README.md#BasicAuth)[SudoHeader](../README.md#SudoHeader)[SudoParam](../README.md#SudoParam)[TOTPHeader](../README.md#TOTPHeader)[Token](../README.md#Token) + ### HTTP request headers - **Content-Type**: Not defined @@ -3228,6 +3323,105 @@ Name | Type | Description | Notes [AccessToken](../README.md#AccessToken)[AuthorizationHeaderToken](../README.md#AuthorizationHeaderToken)[BasicAuth](../README.md#BasicAuth)[SudoHeader](../README.md#SudoHeader)[SudoParam](../README.md#SudoParam)[TOTPHeader](../README.md#TOTPHeader)[Token](../README.md#Token) +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +# **listWorkflowRunAttemptJobs** +> ActionWorkflowJobsResponse listWorkflowRunAttemptJobs(owner, repo, run, attempt, status, page, limit) + +Lists all jobs for a workflow run attempt + +### Example +```java +// Import classes: +//import org.gitnex.tea4j.v2.ApiClient; +//import org.gitnex.tea4j.v2.ApiException; +//import org.gitnex.tea4j.v2.Configuration; +//import org.gitnex.tea4j.v2.auth.*; +//import org.gitnex.tea4j.v2.apis.RepositoryApi; + +ApiClient defaultClient = Configuration.getDefaultApiClient(); + +// Configure API key authorization: AccessToken +ApiKeyAuth AccessToken = (ApiKeyAuth) defaultClient.getAuthentication("AccessToken"); +AccessToken.setApiKey("YOUR API KEY"); +// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null) +//AccessToken.setApiKeyPrefix("Token"); + +// Configure API key authorization: AuthorizationHeaderToken +ApiKeyAuth AuthorizationHeaderToken = (ApiKeyAuth) defaultClient.getAuthentication("AuthorizationHeaderToken"); +AuthorizationHeaderToken.setApiKey("YOUR API KEY"); +// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null) +//AuthorizationHeaderToken.setApiKeyPrefix("Token"); +// Configure HTTP basic authorization: BasicAuth +HttpBasicAuth BasicAuth = (HttpBasicAuth) defaultClient.getAuthentication("BasicAuth"); +BasicAuth.setUsername("YOUR USERNAME"); +BasicAuth.setPassword("YOUR PASSWORD"); + +// Configure API key authorization: SudoHeader +ApiKeyAuth SudoHeader = (ApiKeyAuth) defaultClient.getAuthentication("SudoHeader"); +SudoHeader.setApiKey("YOUR API KEY"); +// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null) +//SudoHeader.setApiKeyPrefix("Token"); + +// Configure API key authorization: SudoParam +ApiKeyAuth SudoParam = (ApiKeyAuth) defaultClient.getAuthentication("SudoParam"); +SudoParam.setApiKey("YOUR API KEY"); +// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null) +//SudoParam.setApiKeyPrefix("Token"); + +// Configure API key authorization: TOTPHeader +ApiKeyAuth TOTPHeader = (ApiKeyAuth) defaultClient.getAuthentication("TOTPHeader"); +TOTPHeader.setApiKey("YOUR API KEY"); +// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null) +//TOTPHeader.setApiKeyPrefix("Token"); + +// Configure API key authorization: Token +ApiKeyAuth Token = (ApiKeyAuth) defaultClient.getAuthentication("Token"); +Token.setApiKey("YOUR API KEY"); +// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null) +//Token.setApiKeyPrefix("Token"); + +RepositoryApi apiInstance = new RepositoryApi(); +String owner = "owner_example"; // String | owner of the repo +String repo = "repo_example"; // String | name of the repository +Integer run = 56; // Integer | id of the workflow run +Integer attempt = 56; // Integer | logical attempt number of the run +String status = "status_example"; // String | workflow status (pending, queued, in_progress, failure, success, skipped) +Integer page = 56; // Integer | page number of results to return (1-based) +Integer limit = 56; // Integer | page size of results +try { + ActionWorkflowJobsResponse result = apiInstance.listWorkflowRunAttemptJobs(owner, repo, run, attempt, status, page, limit); + System.out.println(result); +} catch (ApiException e) { + System.err.println("Exception when calling RepositoryApi#listWorkflowRunAttemptJobs"); + e.printStackTrace(); +} +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **owner** | **String**| owner of the repo | + **repo** | **String**| name of the repository | + **run** | **Integer**| id of the workflow run | + **attempt** | **Integer**| logical attempt number of the run | + **status** | **String**| workflow status (pending, queued, in_progress, failure, success, skipped) | [optional] + **page** | **Integer**| page number of results to return (1-based) | [optional] + **limit** | **Integer**| page size of results | [optional] + +### Return type + +[**ActionWorkflowJobsResponse**](ActionWorkflowJobsResponse.md) + +### Authorization + +[AccessToken](../README.md#AccessToken)[AuthorizationHeaderToken](../README.md#AuthorizationHeaderToken)[BasicAuth](../README.md#BasicAuth)[SudoHeader](../README.md#SudoHeader)[SudoParam](../README.md#SudoParam)[TOTPHeader](../README.md#TOTPHeader)[Token](../README.md#Token) + ### HTTP request headers - **Content-Type**: Not defined diff --git a/src/main/java/org/gitnex/tea4j/v2/apis/RepositoryApi.java b/src/main/java/org/gitnex/tea4j/v2/apis/RepositoryApi.java index 1afc9d9..17cc5d2 100644 --- a/src/main/java/org/gitnex/tea4j/v2/apis/RepositoryApi.java +++ b/src/main/java/org/gitnex/tea4j/v2/apis/RepositoryApi.java @@ -538,6 +538,22 @@ public interface RepositoryApi { @retrofit2.http.Path("repo") String repo, @retrofit2.http.Path("run") Integer run); + /** + * Gets a specific workflow run attempt + * + * @param owner owner of the repo (required) + * @param repo name of the repository (required) + * @param run id of the run (required) + * @param attempt logical attempt number of the run (required) + * @return Call<ActionWorkflowRun> + */ + @GET("repos/{owner}/{repo}/actions/runs/{run}/attempts/{attempt}") + Call getWorkflowRunAttempt( + @retrofit2.http.Path("owner") String owner, + @retrofit2.http.Path("repo") String repo, + @retrofit2.http.Path("run") Integer run, + @retrofit2.http.Path("attempt") Integer attempt); + /** * Lists all runs for a repository run * @@ -616,6 +632,29 @@ public interface RepositoryApi { @retrofit2.http.Query("page") Integer page, @retrofit2.http.Query("limit") Integer limit); + /** + * Lists all jobs for a workflow run attempt + * + * @param owner owner of the repo (required) + * @param repo name of the repository (required) + * @param run id of the workflow run (required) + * @param attempt logical attempt number of the run (required) + * @param status workflow status (pending, queued, in_progress, failure, success, skipped) + * (optional) + * @param page page number of results to return (1-based) (optional) + * @param limit page size of results (optional) + * @return Call<ActionWorkflowJobsResponse> + */ + @GET("repos/{owner}/{repo}/actions/runs/{run}/attempts/{attempt}/jobs") + Call listWorkflowRunAttemptJobs( + @retrofit2.http.Path("owner") String owner, + @retrofit2.http.Path("repo") String repo, + @retrofit2.http.Path("run") Integer run, + @retrofit2.http.Path("attempt") Integer attempt, + @retrofit2.http.Query("status") String status, + @retrofit2.http.Query("page") Integer page, + @retrofit2.http.Query("limit") Integer limit); + /** * Lists all jobs for a workflow run * diff --git a/src/main/java/org/gitnex/tea4j/v2/models/ActionWorkflowRun.java b/src/main/java/org/gitnex/tea4j/v2/models/ActionWorkflowRun.java index 62fd8e3..a70440e 100644 --- a/src/main/java/org/gitnex/tea4j/v2/models/ActionWorkflowRun.java +++ b/src/main/java/org/gitnex/tea4j/v2/models/ActionWorkflowRun.java @@ -56,6 +56,9 @@ public class ActionWorkflowRun implements Serializable { @SerializedName("path") private String path = null; + @SerializedName("previous_attempt_url") + private String previousAttemptUrl = null; + @SerializedName("repository") private Repository repository = null; @@ -289,6 +292,33 @@ public class ActionWorkflowRun implements Serializable { this.path = path; } + public ActionWorkflowRun previousAttemptUrl(String previousAttemptUrl) { + this.previousAttemptUrl = previousAttemptUrl; + return this; + } + + /** + * PreviousAttemptURL is the API URL of the previous attempt of this run, e.g. + * \".../actions/runs/{run_id}/attempts/{attempt-1}\". It is set only when the current + * attempt is > 1 (i.e. a rerun). For the first attempt, or for legacy runs that pre-date + * ActionRunAttempt, it is null. + * + * @return previousAttemptUrl + */ + @Schema( + description = + "PreviousAttemptURL is the API URL of the previous attempt of this run, e.g." + + " \".../actions/runs/{run_id}/attempts/{attempt-1}\". It is set only when the" + + " current attempt is > 1 (i.e. a rerun). For the first attempt, or for legacy runs" + + " that pre-date ActionRunAttempt, it is null.") + public String getPreviousAttemptUrl() { + return previousAttemptUrl; + } + + public void setPreviousAttemptUrl(String previousAttemptUrl) { + this.previousAttemptUrl = previousAttemptUrl; + } + public ActionWorkflowRun repository(Repository repository) { this.repository = repository; return this; @@ -333,11 +363,17 @@ public class ActionWorkflowRun implements Serializable { } /** - * Get runAttempt + * RunAttempt is 1-based for runs created after ActionRunAttempt was introduced. A value of 0 is a + * legacy-only sentinel for runs created before attempts existed and indicates no corresponding + * /attempts/{n} resource is available. * * @return runAttempt */ - @Schema(description = "") + @Schema( + description = + "RunAttempt is 1-based for runs created after ActionRunAttempt was introduced. A value of" + + " 0 is a legacy-only sentinel for runs created before attempts existed and" + + " indicates no corresponding /attempts/{n} resource is available.") public Long getRunAttempt() { return runAttempt; } @@ -461,6 +497,7 @@ public class ActionWorkflowRun implements Serializable { && Objects.equals(this.htmlUrl, actionWorkflowRun.htmlUrl) && Objects.equals(this.id, actionWorkflowRun.id) && Objects.equals(this.path, actionWorkflowRun.path) + && Objects.equals(this.previousAttemptUrl, actionWorkflowRun.previousAttemptUrl) && Objects.equals(this.repository, actionWorkflowRun.repository) && Objects.equals(this.repositoryId, actionWorkflowRun.repositoryId) && Objects.equals(this.runAttempt, actionWorkflowRun.runAttempt) @@ -485,6 +522,7 @@ public class ActionWorkflowRun implements Serializable { htmlUrl, id, path, + previousAttemptUrl, repository, repositoryId, runAttempt, @@ -511,6 +549,7 @@ public class ActionWorkflowRun implements Serializable { sb.append(" htmlUrl: ").append(toIndentedString(htmlUrl)).append("\n"); sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" path: ").append(toIndentedString(path)).append("\n"); + sb.append(" previousAttemptUrl: ").append(toIndentedString(previousAttemptUrl)).append("\n"); sb.append(" repository: ").append(toIndentedString(repository)).append("\n"); sb.append(" repositoryId: ").append(toIndentedString(repositoryId)).append("\n"); sb.append(" runAttempt: ").append(toIndentedString(runAttempt)).append("\n");