@esm-js/jira.js
Version:
A comprehensive JavaScript/TypeScript library designed for both Node.JS and browsers, facilitating seamless interaction with the Atlassian Jira API.
576 lines (553 loc) • 27.5 kB
text/typescript
import type * as Models from './models';
import type * as Parameters from './parameters';
import type { Client } from '../clients';
import type { Callback } from '../callback';
import type { RequestConfig } from '../requestConfig';
export class IssueWorklogs {
constructor(private client: Client) {}
/**
* Returns worklogs for an issue (ordered by created time), starting from the oldest worklog or from the worklog
* started on or after a date and time.
*
* Time tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see
* [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).
*
* This operation can be accessed anonymously.
*
* **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
* Workloads are only returned where the user has:
*
* - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
* in.
* - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
* to view the issue.
* - If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.
*/
async getIssueWorklog<T = Models.PageOfWorklogs>(
parameters: Parameters.GetIssueWorklog | string,
callback: Callback<T>,
): Promise<void>;
/**
* Returns worklogs for an issue (ordered by created time), starting from the oldest worklog or from the worklog
* started on or after a date and time.
*
* Time tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see
* [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).
*
* This operation can be accessed anonymously.
*
* **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
* Workloads are only returned where the user has:
*
* - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
* in.
* - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
* to view the issue.
* - If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.
*/
async getIssueWorklog<T = Models.PageOfWorklogs>(
parameters: Parameters.GetIssueWorklog | string,
callback?: never,
): Promise<T>;
async getIssueWorklog<T = Models.PageOfWorklogs>(
parameters: Parameters.GetIssueWorklog | string,
callback?: Callback<T>,
): Promise<void | T> {
const issueIdOrKey = typeof parameters === 'string' ? parameters : parameters.issueIdOrKey;
const config: RequestConfig = {
url: `/rest/api/2/issue/${issueIdOrKey}/worklog`,
method: 'GET',
params: {
startAt: typeof parameters !== 'string' ? parameters.startAt : undefined,
maxResults: typeof parameters !== 'string' ? parameters.maxResults : undefined,
startedAfter: typeof parameters !== 'string' ? parameters.startedAfter : undefined,
startedBefore: typeof parameters !== 'string' ? parameters.startedBefore : undefined,
expand: typeof parameters !== 'string' ? parameters.expand : undefined,
},
};
return this.client.sendRequest(config, callback);
}
/**
* Adds a worklog to an issue.
*
* Time tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see
* [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).
*
* This operation can be accessed anonymously.
*
* **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
*
* - _Browse projects_ and _Work on issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the
* project that the issue is in.
* - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
* to view the issue.
*/
async addWorklog<T = Models.Worklog>(parameters: Parameters.AddWorklog, callback: Callback<T>): Promise<void>;
/**
* Adds a worklog to an issue.
*
* Time tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see
* [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).
*
* This operation can be accessed anonymously.
*
* **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
*
* - _Browse projects_ and _Work on issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the
* project that the issue is in.
* - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
* to view the issue.
*/
async addWorklog<T = Models.Worklog>(parameters: Parameters.AddWorklog, callback?: never): Promise<T>;
async addWorklog<T = Models.Worklog>(parameters: Parameters.AddWorklog, callback?: Callback<T>): Promise<void | T> {
const config: RequestConfig = {
url: `/rest/api/2/issue/${parameters.issueIdOrKey}/worklog`,
method: 'POST',
params: {
notifyUsers: parameters.notifyUsers,
adjustEstimate: parameters.adjustEstimate,
newEstimate: parameters.newEstimate,
reduceBy: parameters.reduceBy,
expand: parameters.expand,
overrideEditableFlag: parameters.overrideEditableFlag,
},
data: {
author: parameters.author,
comment: parameters.comment,
created: parameters.created,
id: parameters.id,
issueId: parameters.issueId,
properties: parameters.properties,
self: parameters.self,
started: parameters.started,
timeSpent: parameters.timeSpent,
timeSpentSeconds: parameters.timeSpentSeconds,
updateAuthor: parameters.updateAuthor,
updated: parameters.updated,
visibility: parameters.visibility,
},
};
return this.client.sendRequest(config, callback);
}
/**
* Deletes a list of worklogs from an issue. This is an experimental API with limitations:
*
* - You can't delete more than 5000 worklogs at once.
* - No notifications will be sent for deleted worklogs.
*
* Time tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see
* [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).
*
* **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
*
* - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the
* issue.
* - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
* to view the issue.
* - _Delete all worklogs_[ project permission](https://confluence.atlassian.com/x/yodKLg) to delete any worklog.
* - If any worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.
*/
async bulkDeleteWorklogs<T = void>(parameters: Parameters.BulkDeleteWorklogs, callback: Callback<T>): Promise<void>;
/**
* Deletes a list of worklogs from an issue. This is an experimental API with limitations:
*
* - You can't delete more than 5000 worklogs at once.
* - No notifications will be sent for deleted worklogs.
*
* Time tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see
* [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).
*
* **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
*
* - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the
* issue.
* - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
* to view the issue.
* - _Delete all worklogs_[ project permission](https://confluence.atlassian.com/x/yodKLg) to delete any worklog.
* - If any worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.
*/
async bulkDeleteWorklogs<T = void>(parameters: Parameters.BulkDeleteWorklogs, callback?: never): Promise<T>;
async bulkDeleteWorklogs<T = void>(
parameters: Parameters.BulkDeleteWorklogs,
callback?: Callback<T>,
): Promise<void | T> {
const config: RequestConfig = {
url: `/rest/api/2/issue/${parameters.issueIdOrKey}/worklog`,
method: 'DELETE',
params: {
adjustEstimate: parameters.adjustEstimate,
overrideEditableFlag: parameters.overrideEditableFlag,
},
data: {
ids: parameters.ids,
},
};
return this.client.sendRequest(config, callback);
}
/**
* Moves a list of worklogs from one issue to another. This is an experimental API with several limitations:
*
* - You can't move more than 5000 worklogs at once.
* - You can't move worklogs containing an attachment.
* - You can't move worklogs restricted by project roles.
* - No notifications will be sent for moved worklogs.
* - No webhooks or events will be sent for moved worklogs.
* - No issue history will be recorded for moved worklogs.
*
* Time tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see
* [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).
*
* **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
*
* - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the projects containing the
* source and destination issues.
* - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
* to view the issue.
* - _Delete all worklogs_[ and _Edit all worklogs_](https://confluence.atlassian.com/x/yodKLg)[project
* permission](https://confluence.atlassian.com/x/yodKLg)
* - If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.
*/
async bulkMoveWorklogs<T = void>(parameters: Parameters.BulkMoveWorklogs, callback: Callback<T>): Promise<void>;
/**
* Moves a list of worklogs from one issue to another. This is an experimental API with several limitations:
*
* - You can't move more than 5000 worklogs at once.
* - You can't move worklogs containing an attachment.
* - You can't move worklogs restricted by project roles.
* - No notifications will be sent for moved worklogs.
* - No webhooks or events will be sent for moved worklogs.
* - No issue history will be recorded for moved worklogs.
*
* Time tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see
* [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).
*
* **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
*
* - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the projects containing the
* source and destination issues.
* - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
* to view the issue.
* - _Delete all worklogs_[ and _Edit all worklogs_](https://confluence.atlassian.com/x/yodKLg)[project
* permission](https://confluence.atlassian.com/x/yodKLg)
* - If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.
*/
async bulkMoveWorklogs<T = void>(parameters: Parameters.BulkMoveWorklogs, callback?: never): Promise<T>;
async bulkMoveWorklogs<T = void>(parameters: Parameters.BulkMoveWorklogs, callback?: Callback<T>): Promise<void | T> {
const config: RequestConfig = {
url: `/rest/api/2/issue/${parameters.issueIdOrKey}/worklog/move`,
method: 'POST',
params: {
adjustEstimate: parameters.adjustEstimate,
overrideEditableFlag: parameters.overrideEditableFlag,
},
data: parameters.worklogs,
};
return this.client.sendRequest(config, callback);
}
/**
* Returns a worklog.
*
* Time tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see
* [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).
*
* This operation can be accessed anonymously.
*
* **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
*
* - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
* in.
* - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
* to view the issue.
* - If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.
*/
async getWorklog<T = Models.Worklog>(parameters: Parameters.GetWorklog, callback: Callback<T>): Promise<void>;
/**
* Returns a worklog.
*
* Time tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see
* [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).
*
* This operation can be accessed anonymously.
*
* **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
*
* - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
* in.
* - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
* to view the issue.
* - If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.
*/
async getWorklog<T = Models.Worklog>(parameters: Parameters.GetWorklog, callback?: never): Promise<T>;
async getWorklog<T = Models.Worklog>(parameters: Parameters.GetWorklog, callback?: Callback<T>): Promise<void | T> {
const config: RequestConfig = {
url: `/rest/api/2/issue/${parameters.issueIdOrKey}/worklog/${parameters.id}`,
method: 'GET',
params: {
expand: parameters.expand,
},
};
return this.client.sendRequest(config, callback);
}
/**
* Updates a worklog.
*
* Time tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see
* [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).
*
* This operation can be accessed anonymously.
*
* **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
*
* - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
* in.
* - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
* to view the issue.
* - _Edit all worklogs_[ project permission](https://confluence.atlassian.com/x/yodKLg) to update any worklog or _Edit
* own worklogs_ to update worklogs created by the user.
* - If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.
*/
async updateWorklog<T = Models.Worklog>(parameters: Parameters.UpdateWorklog, callback: Callback<T>): Promise<void>;
/**
* Updates a worklog.
*
* Time tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see
* [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).
*
* This operation can be accessed anonymously.
*
* **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
*
* - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
* in.
* - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
* to view the issue.
* - _Edit all worklogs_[ project permission](https://confluence.atlassian.com/x/yodKLg) to update any worklog or _Edit
* own worklogs_ to update worklogs created by the user.
* - If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.
*/
async updateWorklog<T = Models.Worklog>(parameters: Parameters.UpdateWorklog, callback?: never): Promise<T>;
async updateWorklog<T = Models.Worklog>(
parameters: Parameters.UpdateWorklog,
callback?: Callback<T>,
): Promise<void | T> {
const config: RequestConfig = {
url: `/rest/api/2/issue/${parameters.issueIdOrKey}/worklog/${parameters.id}`,
method: 'PUT',
params: {
notifyUsers: parameters.notifyUsers,
adjustEstimate: parameters.adjustEstimate,
newEstimate: parameters.newEstimate,
expand: parameters.expand,
overrideEditableFlag: parameters.overrideEditableFlag,
},
data: {
comment: parameters.comment,
visibility: parameters.visibility,
started: parameters.started,
timeSpent: parameters.timeSpent,
timeSpentSeconds: parameters.timeSpentSeconds,
properties: parameters.properties,
},
};
return this.client.sendRequest(config, callback);
}
/**
* Deletes a worklog from an issue.
*
* Time tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see
* [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).
*
* This operation can be accessed anonymously.
*
* **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
*
* - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
* in.
* - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
* to view the issue.
* - _Delete all worklogs_[ project permission](https://confluence.atlassian.com/x/yodKLg) to delete any worklog or
* _Delete own worklogs_ to delete worklogs created by the user,
* - If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.
*/
async deleteWorklog<T = void>(parameters: Parameters.DeleteWorklog, callback: Callback<T>): Promise<void>;
/**
* Deletes a worklog from an issue.
*
* Time tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see
* [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).
*
* This operation can be accessed anonymously.
*
* **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
*
* - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
* in.
* - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
* to view the issue.
* - _Delete all worklogs_[ project permission](https://confluence.atlassian.com/x/yodKLg) to delete any worklog or
* _Delete own worklogs_ to delete worklogs created by the user,
* - If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.
*/
async deleteWorklog<T = void>(parameters: Parameters.DeleteWorklog, callback?: never): Promise<T>;
async deleteWorklog<T = void>(parameters: Parameters.DeleteWorklog, callback?: Callback<T>): Promise<void | T> {
const config: RequestConfig = {
url: `/rest/api/2/issue/${parameters.issueIdOrKey}/worklog/${parameters.id}`,
method: 'DELETE',
params: {
notifyUsers: parameters.notifyUsers,
adjustEstimate: parameters.adjustEstimate,
newEstimate: parameters.newEstimate,
increaseBy: parameters.increaseBy,
overrideEditableFlag: parameters.overrideEditableFlag,
},
};
return this.client.sendRequest(config, callback);
}
/**
* Returns a list of IDs and delete timestamps for worklogs deleted after a date and time.
*
* This resource is paginated, with a limit of 1000 worklogs per page. Each page lists worklogs from oldest to
* youngest. If the number of items in the date range exceeds 1000, `until` indicates the timestamp of the youngest
* item on the page. Also, `nextPage` provides the URL for the next page of worklogs. The `lastPage` parameter is set
* to true on the last page of worklogs.
*
* This resource does not return worklogs deleted during the minute preceding the request.
*
* **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
* Permission to access Jira.
*/
async getIdsOfWorklogsDeletedSince<T = Models.ChangedWorklogs>(
parameters: Parameters.GetIdsOfWorklogsDeletedSince | undefined,
callback: Callback<T>,
): Promise<void>;
/**
* Returns a list of IDs and delete timestamps for worklogs deleted after a date and time.
*
* This resource is paginated, with a limit of 1000 worklogs per page. Each page lists worklogs from oldest to
* youngest. If the number of items in the date range exceeds 1000, `until` indicates the timestamp of the youngest
* item on the page. Also, `nextPage` provides the URL for the next page of worklogs. The `lastPage` parameter is set
* to true on the last page of worklogs.
*
* This resource does not return worklogs deleted during the minute preceding the request.
*
* **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
* Permission to access Jira.
*/
async getIdsOfWorklogsDeletedSince<T = Models.ChangedWorklogs>(
parameters?: Parameters.GetIdsOfWorklogsDeletedSince,
callback?: never,
): Promise<T>;
async getIdsOfWorklogsDeletedSince<T = Models.ChangedWorklogs>(
parameters?: Parameters.GetIdsOfWorklogsDeletedSince,
callback?: Callback<T>,
): Promise<void | T> {
const config: RequestConfig = {
url: '/rest/api/2/worklog/deleted',
method: 'GET',
params: {
since: parameters?.since,
},
};
return this.client.sendRequest(config, callback);
}
/**
* Returns worklog details for a list of worklog IDs.
*
* The returned list of worklogs is limited to 1000 items.
*
* **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
* Permission to access Jira, however, worklogs are only returned where either of the following is true:
*
* - The worklog is set as _Viewable by All Users_.
* - The user is a member of a project role or group with permission to view the worklog.
*/
async getWorklogsForIds<T = Models.Worklog[]>(
parameters: Parameters.GetWorklogsForIds | undefined,
callback: Callback<T>,
): Promise<void>;
/**
* Returns worklog details for a list of worklog IDs.
*
* The returned list of worklogs is limited to 1000 items.
*
* **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
* Permission to access Jira, however, worklogs are only returned where either of the following is true:
*
* - The worklog is set as _Viewable by All Users_.
* - The user is a member of a project role or group with permission to view the worklog.
*/
async getWorklogsForIds<T = Models.Worklog[]>(
parameters?: Parameters.GetWorklogsForIds,
callback?: never,
): Promise<T>;
async getWorklogsForIds<T = Models.Worklog[]>(
parameters?: Parameters.GetWorklogsForIds,
callback?: Callback<T>,
): Promise<void | T> {
const config: RequestConfig = {
url: '/rest/api/2/worklog/list',
method: 'POST',
params: {
expand: parameters?.expand,
},
data: {
ids: parameters?.ids,
},
};
return this.client.sendRequest(config, callback);
}
/**
* Returns a list of IDs and update timestamps for worklogs updated after a date and time.
*
* This resource is paginated, with a limit of 1000 worklogs per page. Each page lists worklogs from oldest to
* youngest. If the number of items in the date range exceeds 1000, `until` indicates the timestamp of the youngest
* item on the page. Also, `nextPage` provides the URL for the next page of worklogs. The `lastPage` parameter is set
* to true on the last page of worklogs.
*
* This resource does not return worklogs updated during the minute preceding the request.
*
* **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
* Permission to access Jira, however, worklogs are only returned where either of the following is true:
*
* - The worklog is set as _Viewable by All Users_.
* - The user is a member of a project role or group with permission to view the worklog.
*/
async getIdsOfWorklogsModifiedSince<T = Models.ChangedWorklogs>(
parameters: Parameters.GetIdsOfWorklogsModifiedSince | undefined,
callback: Callback<T>,
): Promise<void>;
/**
* Returns a list of IDs and update timestamps for worklogs updated after a date and time.
*
* This resource is paginated, with a limit of 1000 worklogs per page. Each page lists worklogs from oldest to
* youngest. If the number of items in the date range exceeds 1000, `until` indicates the timestamp of the youngest
* item on the page. Also, `nextPage` provides the URL for the next page of worklogs. The `lastPage` parameter is set
* to true on the last page of worklogs.
*
* This resource does not return worklogs updated during the minute preceding the request.
*
* **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
* Permission to access Jira, however, worklogs are only returned where either of the following is true:
*
* - The worklog is set as _Viewable by All Users_.
* - The user is a member of a project role or group with permission to view the worklog.
*/
async getIdsOfWorklogsModifiedSince<T = Models.ChangedWorklogs>(
parameters?: Parameters.GetIdsOfWorklogsModifiedSince,
callback?: never,
): Promise<T>;
async getIdsOfWorklogsModifiedSince<T = Models.ChangedWorklogs>(
parameters?: Parameters.GetIdsOfWorklogsModifiedSince,
callback?: Callback<T>,
): Promise<void | T> {
const config: RequestConfig = {
url: '/rest/api/2/worklog/updated',
method: 'GET',
params: {
since: parameters?.since,
expand: parameters?.expand,
},
};
return this.client.sendRequest(config, callback);
}
}