diff --git a/atlassian/jira/core_methods.py b/atlassian/jira/core_methods.py index 34cd0ade3..679bc9084 100644 --- a/atlassian/jira/core_methods.py +++ b/atlassian/jira/core_methods.py @@ -6,13 +6,29 @@ class JiraCloudCoreMethods: """Concrete methods for every supplied core API operation.""" def get_banner(self, data=None, **request_kwargs): - """Get announcement banner configuration.""" + """Get announcement banner configuration. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("announcementBanner", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def set_banner(self, data=None, **request_kwargs): - """Update announcement banner configuration.""" + """Update announcement banner configuration. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("announcementBanner", api_root="rest/api", api_version=self.api_version) params = None return self.put(url, params=params, data=data, **request_kwargs) @@ -29,7 +45,22 @@ def get_custom_fields_configurations( data=None, **request_kwargs, ): - """Bulk get custom field configurations.""" + """Bulk get custom field configurations. + + Args: + id: API path or query parameter. + field_context_id: API path or query parameter. + issue_id: API path or query parameter. + project_key_or_id: API path or query parameter. + issue_type_id: API path or query parameter. + start_at: API path or query parameter. + max_results: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( "app/field/context/configuration/list", api_root="rest/api", api_version=self.api_version ) @@ -48,7 +79,17 @@ def get_custom_fields_configurations( def update_multiple_custom_field_values( self, generate_changelog=None, generate_app_events=None, data=None, **request_kwargs ): - """Update custom fields.""" + """Update custom fields. + + Args: + generate_changelog: API path or query parameter. + generate_app_events: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("app/field/value", api_root="rest/api", api_version=self.api_version) params = {"generateChangelog": generate_changelog, "generateAppEvents": generate_app_events} params = {key: value for key, value in params.items() if value is not None} or None @@ -67,7 +108,23 @@ def get_custom_field_configuration( data=None, **request_kwargs, ): - """Get custom field configurations.""" + """Get custom field configurations. + + Args: + field_id_or_key: API path or query parameter. + id: API path or query parameter. + field_context_id: API path or query parameter. + issue_id: API path or query parameter. + project_key_or_id: API path or query parameter. + issue_type_id: API path or query parameter. + start_at: API path or query parameter. + max_results: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"app/field/{field_id_or_key}/context/configuration", api_root="rest/api", api_version=self.api_version ) @@ -84,7 +141,16 @@ def get_custom_field_configuration( return self.get(url, params=params, data=data, **request_kwargs) def update_custom_field_configuration(self, field_id_or_key, data=None, **request_kwargs): - """Update custom field configurations.""" + """Update custom field configurations. + + Args: + field_id_or_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"app/field/{field_id_or_key}/context/configuration", api_root="rest/api", api_version=self.api_version ) @@ -94,21 +160,51 @@ def update_custom_field_configuration(self, field_id_or_key, data=None, **reques def update_custom_field_value( self, field_id_or_key, generate_changelog=None, generate_app_events=None, data=None, **request_kwargs ): - """Update custom field value.""" + """Update custom field value. + + Args: + field_id_or_key: API path or query parameter. + generate_changelog: API path or query parameter. + generate_app_events: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"app/field/{field_id_or_key}/value", api_root="rest/api", api_version=self.api_version) params = {"generateChangelog": generate_changelog, "generateAppEvents": generate_app_events} params = {key: value for key, value in params.items() if value is not None} or None return self.put(url, params=params, data=data, **request_kwargs) def get_application_property(self, key=None, permission_level=None, key_filter=None, data=None, **request_kwargs): - """Get application property.""" + """Get application property. + + Args: + key: API path or query parameter. + permission_level: API path or query parameter. + key_filter: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("application-properties", api_root="rest/api", api_version=self.api_version) params = {"key": key, "permissionLevel": permission_level, "keyFilter": key_filter} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def get_advanced_settings(self, data=None, **request_kwargs): - """Get advanced settings.""" + """Get advanced settings. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( "application-properties/advanced-settings", api_root="rest/api", api_version=self.api_version ) @@ -116,32 +212,76 @@ def get_advanced_settings(self, data=None, **request_kwargs): return self.get(url, params=params, data=data, **request_kwargs) def set_application_property(self, id, data=None, **request_kwargs): - """Set application property.""" + """Set application property. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"application-properties/{id}", api_root="rest/api", api_version=self.api_version) params = None return self.put(url, params=params, data=data, **request_kwargs) def get_all_application_roles(self, data=None, **request_kwargs): - """Get all application roles.""" + """Get all application roles. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("applicationrole", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def get_application_role(self, key, data=None, **request_kwargs): - """Get application role.""" + """Get application role. + + Args: + key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"applicationrole/{key}", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def get_attachment_content(self, id, redirect=None, data=None, **request_kwargs): - """Get attachment content.""" + """Get attachment content. + + Args: + id: API path or query parameter. + redirect: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"attachment/content/{id}", api_root="rest/api", api_version=self.api_version) params = {"redirect": redirect} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def get_attachment_meta(self, data=None, **request_kwargs): - """Get Jira attachment settings.""" + """Get Jira attachment settings. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("attachment/meta", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) @@ -149,51 +289,130 @@ def get_attachment_meta(self, data=None, **request_kwargs): def get_attachment_thumbnail( self, id, redirect=None, fallback_to_default=None, width=None, height=None, data=None, **request_kwargs ): - """Get attachment thumbnail.""" + """Get attachment thumbnail. + + Args: + id: API path or query parameter. + redirect: API path or query parameter. + fallback_to_default: API path or query parameter. + width: API path or query parameter. + height: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"attachment/thumbnail/{id}", api_root="rest/api", api_version=self.api_version) params = {"redirect": redirect, "fallbackToDefault": fallback_to_default, "width": width, "height": height} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def remove_attachment(self, id, data=None, **request_kwargs): - """Delete attachment.""" + """Delete attachment. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"attachment/{id}", api_root="rest/api", api_version=self.api_version) params = None return self.delete(url, params=params, data=data, **request_kwargs) def get_attachment(self, id, data=None, **request_kwargs): - """Get attachment metadata.""" + """Get attachment metadata. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"attachment/{id}", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def expand_attachment_for_humans(self, id, data=None, **request_kwargs): - """Get all metadata for an expanded attachment.""" + """Get all metadata for an expanded attachment. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"attachment/{id}/expand/human", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def expand_attachment_for_machines(self, id, data=None, **request_kwargs): - """Get contents metadata for an expanded attachment.""" + """Get contents metadata for an expanded attachment. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"attachment/{id}/expand/raw", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def get_audit_records(self, offset=None, limit=None, filter=None, from_=None, to=None, data=None, **request_kwargs): - """Get audit records.""" + """Get audit records. + + Args: + offset: API path or query parameter. + limit: API path or query parameter. + filter: API path or query parameter. + from_: API path or query parameter. + to: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("auditing/record", api_root="rest/api", api_version=self.api_version) params = {"offset": offset, "limit": limit, "filter": filter, "from": from_, "to": to} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def get_all_system_avatars(self, type, data=None, **request_kwargs): - """Get system avatars by type.""" + """Get system avatars by type. + + Args: + type: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"avatar/{type}/system", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def submit_bulk_delete(self, data=None, **request_kwargs): - """Bulk delete issues.""" + """Bulk delete issues. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("bulk/issues/delete", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) @@ -207,7 +426,19 @@ def get_bulk_editable_fields( data=None, **request_kwargs, ): - """Get bulk editable fields.""" + """Get bulk editable fields. + + Args: + issue_ids_or_keys: API path or query parameter. + search_text: API path or query parameter. + ending_before: API path or query parameter. + starting_after: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("bulk/issues/fields", api_root="rest/api", api_version=self.api_version) params = { "issueIdsOrKeys": issue_ids_or_keys, @@ -219,13 +450,29 @@ def get_bulk_editable_fields( return self.get(url, params=params, data=data, **request_kwargs) def submit_bulk_edit(self, data=None, **request_kwargs): - """Bulk edit issues.""" + """Bulk edit issues. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("bulk/issues/fields", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def submit_bulk_move(self, data=None, **request_kwargs): - """Bulk move issues.""" + """Bulk move issues. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("bulk/issues/move", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) @@ -233,64 +480,154 @@ def submit_bulk_move(self, data=None, **request_kwargs): def get_available_transitions( self, issue_ids_or_keys=None, ending_before=None, starting_after=None, data=None, **request_kwargs ): - """Get available transitions.""" + """Get available transitions. + + Args: + issue_ids_or_keys: API path or query parameter. + ending_before: API path or query parameter. + starting_after: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("bulk/issues/transition", api_root="rest/api", api_version=self.api_version) params = {"issueIdsOrKeys": issue_ids_or_keys, "endingBefore": ending_before, "startingAfter": starting_after} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def submit_bulk_transition(self, data=None, **request_kwargs): - """Bulk transition issue statuses.""" + """Bulk transition issue statuses. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("bulk/issues/transition", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def submit_bulk_unwatch(self, data=None, **request_kwargs): - """Bulk unwatch issues.""" + """Bulk unwatch issues. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("bulk/issues/unwatch", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def submit_bulk_watch(self, data=None, **request_kwargs): - """Bulk watch issues.""" + """Bulk watch issues. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("bulk/issues/watch", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def get_bulk_operation_progress(self, task_id, data=None, **request_kwargs): - """Get bulk issue operation progress.""" + """Get bulk issue operation progress. + + Args: + task_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"bulk/queue/{task_id}", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def get_bulk_changelogs(self, data=None, **request_kwargs): - """Bulk fetch changelogs.""" + """Bulk fetch changelogs. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("changelog/bulkfetch", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def get_all_user_data_classification_levels(self, status=None, order_by=None, data=None, **request_kwargs): - """Get all classification levels.""" + """Get all classification levels. + + Args: + status: API path or query parameter. + order_by: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("classification-levels", api_root="rest/api", api_version=self.api_version) params = {"status": status, "orderBy": order_by} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def get_comments_by_ids(self, expand=None, data=None, **request_kwargs): - """Get comments by IDs.""" + """Get comments by IDs. + + Args: + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("comment/list", api_root="rest/api", api_version=self.api_version) params = {"expand": expand} params = {key: value for key, value in params.items() if value is not None} or None return self.post(url, params=params, data=data, **request_kwargs) def get_comment_property_keys(self, comment_id, data=None, **request_kwargs): - """Get comment property keys.""" + """Get comment property keys. + + Args: + comment_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"comment/{comment_id}/properties", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def delete_comment_property(self, comment_id, property_key, data=None, **request_kwargs): - """Delete comment property.""" + """Delete comment property. + + Args: + comment_id: API path or query parameter. + property_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"comment/{comment_id}/properties/{property_key}", api_root="rest/api", api_version=self.api_version ) @@ -298,7 +635,17 @@ def delete_comment_property(self, comment_id, property_key, data=None, **request return self.delete(url, params=params, data=data, **request_kwargs) def get_comment_property(self, comment_id, property_key, data=None, **request_kwargs): - """Get comment property.""" + """Get comment property. + + Args: + comment_id: API path or query parameter. + property_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"comment/{comment_id}/properties/{property_key}", api_root="rest/api", api_version=self.api_version ) @@ -306,7 +653,17 @@ def get_comment_property(self, comment_id, property_key, data=None, **request_kw return self.get(url, params=params, data=data, **request_kwargs) def set_comment_property(self, comment_id, property_key, data=None, **request_kwargs): - """Set comment property.""" + """Set comment property. + + Args: + comment_id: API path or query parameter. + property_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"comment/{comment_id}/properties/{property_key}", api_root="rest/api", api_version=self.api_version ) @@ -323,7 +680,20 @@ def find_components_for_projects( data=None, **request_kwargs, ): - """Find components for projects.""" + """Find components for projects. + + Args: + project_ids_or_keys: API path or query parameter. + start_at: API path or query parameter. + max_results: API path or query parameter. + order_by: API path or query parameter. + query: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("component", api_root="rest/api", api_version=self.api_version) params = { "projectIdsOrKeys": project_ids_or_keys, @@ -336,32 +706,77 @@ def find_components_for_projects( return self.get(url, params=params, data=data, **request_kwargs) def create_component(self, data=None, **request_kwargs): - """Create component.""" + """Create component. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("component", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def delete_component(self, id, move_issues_to=None, data=None, **request_kwargs): - """Delete component.""" + """Delete component. + + Args: + id: API path or query parameter. + move_issues_to: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"component/{id}", api_root="rest/api", api_version=self.api_version) params = {"moveIssuesTo": move_issues_to} params = {key: value for key, value in params.items() if value is not None} or None return self.delete(url, params=params, data=data, **request_kwargs) def get_component(self, id, data=None, **request_kwargs): - """Get component.""" + """Get component. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"component/{id}", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def update_component(self, id, data=None, **request_kwargs): - """Update component.""" + """Update component. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"component/{id}", api_root="rest/api", api_version=self.api_version) params = None return self.put(url, params=params, data=data, **request_kwargs) def get_component_related_issues(self, id, data=None, **request_kwargs): - """Get component issues count.""" + """Get component issues count. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"component/{id}/relatedIssueCounts", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) @@ -369,32 +784,76 @@ def get_component_related_issues(self, id, data=None, **request_kwargs): def get_field_association_schemes( self, project_id=None, query=None, start_at=None, max_results=None, data=None, **request_kwargs ): - """Get field schemes.""" + """Get field schemes. + + Args: + project_id: API path or query parameter. + query: API path or query parameter. + start_at: API path or query parameter. + max_results: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("config/fieldschemes", api_root="rest/api", api_version=self.api_version) params = {"projectId": project_id, "query": query, "startAt": start_at, "maxResults": max_results} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def create_field_association_scheme(self, data=None, **request_kwargs): - """Create field scheme.""" + """Create field scheme. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("config/fieldschemes", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def remove_fields_associated_with_schemes(self, data=None, **request_kwargs): - """Remove fields associated with field schemes.""" + """Remove fields associated with field schemes. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("config/fieldschemes/fields", api_root="rest/api", api_version=self.api_version) params = None return self.delete(url, params=params, data=data, **request_kwargs) def update_fields_associated_with_schemes(self, data=None, **request_kwargs): - """Update fields associated with field schemes.""" + """Update fields associated with field schemes. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("config/fieldschemes/fields", api_root="rest/api", api_version=self.api_version) params = None return self.put(url, params=params, data=data, **request_kwargs) def remove_field_association_scheme_item_parameters(self, data=None, **request_kwargs): - """Remove field parameters.""" + """Remove field parameters. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( "config/fieldschemes/fields/parameters", api_root="rest/api", api_version=self.api_version ) @@ -402,7 +861,15 @@ def remove_field_association_scheme_item_parameters(self, data=None, **request_k return self.delete(url, params=params, data=data, **request_kwargs) def update_field_association_scheme_item_parameters(self, data=None, **request_kwargs): - """Update field parameters.""" + """Update field parameters. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( "config/fieldschemes/fields/parameters", api_root="rest/api", api_version=self.api_version ) @@ -412,38 +879,93 @@ def update_field_association_scheme_item_parameters(self, data=None, **request_k def get_projects_with_field_schemes( self, start_at=None, max_results=None, project_id=None, data=None, **request_kwargs ): - """Get projects with field schemes.""" + """Get projects with field schemes. + + Args: + start_at: API path or query parameter. + max_results: API path or query parameter. + project_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("config/fieldschemes/projects", api_root="rest/api", api_version=self.api_version) params = {"startAt": start_at, "maxResults": max_results, "projectId": project_id} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def associate_projects_to_field_association_schemes(self, data=None, **request_kwargs): - """Associate projects to field schemes.""" + """Associate projects to field schemes. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("config/fieldschemes/projects", api_root="rest/api", api_version=self.api_version) params = None return self.put(url, params=params, data=data, **request_kwargs) def delete_field_association_scheme(self, id, data=None, **request_kwargs): - """Delete a field scheme.""" + """Delete a field scheme. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"config/fieldschemes/{id}", api_root="rest/api", api_version=self.api_version) params = None return self.delete(url, params=params, data=data, **request_kwargs) def get_field_association_scheme_by_id(self, id, data=None, **request_kwargs): - """Get field scheme.""" + """Get field scheme. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"config/fieldschemes/{id}", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def update_field_association_scheme(self, id, data=None, **request_kwargs): - """Update field scheme.""" + """Update field scheme. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"config/fieldschemes/{id}", api_root="rest/api", api_version=self.api_version) params = None return self.put(url, params=params, data=data, **request_kwargs) def clone_field_association_scheme(self, id, data=None, **request_kwargs): - """Clone field scheme.""" + """Clone field scheme. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"config/fieldschemes/{id}/clone", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) @@ -451,14 +973,36 @@ def clone_field_association_scheme(self, id, data=None, **request_kwargs): def search_field_association_scheme_fields( self, id, start_at=None, max_results=None, field_id=None, data=None, **request_kwargs ): - """Search field scheme fields.""" + """Search field scheme fields. + + Args: + id: API path or query parameter. + start_at: API path or query parameter. + max_results: API path or query parameter. + field_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"config/fieldschemes/{id}/fields", api_root="rest/api", api_version=self.api_version) params = {"startAt": start_at, "maxResults": max_results, "fieldId": field_id} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def get_field_association_scheme_item_parameters(self, id, field_id, data=None, **request_kwargs): - """Get field parameters.""" + """Get field parameters. + + Args: + id: API path or query parameter. + field_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"config/fieldschemes/{id}/fields/{field_id}/parameters", api_root="rest/api", api_version=self.api_version ) @@ -468,76 +1012,181 @@ def get_field_association_scheme_item_parameters(self, id, field_id, data=None, def search_field_association_scheme_projects( self, id, start_at=None, max_results=None, project_id=None, data=None, **request_kwargs ): - """Search field scheme projects.""" + """Search field scheme projects. + + Args: + id: API path or query parameter. + start_at: API path or query parameter. + max_results: API path or query parameter. + project_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"config/fieldschemes/{id}/projects", api_root="rest/api", api_version=self.api_version) params = {"startAt": start_at, "maxResults": max_results, "projectId": project_id} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def get_configuration(self, data=None, **request_kwargs): - """Get global settings.""" + """Get global settings. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("configuration", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def get_selected_time_tracking_implementation(self, data=None, **request_kwargs): - """Get selected time tracking provider.""" + """Get selected time tracking provider. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("configuration/timetracking", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def select_time_tracking_implementation(self, data=None, **request_kwargs): - """Select time tracking provider.""" + """Select time tracking provider. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("configuration/timetracking", api_root="rest/api", api_version=self.api_version) params = None return self.put(url, params=params, data=data, **request_kwargs) def get_available_time_tracking_implementations(self, data=None, **request_kwargs): - """Get all time tracking providers.""" + """Get all time tracking providers. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("configuration/timetracking/list", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def get_shared_time_tracking_configuration(self, data=None, **request_kwargs): - """Get time tracking settings.""" + """Get time tracking settings. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("configuration/timetracking/options", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def set_shared_time_tracking_configuration(self, data=None, **request_kwargs): - """Set time tracking settings.""" + """Set time tracking settings. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("configuration/timetracking/options", api_root="rest/api", api_version=self.api_version) params = None return self.put(url, params=params, data=data, **request_kwargs) def get_custom_field_option(self, id, data=None, **request_kwargs): - """Get custom field option.""" + """Get custom field option. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"customFieldOption/{id}", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def get_all_dashboards(self, filter=None, start_at=None, max_results=None, data=None, **request_kwargs): - """Get all dashboards.""" + """Get all dashboards. + + Args: + filter: API path or query parameter. + start_at: API path or query parameter. + max_results: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("dashboard", api_root="rest/api", api_version=self.api_version) params = {"filter": filter, "startAt": start_at, "maxResults": max_results} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def create_dashboard(self, extend_admin_permissions=None, data=None, **request_kwargs): - """Create dashboard.""" + """Create dashboard. + + Args: + extend_admin_permissions: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("dashboard", api_root="rest/api", api_version=self.api_version) params = {"extendAdminPermissions": extend_admin_permissions} params = {key: value for key, value in params.items() if value is not None} or None return self.post(url, params=params, data=data, **request_kwargs) def bulk_edit_dashboards(self, data=None, **request_kwargs): - """Bulk edit dashboards.""" + """Bulk edit dashboards. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("dashboard/bulk/edit", api_root="rest/api", api_version=self.api_version) params = None return self.put(url, params=params, data=data, **request_kwargs) def get_all_available_dashboard_gadgets(self, data=None, **request_kwargs): - """Get available gadgets.""" + """Get available gadgets. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("dashboard/gadgets", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) @@ -558,7 +1207,26 @@ def get_dashboards_paginated( data=None, **request_kwargs, ): - """Search for dashboards.""" + """Search for dashboards. + + Args: + dashboard_name: API path or query parameter. + account_id: API path or query parameter. + owner: API path or query parameter. + groupname: API path or query parameter. + group_id: API path or query parameter. + project_id: API path or query parameter. + order_by: API path or query parameter. + start_at: API path or query parameter. + max_results: API path or query parameter. + status: API path or query parameter. + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("dashboard/search", api_root="rest/api", api_version=self.api_version) params = { "dashboardName": dashboard_name, @@ -577,20 +1245,51 @@ def get_dashboards_paginated( return self.get(url, params=params, data=data, **request_kwargs) def get_all_gadgets(self, dashboard_id, module_key=None, uri=None, gadget_id=None, data=None, **request_kwargs): - """Get gadgets.""" + """Get gadgets. + + Args: + dashboard_id: API path or query parameter. + module_key: API path or query parameter. + uri: API path or query parameter. + gadget_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"dashboard/{dashboard_id}/gadget", api_root="rest/api", api_version=self.api_version) params = {"moduleKey": module_key, "uri": uri, "gadgetId": gadget_id} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def add_gadget(self, dashboard_id, data=None, **request_kwargs): - """Add gadget to dashboard.""" + """Add gadget to dashboard. + + Args: + dashboard_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"dashboard/{dashboard_id}/gadget", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def remove_gadget(self, dashboard_id, gadget_id, data=None, **request_kwargs): - """Remove gadget from dashboard.""" + """Remove gadget from dashboard. + + Args: + dashboard_id: API path or query parameter. + gadget_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"dashboard/{dashboard_id}/gadget/{gadget_id}", api_root="rest/api", api_version=self.api_version ) @@ -598,7 +1297,17 @@ def remove_gadget(self, dashboard_id, gadget_id, data=None, **request_kwargs): return self.delete(url, params=params, data=data, **request_kwargs) def update_gadget(self, dashboard_id, gadget_id, data=None, **request_kwargs): - """Update gadget on dashboard.""" + """Update gadget on dashboard. + + Args: + dashboard_id: API path or query parameter. + gadget_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"dashboard/{dashboard_id}/gadget/{gadget_id}", api_root="rest/api", api_version=self.api_version ) @@ -606,7 +1315,17 @@ def update_gadget(self, dashboard_id, gadget_id, data=None, **request_kwargs): return self.put(url, params=params, data=data, **request_kwargs) def get_dashboard_item_property_keys(self, dashboard_id, item_id, data=None, **request_kwargs): - """Get dashboard item property keys.""" + """Get dashboard item property keys. + + Args: + dashboard_id: API path or query parameter. + item_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"dashboard/{dashboard_id}/items/{item_id}/properties", api_root="rest/api", api_version=self.api_version ) @@ -614,7 +1333,18 @@ def get_dashboard_item_property_keys(self, dashboard_id, item_id, data=None, **r return self.get(url, params=params, data=data, **request_kwargs) def delete_dashboard_item_property(self, dashboard_id, item_id, property_key, data=None, **request_kwargs): - """Delete dashboard item property.""" + """Delete dashboard item property. + + Args: + dashboard_id: API path or query parameter. + item_id: API path or query parameter. + property_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"dashboard/{dashboard_id}/items/{item_id}/properties/{property_key}", api_root="rest/api", @@ -624,7 +1354,18 @@ def delete_dashboard_item_property(self, dashboard_id, item_id, property_key, da return self.delete(url, params=params, data=data, **request_kwargs) def get_dashboard_item_property(self, dashboard_id, item_id, property_key, data=None, **request_kwargs): - """Get dashboard item property.""" + """Get dashboard item property. + + Args: + dashboard_id: API path or query parameter. + item_id: API path or query parameter. + property_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"dashboard/{dashboard_id}/items/{item_id}/properties/{property_key}", api_root="rest/api", @@ -634,7 +1375,18 @@ def get_dashboard_item_property(self, dashboard_id, item_id, property_key, data= return self.get(url, params=params, data=data, **request_kwargs) def set_dashboard_item_property(self, dashboard_id, item_id, property_key, data=None, **request_kwargs): - """Set dashboard item property.""" + """Set dashboard item property. + + Args: + dashboard_id: API path or query parameter. + item_id: API path or query parameter. + property_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"dashboard/{dashboard_id}/items/{item_id}/properties/{property_key}", api_root="rest/api", @@ -644,91 +1396,213 @@ def set_dashboard_item_property(self, dashboard_id, item_id, property_key, data= return self.put(url, params=params, data=data, **request_kwargs) def delete_dashboard(self, id, data=None, **request_kwargs): - """Delete dashboard.""" + """Delete dashboard. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"dashboard/{id}", api_root="rest/api", api_version=self.api_version) params = None return self.delete(url, params=params, data=data, **request_kwargs) def get_dashboard(self, id, data=None, **request_kwargs): - """Get dashboard.""" + """Get dashboard. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"dashboard/{id}", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def update_dashboard(self, id, extend_admin_permissions=None, data=None, **request_kwargs): - """Update dashboard.""" + """Update dashboard. + + Args: + id: API path or query parameter. + extend_admin_permissions: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"dashboard/{id}", api_root="rest/api", api_version=self.api_version) params = {"extendAdminPermissions": extend_admin_permissions} params = {key: value for key, value in params.items() if value is not None} or None return self.put(url, params=params, data=data, **request_kwargs) def copy_dashboard(self, id, extend_admin_permissions=None, data=None, **request_kwargs): - """Copy dashboard.""" + """Copy dashboard. + + Args: + id: API path or query parameter. + extend_admin_permissions: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"dashboard/{id}/copy", api_root="rest/api", api_version=self.api_version) params = {"extendAdminPermissions": extend_admin_permissions} params = {key: value for key, value in params.items() if value is not None} or None return self.post(url, params=params, data=data, **request_kwargs) def get_policy(self, data=None, **request_kwargs): - """Get data policy for the workspace.""" + """Get data policy for the workspace. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("data-policy", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def get_policies(self, ids=None, data=None, **request_kwargs): - """Get data policy for projects.""" + """Get data policy for projects. + + Args: + ids: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("data-policy/project", api_root="rest/api", api_version=self.api_version) params = {"ids": ids} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def get_events(self, data=None, **request_kwargs): - """Get events.""" + """Get events. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("events", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def analyse_expression(self, check=None, data=None, **request_kwargs): - """Analyse Jira expression.""" + """Analyse Jira expression. + + Args: + check: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("expression/analyse", api_root="rest/api", api_version=self.api_version) params = {"check": check} params = {key: value for key, value in params.items() if value is not None} or None return self.post(url, params=params, data=data, **request_kwargs) def evaluate_jira_expression(self, expand=None, data=None, **request_kwargs): - """Currently being removed. Evaluate Jira expression.""" + """Currently being removed. Evaluate Jira expression. + + Args: + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("expression/eval", api_root="rest/api", api_version=self.api_version) params = {"expand": expand} params = {key: value for key, value in params.items() if value is not None} or None return self.post(url, params=params, data=data, **request_kwargs) def evaluate_jsisjira_expression(self, expand=None, data=None, **request_kwargs): - """Evaluate Jira expression using enhanced search API.""" + """Evaluate Jira expression using enhanced search API. + + Args: + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("expression/evaluate", api_root="rest/api", api_version=self.api_version) params = {"expand": expand} params = {key: value for key, value in params.items() if value is not None} or None return self.post(url, params=params, data=data, **request_kwargs) def get_fields(self, data=None, **request_kwargs): - """Get fields.""" + """Get fields. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("field", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def create_custom_field(self, data=None, **request_kwargs): - """Create custom field.""" + """Create custom field. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("field", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def remove_associations(self, data=None, **request_kwargs): - """Remove associations.""" + """Remove associations. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("field/association", api_root="rest/api", api_version=self.api_version) params = None return self.delete(url, params=params, data=data, **request_kwargs) def create_associations(self, data=None, **request_kwargs): - """Create associations.""" + """Create associations. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("field/association", api_root="rest/api", api_version=self.api_version) params = None return self.put(url, params=params, data=data, **request_kwargs) @@ -746,7 +1620,23 @@ def get_fields_paginated( data=None, **request_kwargs, ): - """Get fields paginated.""" + """Get fields paginated. + + Args: + start_at: API path or query parameter. + max_results: API path or query parameter. + type: API path or query parameter. + id: API path or query parameter. + query: API path or query parameter. + order_by: API path or query parameter. + expand: API path or query parameter. + project_ids: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("field/search", api_root="rest/api", api_version=self.api_version) params = { "startAt": start_at, @@ -772,7 +1662,21 @@ def get_trashed_fields_paginated( data=None, **request_kwargs, ): - """Get fields in trash paginated.""" + """Get fields in trash paginated. + + Args: + start_at: API path or query parameter. + max_results: API path or query parameter. + id: API path or query parameter. + query: API path or query parameter. + expand: API path or query parameter. + order_by: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("field/search/trashed", api_root="rest/api", api_version=self.api_version) params = { "startAt": start_at, @@ -786,13 +1690,33 @@ def get_trashed_fields_paginated( return self.get(url, params=params, data=data, **request_kwargs) def update_custom_field(self, field_id, data=None, **request_kwargs): - """Update custom field.""" + """Update custom field. + + Args: + field_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"field/{field_id}", api_root="rest/api", api_version=self.api_version) params = None return self.put(url, params=params, data=data, **request_kwargs) def get_field_project_associations(self, field_id, start_at=None, max_results=None, data=None, **request_kwargs): - """Get field project associations.""" + """Get field project associations. + + Args: + field_id: API path or query parameter. + start_at: API path or query parameter. + max_results: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"field/{field_id}/association/project", api_root="rest/api", api_version=self.api_version ) @@ -811,7 +1735,21 @@ def get_contexts_for_field( data=None, **request_kwargs, ): - """Get custom field contexts.""" + """Get custom field contexts. + + Args: + field_id: API path or query parameter. + is_any_issue_type: API path or query parameter. + is_global_context: API path or query parameter. + context_id: API path or query parameter. + start_at: API path or query parameter. + max_results: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"field/{field_id}/context", api_root="rest/api", api_version=self.api_version) params = { "isAnyIssueType": is_any_issue_type, @@ -824,7 +1762,16 @@ def get_contexts_for_field( return self.get(url, params=params, data=data, **request_kwargs) def create_custom_field_context(self, field_id, data=None, **request_kwargs): - """Create custom field context.""" + """Create custom field context. + + Args: + field_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"field/{field_id}/context", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) @@ -832,7 +1779,19 @@ def create_custom_field_context(self, field_id, data=None, **request_kwargs): def get_default_values( self, field_id, context_id=None, start_at=None, max_results=None, data=None, **request_kwargs ): - """Get custom field contexts default values.""" + """Get custom field contexts default values. + + Args: + field_id: API path or query parameter. + context_id: API path or query parameter. + start_at: API path or query parameter. + max_results: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"field/{field_id}/context/defaultValue", api_root="rest/api", api_version=self.api_version ) @@ -841,7 +1800,16 @@ def get_default_values( return self.get(url, params=params, data=data, **request_kwargs) def set_default_values(self, field_id, data=None, **request_kwargs): - """Set custom field contexts default values.""" + """Set custom field contexts default values. + + Args: + field_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"field/{field_id}/context/defaultValue", api_root="rest/api", api_version=self.api_version ) @@ -858,7 +1826,20 @@ def get_context_default_values( data=None, **request_kwargs, ): - """Get default values for a custom field grouped by context and issue type.""" + """Get default values for a custom field grouped by context and issue type. + + Args: + field_id: API path or query parameter. + context_id: API path or query parameter. + issue_type_id: API path or query parameter. + start_at: API path or query parameter. + max_results: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"field/{field_id}/context/defaultValues", api_root="rest/api", api_version=self.api_version ) @@ -869,7 +1850,19 @@ def get_context_default_values( def get_issue_type_mappings_for_contexts( self, field_id, context_id=None, start_at=None, max_results=None, data=None, **request_kwargs ): - """Get issue types for custom field context.""" + """Get issue types for custom field context. + + Args: + field_id: API path or query parameter. + context_id: API path or query parameter. + start_at: API path or query parameter. + max_results: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"field/{field_id}/context/issuetypemapping", api_root="rest/api", api_version=self.api_version ) @@ -880,7 +1873,18 @@ def get_issue_type_mappings_for_contexts( def get_custom_field_contexts_for_projects_and_issue_types( self, field_id, start_at=None, max_results=None, data=None, **request_kwargs ): - """Get custom field contexts for projects and issue types.""" + """Get custom field contexts for projects and issue types. + + Args: + field_id: API path or query parameter. + start_at: API path or query parameter. + max_results: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"field/{field_id}/context/mapping", api_root="rest/api", api_version=self.api_version) params = {"startAt": start_at, "maxResults": max_results} params = {key: value for key, value in params.items() if value is not None} or None @@ -889,7 +1893,19 @@ def get_custom_field_contexts_for_projects_and_issue_types( def get_project_context_mapping( self, field_id, context_id=None, start_at=None, max_results=None, data=None, **request_kwargs ): - """Get project mappings for custom field context.""" + """Get project mappings for custom field context. + + Args: + field_id: API path or query parameter. + context_id: API path or query parameter. + start_at: API path or query parameter. + max_results: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"field/{field_id}/context/projectmapping", api_root="rest/api", api_version=self.api_version ) @@ -898,7 +1914,17 @@ def get_project_context_mapping( return self.get(url, params=params, data=data, **request_kwargs) def delete_custom_field_context(self, field_id, context_id, data=None, **request_kwargs): - """Delete custom field context.""" + """Delete custom field context. + + Args: + field_id: API path or query parameter. + context_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"field/{field_id}/context/{context_id}", api_root="rest/api", api_version=self.api_version ) @@ -906,7 +1932,17 @@ def delete_custom_field_context(self, field_id, context_id, data=None, **request return self.delete(url, params=params, data=data, **request_kwargs) def update_custom_field_context(self, field_id, context_id, data=None, **request_kwargs): - """Update custom field context.""" + """Update custom field context. + + Args: + field_id: API path or query parameter. + context_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"field/{field_id}/context/{context_id}", api_root="rest/api", api_version=self.api_version ) @@ -914,7 +1950,17 @@ def update_custom_field_context(self, field_id, context_id, data=None, **request return self.put(url, params=params, data=data, **request_kwargs) def add_issue_types_to_context(self, field_id, context_id, data=None, **request_kwargs): - """Add issue types to context.""" + """Add issue types to context. + + Args: + field_id: API path or query parameter. + context_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"field/{field_id}/context/{context_id}/issuetype", api_root="rest/api", api_version=self.api_version ) @@ -922,7 +1968,17 @@ def add_issue_types_to_context(self, field_id, context_id, data=None, **request_ return self.put(url, params=params, data=data, **request_kwargs) def remove_issue_types_from_context(self, field_id, context_id, data=None, **request_kwargs): - """Remove issue types from context.""" + """Remove issue types from context. + + Args: + field_id: API path or query parameter. + context_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"field/{field_id}/context/{context_id}/issuetype/remove", api_root="rest/api", api_version=self.api_version ) @@ -940,7 +1996,21 @@ def get_options_for_context( data=None, **request_kwargs, ): - """Get custom field options (context).""" + """Get custom field options (context). + + Args: + field_id: API path or query parameter. + context_id: API path or query parameter. + option_id: API path or query parameter. + only_options: API path or query parameter. + start_at: API path or query parameter. + max_results: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"field/{field_id}/context/{context_id}/option", api_root="rest/api", api_version=self.api_version ) @@ -949,7 +2019,17 @@ def get_options_for_context( return self.get(url, params=params, data=data, **request_kwargs) def create_custom_field_option(self, field_id, context_id, data=None, **request_kwargs): - """Create custom field options (context).""" + """Create custom field options (context). + + Args: + field_id: API path or query parameter. + context_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"field/{field_id}/context/{context_id}/option", api_root="rest/api", api_version=self.api_version ) @@ -957,7 +2037,17 @@ def create_custom_field_option(self, field_id, context_id, data=None, **request_ return self.post(url, params=params, data=data, **request_kwargs) def update_custom_field_option(self, field_id, context_id, data=None, **request_kwargs): - """Update custom field options (context).""" + """Update custom field options (context). + + Args: + field_id: API path or query parameter. + context_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"field/{field_id}/context/{context_id}/option", api_root="rest/api", api_version=self.api_version ) @@ -965,7 +2055,17 @@ def update_custom_field_option(self, field_id, context_id, data=None, **request_ return self.put(url, params=params, data=data, **request_kwargs) def reorder_custom_field_options(self, field_id, context_id, data=None, **request_kwargs): - """Reorder custom field options (context).""" + """Reorder custom field options (context). + + Args: + field_id: API path or query parameter. + context_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"field/{field_id}/context/{context_id}/option/move", api_root="rest/api", api_version=self.api_version ) @@ -973,7 +2073,18 @@ def reorder_custom_field_options(self, field_id, context_id, data=None, **reques return self.put(url, params=params, data=data, **request_kwargs) def delete_custom_field_option(self, field_id, context_id, option_id, data=None, **request_kwargs): - """Delete custom field options (context).""" + """Delete custom field options (context). + + Args: + field_id: API path or query parameter. + context_id: API path or query parameter. + option_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"field/{field_id}/context/{context_id}/option/{option_id}", api_root="rest/api", @@ -985,7 +2096,20 @@ def delete_custom_field_option(self, field_id, context_id, option_id, data=None, def replace_custom_field_option( self, field_id, option_id, context_id, replace_with=None, jql=None, data=None, **request_kwargs ): - """Replace custom field options.""" + """Replace custom field options. + + Args: + field_id: API path or query parameter. + option_id: API path or query parameter. + context_id: API path or query parameter. + replace_with: API path or query parameter. + jql: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"field/{field_id}/context/{context_id}/option/{option_id}/issue", api_root="rest/api", @@ -996,7 +2120,17 @@ def replace_custom_field_option( return self.delete(url, params=params, data=data, **request_kwargs) def assign_projects_to_custom_field_context(self, field_id, context_id, data=None, **request_kwargs): - """Assign custom field context to projects.""" + """Assign custom field context to projects. + + Args: + field_id: API path or query parameter. + context_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"field/{field_id}/context/{context_id}/project", api_root="rest/api", api_version=self.api_version ) @@ -1004,7 +2138,17 @@ def assign_projects_to_custom_field_context(self, field_id, context_id, data=Non return self.put(url, params=params, data=data, **request_kwargs) def remove_custom_field_context_from_projects(self, field_id, context_id, data=None, **request_kwargs): - """Remove custom field context from projects.""" + """Remove custom field context from projects. + + Args: + field_id: API path or query parameter. + context_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"field/{field_id}/context/{context_id}/project/remove", api_root="rest/api", api_version=self.api_version ) @@ -1012,7 +2156,18 @@ def remove_custom_field_context_from_projects(self, field_id, context_id, data=N return self.post(url, params=params, data=data, **request_kwargs) def get_contexts_for_field_deprecated(self, field_id, start_at=None, max_results=None, data=None, **request_kwargs): - """Get contexts for a field.""" + """Get contexts for a field. + + Args: + field_id: API path or query parameter. + start_at: API path or query parameter. + max_results: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"field/{field_id}/contexts", api_root="rest/api", api_version=self.api_version) params = {"startAt": start_at, "maxResults": max_results} params = {key: value for key, value in params.items() if value is not None} or None @@ -1021,21 +2176,53 @@ def get_contexts_for_field_deprecated(self, field_id, start_at=None, max_results def get_screens_for_field( self, field_id, start_at=None, max_results=None, expand=None, data=None, **request_kwargs ): - """Get screens for a field.""" + """Get screens for a field. + + Args: + field_id: API path or query parameter. + start_at: API path or query parameter. + max_results: API path or query parameter. + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"field/{field_id}/screens", api_root="rest/api", api_version=self.api_version) params = {"startAt": start_at, "maxResults": max_results, "expand": expand} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def get_all_issue_field_options(self, field_key, start_at=None, max_results=None, data=None, **request_kwargs): - """Get all issue field options.""" + """Get all issue field options. + + Args: + field_key: API path or query parameter. + start_at: API path or query parameter. + max_results: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"field/{field_key}/option", api_root="rest/api", api_version=self.api_version) params = {"startAt": start_at, "maxResults": max_results} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def create_issue_field_option(self, field_key, data=None, **request_kwargs): - """Create issue field option.""" + """Create issue field option. + + Args: + field_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"field/{field_key}/option", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) @@ -1043,7 +2230,19 @@ def create_issue_field_option(self, field_key, data=None, **request_kwargs): def get_selectable_issue_field_options( self, field_key, start_at=None, max_results=None, project_id=None, data=None, **request_kwargs ): - """Get selectable issue field options.""" + """Get selectable issue field options. + + Args: + field_key: API path or query parameter. + start_at: API path or query parameter. + max_results: API path or query parameter. + project_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"field/{field_key}/option/suggestions/edit", api_root="rest/api", api_version=self.api_version ) @@ -1054,7 +2253,19 @@ def get_selectable_issue_field_options( def get_visible_issue_field_options( self, field_key, start_at=None, max_results=None, project_id=None, data=None, **request_kwargs ): - """Get visible issue field options.""" + """Get visible issue field options. + + Args: + field_key: API path or query parameter. + start_at: API path or query parameter. + max_results: API path or query parameter. + project_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"field/{field_key}/option/suggestions/search", api_root="rest/api", api_version=self.api_version ) @@ -1063,7 +2274,17 @@ def get_visible_issue_field_options( return self.get(url, params=params, data=data, **request_kwargs) def delete_issue_field_option(self, field_key, option_id, data=None, **request_kwargs): - """Delete issue field option.""" + """Delete issue field option. + + Args: + field_key: API path or query parameter. + option_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"field/{field_key}/option/{option_id}", api_root="rest/api", api_version=self.api_version ) @@ -1071,7 +2292,17 @@ def delete_issue_field_option(self, field_key, option_id, data=None, **request_k return self.delete(url, params=params, data=data, **request_kwargs) def get_issue_field_option(self, field_key, option_id, data=None, **request_kwargs): - """Get issue field option.""" + """Get issue field option. + + Args: + field_key: API path or query parameter. + option_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"field/{field_key}/option/{option_id}", api_root="rest/api", api_version=self.api_version ) @@ -1079,7 +2310,17 @@ def get_issue_field_option(self, field_key, option_id, data=None, **request_kwar return self.get(url, params=params, data=data, **request_kwargs) def update_issue_field_option(self, field_key, option_id, data=None, **request_kwargs): - """Update issue field option.""" + """Update issue field option. + + Args: + field_key: API path or query parameter. + option_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"field/{field_key}/option/{option_id}", api_root="rest/api", api_version=self.api_version ) @@ -1097,7 +2338,21 @@ def replace_issue_field_option( data=None, **request_kwargs, ): - """Replace issue field option.""" + """Replace issue field option. + + Args: + field_key: API path or query parameter. + option_id: API path or query parameter. + replace_with: API path or query parameter. + jql: API path or query parameter. + override_screen_security: API path or query parameter. + override_editable_flag: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"field/{field_key}/option/{option_id}/issue", api_root="rest/api", api_version=self.api_version ) @@ -1111,19 +2366,46 @@ def replace_issue_field_option( return self.delete(url, params=params, data=data, **request_kwargs) def delete_custom_field(self, id, data=None, **request_kwargs): - """Delete custom field.""" + """Delete custom field. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"field/{id}", api_root="rest/api", api_version=self.api_version) params = None return self.delete(url, params=params, data=data, **request_kwargs) def restore_custom_field(self, id, data=None, **request_kwargs): - """Restore custom field from trash.""" + """Restore custom field from trash. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"field/{id}/restore", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def trash_custom_field(self, id, data=None, **request_kwargs): - """Move custom field to trash.""" + """Move custom field to trash. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"field/{id}/trash", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) @@ -1131,39 +2413,98 @@ def trash_custom_field(self, id, data=None, **request_kwargs): def get_all_field_configurations( self, start_at=None, max_results=None, id=None, is_default=None, query=None, data=None, **request_kwargs ): - """Get all field configurations.""" + """Get all field configurations. + + Args: + start_at: API path or query parameter. + max_results: API path or query parameter. + id: API path or query parameter. + is_default: API path or query parameter. + query: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("fieldconfiguration", api_root="rest/api", api_version=self.api_version) params = {"startAt": start_at, "maxResults": max_results, "id": id, "isDefault": is_default, "query": query} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def create_field_configuration(self, data=None, **request_kwargs): - """Create field configuration.""" + """Create field configuration. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("fieldconfiguration", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def delete_field_configuration(self, id, data=None, **request_kwargs): - """Delete field configuration.""" + """Delete field configuration. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"fieldconfiguration/{id}", api_root="rest/api", api_version=self.api_version) params = None return self.delete(url, params=params, data=data, **request_kwargs) def update_field_configuration(self, id, data=None, **request_kwargs): - """Update field configuration.""" + """Update field configuration. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"fieldconfiguration/{id}", api_root="rest/api", api_version=self.api_version) params = None return self.put(url, params=params, data=data, **request_kwargs) def get_field_configuration_items(self, id, start_at=None, max_results=None, data=None, **request_kwargs): - """Get field configuration items.""" + """Get field configuration items. + + Args: + id: API path or query parameter. + start_at: API path or query parameter. + max_results: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"fieldconfiguration/{id}/fields", api_root="rest/api", api_version=self.api_version) params = {"startAt": start_at, "maxResults": max_results} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def update_field_configuration_items(self, id, data=None, **request_kwargs): - """Update field configuration items.""" + """Update field configuration items. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"fieldconfiguration/{id}/fields", api_root="rest/api", api_version=self.api_version) params = None return self.put(url, params=params, data=data, **request_kwargs) @@ -1171,14 +2512,33 @@ def update_field_configuration_items(self, id, data=None, **request_kwargs): def get_all_field_configuration_schemes( self, start_at=None, max_results=None, id=None, data=None, **request_kwargs ): - """Get all field configuration schemes.""" + """Get all field configuration schemes. + + Args: + start_at: API path or query parameter. + max_results: API path or query parameter. + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("fieldconfigurationscheme", api_root="rest/api", api_version=self.api_version) params = {"startAt": start_at, "maxResults": max_results, "id": id} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def create_field_configuration_scheme(self, data=None, **request_kwargs): - """Create field configuration scheme.""" + """Create field configuration scheme. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("fieldconfigurationscheme", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) @@ -1186,7 +2546,18 @@ def create_field_configuration_scheme(self, data=None, **request_kwargs): def get_field_configuration_scheme_mappings( self, start_at=None, max_results=None, field_configuration_scheme_id=None, data=None, **request_kwargs ): - """Get field configuration issue type items.""" + """Get field configuration issue type items. + + Args: + start_at: API path or query parameter. + max_results: API path or query parameter. + field_configuration_scheme_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("fieldconfigurationscheme/mapping", api_root="rest/api", api_version=self.api_version) params = { "startAt": start_at, @@ -1199,32 +2570,78 @@ def get_field_configuration_scheme_mappings( def get_field_configuration_scheme_project_mapping( self, start_at=None, max_results=None, project_id=None, data=None, **request_kwargs ): - """Get field configuration schemes for projects.""" + """Get field configuration schemes for projects. + + Args: + start_at: API path or query parameter. + max_results: API path or query parameter. + project_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("fieldconfigurationscheme/project", api_root="rest/api", api_version=self.api_version) params = {"startAt": start_at, "maxResults": max_results, "projectId": project_id} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def assign_field_configuration_scheme_to_project(self, data=None, **request_kwargs): - """Assign field configuration scheme to project.""" + """Assign field configuration scheme to project. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("fieldconfigurationscheme/project", api_root="rest/api", api_version=self.api_version) params = None return self.put(url, params=params, data=data, **request_kwargs) def delete_field_configuration_scheme(self, id, data=None, **request_kwargs): - """Delete field configuration scheme.""" + """Delete field configuration scheme. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"fieldconfigurationscheme/{id}", api_root="rest/api", api_version=self.api_version) params = None return self.delete(url, params=params, data=data, **request_kwargs) def update_field_configuration_scheme(self, id, data=None, **request_kwargs): - """Update field configuration scheme.""" + """Update field configuration scheme. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"fieldconfigurationscheme/{id}", api_root="rest/api", api_version=self.api_version) params = None return self.put(url, params=params, data=data, **request_kwargs) def set_field_configuration_scheme_mapping(self, id, data=None, **request_kwargs): - """Assign issue types to field configurations.""" + """Assign issue types to field configurations. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"fieldconfigurationscheme/{id}/mapping", api_root="rest/api", api_version=self.api_version ) @@ -1232,7 +2649,16 @@ def set_field_configuration_scheme_mapping(self, id, data=None, **request_kwargs return self.put(url, params=params, data=data, **request_kwargs) def remove_issue_types_from_global_field_configuration_scheme(self, id, data=None, **request_kwargs): - """Remove issue types from field configuration scheme.""" + """Remove issue types from field configuration scheme. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"fieldconfigurationscheme/{id}/mapping/delete", api_root="rest/api", api_version=self.api_version ) @@ -1240,33 +2666,78 @@ def remove_issue_types_from_global_field_configuration_scheme(self, id, data=Non return self.post(url, params=params, data=data, **request_kwargs) def create_filter(self, expand=None, override_share_permissions=None, data=None, **request_kwargs): - """Create filter.""" + """Create filter. + + Args: + expand: API path or query parameter. + override_share_permissions: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("filter", api_root="rest/api", api_version=self.api_version) params = {"expand": expand, "overrideSharePermissions": override_share_permissions} params = {key: value for key, value in params.items() if value is not None} or None return self.post(url, params=params, data=data, **request_kwargs) def get_default_share_scope(self, data=None, **request_kwargs): - """Get default share scope.""" + """Get default share scope. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("filter/defaultShareScope", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def set_default_share_scope(self, data=None, **request_kwargs): - """Set default share scope.""" + """Set default share scope. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("filter/defaultShareScope", api_root="rest/api", api_version=self.api_version) params = None return self.put(url, params=params, data=data, **request_kwargs) def get_favourite_filters(self, expand=None, data=None, **request_kwargs): - """Get favorite filters.""" + """Get favorite filters. + + Args: + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("filter/favourite", api_root="rest/api", api_version=self.api_version) params = {"expand": expand} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def get_my_filters(self, expand=None, include_favourites=None, data=None, **request_kwargs): - """Get my filters.""" + """Get my filters. + + Args: + expand: API path or query parameter. + include_favourites: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("filter/my", api_root="rest/api", api_version=self.api_version) params = {"expand": expand, "includeFavourites": include_favourites} params = {key: value for key, value in params.items() if value is not None} or None @@ -1290,7 +2761,28 @@ def get_filters_paginated( data=None, **request_kwargs, ): - """Search for filters.""" + """Search for filters. + + Args: + filter_name: API path or query parameter. + account_id: API path or query parameter. + owner: API path or query parameter. + groupname: API path or query parameter. + group_id: API path or query parameter. + project_id: API path or query parameter. + id: API path or query parameter. + order_by: API path or query parameter. + start_at: API path or query parameter. + max_results: API path or query parameter. + expand: API path or query parameter. + override_share_permissions: API path or query parameter. + is_substring_match: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("filter/search", api_root="rest/api", api_version=self.api_version) params = { "filterName": filter_name, @@ -1311,77 +2803,192 @@ def get_filters_paginated( return self.get(url, params=params, data=data, **request_kwargs) def delete_filter(self, id, data=None, **request_kwargs): - """Delete filter.""" + """Delete filter. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"filter/{id}", api_root="rest/api", api_version=self.api_version) params = None return self.delete(url, params=params, data=data, **request_kwargs) def get_filter(self, id, expand=None, override_share_permissions=None, data=None, **request_kwargs): - """Get filter.""" + """Get filter. + + Args: + id: API path or query parameter. + expand: API path or query parameter. + override_share_permissions: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"filter/{id}", api_root="rest/api", api_version=self.api_version) params = {"expand": expand, "overrideSharePermissions": override_share_permissions} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def update_filter(self, id, expand=None, override_share_permissions=None, data=None, **request_kwargs): - """Update filter.""" + """Update filter. + + Args: + id: API path or query parameter. + expand: API path or query parameter. + override_share_permissions: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"filter/{id}", api_root="rest/api", api_version=self.api_version) params = {"expand": expand, "overrideSharePermissions": override_share_permissions} params = {key: value for key, value in params.items() if value is not None} or None return self.put(url, params=params, data=data, **request_kwargs) def reset_columns(self, id, data=None, **request_kwargs): - """Reset columns.""" + """Reset columns. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"filter/{id}/columns", api_root="rest/api", api_version=self.api_version) params = None return self.delete(url, params=params, data=data, **request_kwargs) def get_columns(self, id, data=None, **request_kwargs): - """Get columns.""" + """Get columns. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"filter/{id}/columns", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def set_columns(self, id, data=None, **request_kwargs): - """Set columns.""" + """Set columns. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"filter/{id}/columns", api_root="rest/api", api_version=self.api_version) params = None return self.put(url, params=params, data=data, **request_kwargs) def delete_favourite_for_filter(self, id, expand=None, data=None, **request_kwargs): - """Remove filter as favorite.""" + """Remove filter as favorite. + + Args: + id: API path or query parameter. + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"filter/{id}/favourite", api_root="rest/api", api_version=self.api_version) params = {"expand": expand} params = {key: value for key, value in params.items() if value is not None} or None return self.delete(url, params=params, data=data, **request_kwargs) def set_favourite_for_filter(self, id, expand=None, data=None, **request_kwargs): - """Add filter as favorite.""" + """Add filter as favorite. + + Args: + id: API path or query parameter. + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"filter/{id}/favourite", api_root="rest/api", api_version=self.api_version) params = {"expand": expand} params = {key: value for key, value in params.items() if value is not None} or None return self.put(url, params=params, data=data, **request_kwargs) def change_filter_owner(self, id, data=None, **request_kwargs): - """Change filter owner.""" + """Change filter owner. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"filter/{id}/owner", api_root="rest/api", api_version=self.api_version) params = None return self.put(url, params=params, data=data, **request_kwargs) def get_share_permissions(self, id, data=None, **request_kwargs): - """Get share permissions.""" + """Get share permissions. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"filter/{id}/permission", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def add_share_permission(self, id, data=None, **request_kwargs): - """Add share permission.""" + """Add share permission. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"filter/{id}/permission", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def delete_share_permission(self, id, permission_id, data=None, **request_kwargs): - """Delete share permission.""" + """Delete share permission. + + Args: + id: API path or query parameter. + permission_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"filter/{id}/permission/{permission_id}", api_root="rest/api", api_version=self.api_version ) @@ -1389,7 +2996,17 @@ def delete_share_permission(self, id, permission_id, data=None, **request_kwargs return self.delete(url, params=params, data=data, **request_kwargs) def get_share_permission(self, id, permission_id, data=None, **request_kwargs): - """Get share permission.""" + """Get share permission. + + Args: + id: API path or query parameter. + permission_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"filter/{id}/permission/{permission_id}", api_root="rest/api", api_version=self.api_version ) @@ -1397,7 +3014,15 @@ def get_share_permission(self, id, permission_id, data=None, **request_kwargs): return self.get(url, params=params, data=data, **request_kwargs) def bulk_pin_unpin_projects_async(self, data=None, **request_kwargs): - """Bulk pin or unpin issue panel to projects.""" + """Bulk pin or unpin issue panel to projects. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("forge/panel/action/bulk/async", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) @@ -1405,21 +3030,52 @@ def bulk_pin_unpin_projects_async(self, data=None, **request_kwargs): def remove_group( self, groupname=None, group_id=None, swap_group=None, swap_group_id=None, data=None, **request_kwargs ): - """Remove group.""" + """Remove group. + + Args: + groupname: API path or query parameter. + group_id: API path or query parameter. + swap_group: API path or query parameter. + swap_group_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("group", api_root="rest/api", api_version=self.api_version) params = {"groupname": groupname, "groupId": group_id, "swapGroup": swap_group, "swapGroupId": swap_group_id} params = {key: value for key, value in params.items() if value is not None} or None return self.delete(url, params=params, data=data, **request_kwargs) def get_group(self, groupname=None, group_id=None, expand=None, data=None, **request_kwargs): - """Get group.""" + """Get group. + + Args: + groupname: API path or query parameter. + group_id: API path or query parameter. + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("group", api_root="rest/api", api_version=self.api_version) params = {"groupname": groupname, "groupId": group_id, "expand": expand} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def create_group(self, data=None, **request_kwargs): - """Create group.""" + """Create group. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("group", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) @@ -1435,7 +3091,21 @@ def bulk_get_groups( data=None, **request_kwargs, ): - """Bulk get groups.""" + """Bulk get groups. + + Args: + start_at: API path or query parameter. + max_results: API path or query parameter. + group_id: API path or query parameter. + group_name: API path or query parameter. + access_type: API path or query parameter. + application_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("group/bulk", api_root="rest/api", api_version=self.api_version) params = { "startAt": start_at, @@ -1458,7 +3128,20 @@ def get_users_from_group( data=None, **request_kwargs, ): - """Get users from group.""" + """Get users from group. + + Args: + groupname: API path or query parameter. + group_id: API path or query parameter. + include_inactive_users: API path or query parameter. + start_at: API path or query parameter. + max_results: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("group/member", api_root="rest/api", api_version=self.api_version) params = { "groupname": groupname, @@ -1473,14 +3156,36 @@ def get_users_from_group( def remove_user_from_group( self, groupname=None, group_id=None, username=None, account_id=None, data=None, **request_kwargs ): - """Remove user from group.""" + """Remove user from group. + + Args: + groupname: API path or query parameter. + group_id: API path or query parameter. + username: API path or query parameter. + account_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("group/user", api_root="rest/api", api_version=self.api_version) params = {"groupname": groupname, "groupId": group_id, "username": username, "accountId": account_id} params = {key: value for key, value in params.items() if value is not None} or None return self.delete(url, params=params, data=data, **request_kwargs) def add_user_to_group(self, groupname=None, group_id=None, data=None, **request_kwargs): - """Add user to group.""" + """Add user to group. + + Args: + groupname: API path or query parameter. + group_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("group/user", api_root="rest/api", api_version=self.api_version) params = {"groupname": groupname, "groupId": group_id} params = {key: value for key, value in params.items() if value is not None} or None @@ -1498,7 +3203,22 @@ def find_groups( data=None, **request_kwargs, ): - """Find groups.""" + """Find groups. + + Args: + account_id: API path or query parameter. + query: API path or query parameter. + exclude: API path or query parameter. + exclude_id: API path or query parameter. + max_results: API path or query parameter. + case_insensitive: API path or query parameter. + user_name: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("groups/picker", api_root="rest/api", api_version=self.api_version) params = { "accountId": account_id, @@ -1527,7 +3247,25 @@ def find_users_and_groups( data=None, **request_kwargs, ): - """Find users and groups.""" + """Find users and groups. + + Args: + query: API path or query parameter. + max_results: API path or query parameter. + show_avatar: API path or query parameter. + field_id: API path or query parameter. + project_id: API path or query parameter. + issue_type_id: API path or query parameter. + avatar_size: API path or query parameter. + case_insensitive: API path or query parameter. + exclude_connect_addons: API path or query parameter. + include_ai_agents: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("groupuserpicker", api_root="rest/api", api_version=self.api_version) params = { "query": query, @@ -1545,38 +3283,87 @@ def find_users_and_groups( return self.get(url, params=params, data=data, **request_kwargs) def get_license(self, data=None, **request_kwargs): - """Get license.""" + """Get license. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("instance/license", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def create_issue(self, update_history=None, data=None, **request_kwargs): - """Create issue.""" + """Create issue. + + Args: + update_history: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("issue", api_root="rest/api", api_version=self.api_version) params = {"updateHistory": update_history} params = {key: value for key, value in params.items() if value is not None} or None return self.post(url, params=params, data=data, **request_kwargs) def archive_issues_async(self, data=None, **request_kwargs): - """Archive issue(s) by JQL.""" + """Archive issue(s) by JQL. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("issue/archive", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def archive_issues(self, data=None, **request_kwargs): - """Archive issue(s) by issue ID/key.""" + """Archive issue(s) by issue ID/key. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("issue/archive", api_root="rest/api", api_version=self.api_version) params = None return self.put(url, params=params, data=data, **request_kwargs) def create_issues(self, data=None, **request_kwargs): - """Bulk create issue.""" + """Bulk create issue. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("issue/bulk", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def bulk_fetch_issues(self, data=None, **request_kwargs): - """Bulk fetch issues.""" + """Bulk fetch issues. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("issue/bulkfetch", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) @@ -1591,7 +3378,20 @@ def get_create_issue_meta( data=None, **request_kwargs, ): - """Get create issue metadata.""" + """Get create issue metadata. + + Args: + project_ids: API path or query parameter. + project_keys: API path or query parameter. + issuetype_ids: API path or query parameter. + issuetype_names: API path or query parameter. + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("issue/createmeta", api_root="rest/api", api_version=self.api_version) params = { "projectIds": project_ids, @@ -1606,7 +3406,18 @@ def get_create_issue_meta( def get_create_issue_meta_issue_types( self, project_id_or_key, start_at=None, max_results=None, data=None, **request_kwargs ): - """Get create metadata issue types for a project.""" + """Get create metadata issue types for a project. + + Args: + project_id_or_key: API path or query parameter. + start_at: API path or query parameter. + max_results: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"issue/createmeta/{project_id_or_key}/issuetypes", api_root="rest/api", api_version=self.api_version ) @@ -1617,7 +3428,19 @@ def get_create_issue_meta_issue_types( def get_create_issue_meta_issue_type_id( self, project_id_or_key, issue_type_id, start_at=None, max_results=None, data=None, **request_kwargs ): - """Get create field metadata for a project and issue type id.""" + """Get create field metadata for a project and issue type id. + + Args: + project_id_or_key: API path or query parameter. + issue_type_id: API path or query parameter. + start_at: API path or query parameter. + max_results: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"issue/createmeta/{project_id_or_key}/issuetypes/{issue_type_id}", api_root="rest/api", @@ -1628,14 +3451,33 @@ def get_create_issue_meta_issue_type_id( return self.get(url, params=params, data=data, **request_kwargs) def get_issue_adf_limit_report(self, is_returning_keys=None, field_type=None, data=None, **request_kwargs): - """Get issue adf limit report.""" + """Get issue adf limit report. + + Args: + is_returning_keys: API path or query parameter. + field_type: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("issue/limit/adf/report", api_root="rest/api", api_version=self.api_version) params = {"isReturningKeys": is_returning_keys, "fieldType": field_type} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def get_issue_limit_report(self, is_returning_keys=None, data=None, **request_kwargs): - """Get issue limit report.""" + """Get issue limit report. + + Args: + is_returning_keys: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("issue/limit/report", api_root="rest/api", api_version=self.api_version) params = {"isReturningKeys": is_returning_keys} params = {key: value for key, value in params.items() if value is not None} or None @@ -1652,7 +3494,21 @@ def get_issue_picker_resource( data=None, **request_kwargs, ): - """Get issue picker suggestions.""" + """Get issue picker suggestions. + + Args: + query: API path or query parameter. + current_jql: API path or query parameter. + current_issue_key: API path or query parameter. + current_project_id: API path or query parameter. + show_sub_tasks: API path or query parameter. + show_sub_task_parent: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("issue/picker", api_root="rest/api", api_version=self.api_version) params = { "query": query, @@ -1666,43 +3522,103 @@ def get_issue_picker_resource( return self.get(url, params=params, data=data, **request_kwargs) def bulk_set_issues_properties_list(self, data=None, **request_kwargs): - """Bulk set issues properties by list.""" + """Bulk set issues properties by list. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("issue/properties", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def bulk_set_issue_properties_by_issue(self, data=None, **request_kwargs): - """Bulk set issue properties by issue.""" + """Bulk set issue properties by issue. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("issue/properties/multi", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def bulk_delete_issue_property(self, property_key, data=None, **request_kwargs): - """Bulk delete issue property.""" + """Bulk delete issue property. + + Args: + property_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"issue/properties/{property_key}", api_root="rest/api", api_version=self.api_version) params = None return self.delete(url, params=params, data=data, **request_kwargs) def bulk_set_issue_property(self, property_key, data=None, **request_kwargs): - """Bulk set issue property.""" + """Bulk set issue property. + + Args: + property_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"issue/properties/{property_key}", api_root="rest/api", api_version=self.api_version) params = None return self.put(url, params=params, data=data, **request_kwargs) def unarchive_issues(self, data=None, **request_kwargs): - """Unarchive issue(s) by issue keys/ID.""" + """Unarchive issue(s) by issue keys/ID. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("issue/unarchive", api_root="rest/api", api_version=self.api_version) params = None return self.put(url, params=params, data=data, **request_kwargs) def get_is_watching_issue_bulk(self, data=None, **request_kwargs): - """Get is watching issue bulk.""" + """Get is watching issue bulk. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("issue/watching", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def delete_issue(self, issue_id_or_key, delete_subtasks=None, data=None, **request_kwargs): - """Delete issue.""" + """Delete issue. + + Args: + issue_id_or_key: API path or query parameter. + delete_subtasks: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"issue/{issue_id_or_key}", api_root="rest/api", api_version=self.api_version) params = {"deleteSubtasks": delete_subtasks} params = {key: value for key, value in params.items() if value is not None} or None @@ -1720,7 +3636,22 @@ def get_issue( data=None, **request_kwargs, ): - """Get issue.""" + """Get issue. + + Args: + issue_id_or_key: API path or query parameter. + fields: API path or query parameter. + fields_by_keys: API path or query parameter. + expand: API path or query parameter. + properties: API path or query parameter. + update_history: API path or query parameter. + fail_fast: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"issue/{issue_id_or_key}", api_root="rest/api", api_version=self.api_version) params = { "fields": fields, @@ -1744,7 +3675,21 @@ def edit_issue( data=None, **request_kwargs, ): - """Edit issue.""" + """Edit issue. + + Args: + issue_id_or_key: API path or query parameter. + notify_users: API path or query parameter. + override_screen_security: API path or query parameter. + override_editable_flag: API path or query parameter. + return_issue: API path or query parameter. + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"issue/{issue_id_or_key}", api_root="rest/api", api_version=self.api_version) params = { "notifyUsers": notify_users, @@ -1757,13 +3702,31 @@ def edit_issue( return self.put(url, params=params, data=data, **request_kwargs) def assign_issue(self, issue_id_or_key, data=None, **request_kwargs): - """Assign issue.""" + """Assign issue. + + Args: + issue_id_or_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"issue/{issue_id_or_key}/assignee", api_root="rest/api", api_version=self.api_version) params = None return self.put(url, params=params, data=data, **request_kwargs) def add_attachment(self, issue_id_or_key, data=None, **request_kwargs): - """Add attachment.""" + """Add attachment. + + Args: + issue_id_or_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"issue/{issue_id_or_key}/attachments", api_root="rest/api", api_version=self.api_version ) @@ -1771,14 +3734,34 @@ def add_attachment(self, issue_id_or_key, data=None, **request_kwargs): return self.post(url, params=params, data=data, **request_kwargs) def get_change_logs(self, issue_id_or_key, start_at=None, max_results=None, data=None, **request_kwargs): - """Get changelogs.""" + """Get changelogs. + + Args: + issue_id_or_key: API path or query parameter. + start_at: API path or query parameter. + max_results: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"issue/{issue_id_or_key}/changelog", api_root="rest/api", api_version=self.api_version) params = {"startAt": start_at, "maxResults": max_results} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def get_change_logs_by_ids(self, issue_id_or_key, data=None, **request_kwargs): - """Get changelogs by IDs.""" + """Get changelogs by IDs. + + Args: + issue_id_or_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"issue/{issue_id_or_key}/changelog/list", api_root="rest/api", api_version=self.api_version ) @@ -1788,21 +3771,54 @@ def get_change_logs_by_ids(self, issue_id_or_key, data=None, **request_kwargs): def get_comments( self, issue_id_or_key, start_at=None, max_results=None, order_by=None, expand=None, data=None, **request_kwargs ): - """Get comments.""" + """Get comments. + + Args: + issue_id_or_key: API path or query parameter. + start_at: API path or query parameter. + max_results: API path or query parameter. + order_by: API path or query parameter. + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"issue/{issue_id_or_key}/comment", api_root="rest/api", api_version=self.api_version) params = {"startAt": start_at, "maxResults": max_results, "orderBy": order_by, "expand": expand} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def add_comment(self, issue_id_or_key, expand=None, data=None, **request_kwargs): - """Add comment.""" + """Add comment. + + Args: + issue_id_or_key: API path or query parameter. + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"issue/{issue_id_or_key}/comment", api_root="rest/api", api_version=self.api_version) params = {"expand": expand} params = {key: value for key, value in params.items() if value is not None} or None return self.post(url, params=params, data=data, **request_kwargs) def delete_comment(self, issue_id_or_key, id, data=None, **request_kwargs): - """Delete comment.""" + """Delete comment. + + Args: + issue_id_or_key: API path or query parameter. + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"issue/{issue_id_or_key}/comment/{id}", api_root="rest/api", api_version=self.api_version ) @@ -1810,7 +3826,18 @@ def delete_comment(self, issue_id_or_key, id, data=None, **request_kwargs): return self.delete(url, params=params, data=data, **request_kwargs) def get_comment(self, issue_id_or_key, id, expand=None, data=None, **request_kwargs): - """Get comment.""" + """Get comment. + + Args: + issue_id_or_key: API path or query parameter. + id: API path or query parameter. + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"issue/{issue_id_or_key}/comment/{id}", api_root="rest/api", api_version=self.api_version ) @@ -1828,7 +3855,20 @@ def update_comment( data=None, **request_kwargs, ): - """Update comment.""" + """Update comment. + + Args: + issue_id_or_key: API path or query parameter. + id: API path or query parameter. + notify_users: API path or query parameter. + override_editable_flag: API path or query parameter. + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"issue/{issue_id_or_key}/comment/{id}", api_root="rest/api", api_version=self.api_version ) @@ -1839,20 +3879,49 @@ def update_comment( def get_edit_issue_meta( self, issue_id_or_key, override_screen_security=None, override_editable_flag=None, data=None, **request_kwargs ): - """Get edit issue metadata.""" + """Get edit issue metadata. + + Args: + issue_id_or_key: API path or query parameter. + override_screen_security: API path or query parameter. + override_editable_flag: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"issue/{issue_id_or_key}/editmeta", api_root="rest/api", api_version=self.api_version) params = {"overrideScreenSecurity": override_screen_security, "overrideEditableFlag": override_editable_flag} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def notify(self, issue_id_or_key, data=None, **request_kwargs): - """Send notification for issue.""" + """Send notification for issue. + + Args: + issue_id_or_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"issue/{issue_id_or_key}/notify", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def get_issue_property_keys(self, issue_id_or_key, data=None, **request_kwargs): - """Get issue property keys.""" + """Get issue property keys. + + Args: + issue_id_or_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"issue/{issue_id_or_key}/properties", api_root="rest/api", api_version=self.api_version ) @@ -1860,7 +3929,17 @@ def get_issue_property_keys(self, issue_id_or_key, data=None, **request_kwargs): return self.get(url, params=params, data=data, **request_kwargs) def delete_issue_property(self, issue_id_or_key, property_key, data=None, **request_kwargs): - """Delete issue property.""" + """Delete issue property. + + Args: + issue_id_or_key: API path or query parameter. + property_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"issue/{issue_id_or_key}/properties/{property_key}", api_root="rest/api", api_version=self.api_version ) @@ -1868,7 +3947,17 @@ def delete_issue_property(self, issue_id_or_key, property_key, data=None, **requ return self.delete(url, params=params, data=data, **request_kwargs) def get_issue_property(self, issue_id_or_key, property_key, data=None, **request_kwargs): - """Get issue property.""" + """Get issue property. + + Args: + issue_id_or_key: API path or query parameter. + property_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"issue/{issue_id_or_key}/properties/{property_key}", api_root="rest/api", api_version=self.api_version ) @@ -1876,7 +3965,17 @@ def get_issue_property(self, issue_id_or_key, property_key, data=None, **request return self.get(url, params=params, data=data, **request_kwargs) def set_issue_property(self, issue_id_or_key, property_key, data=None, **request_kwargs): - """Set issue property.""" + """Set issue property. + + Args: + issue_id_or_key: API path or query parameter. + property_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"issue/{issue_id_or_key}/properties/{property_key}", api_root="rest/api", api_version=self.api_version ) @@ -1884,7 +3983,17 @@ def set_issue_property(self, issue_id_or_key, property_key, data=None, **request return self.put(url, params=params, data=data, **request_kwargs) def delete_remote_issue_link_by_global_id(self, issue_id_or_key, global_id=None, data=None, **request_kwargs): - """Delete remote issue link by global ID.""" + """Delete remote issue link by global ID. + + Args: + issue_id_or_key: API path or query parameter. + global_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"issue/{issue_id_or_key}/remotelink", api_root="rest/api", api_version=self.api_version ) @@ -1893,7 +4002,17 @@ def delete_remote_issue_link_by_global_id(self, issue_id_or_key, global_id=None, return self.delete(url, params=params, data=data, **request_kwargs) def get_remote_issue_links(self, issue_id_or_key, global_id=None, data=None, **request_kwargs): - """Get remote issue links.""" + """Get remote issue links. + + Args: + issue_id_or_key: API path or query parameter. + global_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"issue/{issue_id_or_key}/remotelink", api_root="rest/api", api_version=self.api_version ) @@ -1902,7 +4021,16 @@ def get_remote_issue_links(self, issue_id_or_key, global_id=None, data=None, **r return self.get(url, params=params, data=data, **request_kwargs) def create_or_update_remote_issue_link(self, issue_id_or_key, data=None, **request_kwargs): - """Create or update remote issue link.""" + """Create or update remote issue link. + + Args: + issue_id_or_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"issue/{issue_id_or_key}/remotelink", api_root="rest/api", api_version=self.api_version ) @@ -1910,7 +4038,17 @@ def create_or_update_remote_issue_link(self, issue_id_or_key, data=None, **reque return self.post(url, params=params, data=data, **request_kwargs) def delete_remote_issue_link_by_id(self, issue_id_or_key, link_id, data=None, **request_kwargs): - """Delete remote issue link by ID.""" + """Delete remote issue link by ID. + + Args: + issue_id_or_key: API path or query parameter. + link_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"issue/{issue_id_or_key}/remotelink/{link_id}", api_root="rest/api", api_version=self.api_version ) @@ -1918,7 +4056,17 @@ def delete_remote_issue_link_by_id(self, issue_id_or_key, link_id, data=None, ** return self.delete(url, params=params, data=data, **request_kwargs) def get_remote_issue_link_by_id(self, issue_id_or_key, link_id, data=None, **request_kwargs): - """Get remote issue link by ID.""" + """Get remote issue link by ID. + + Args: + issue_id_or_key: API path or query parameter. + link_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"issue/{issue_id_or_key}/remotelink/{link_id}", api_root="rest/api", api_version=self.api_version ) @@ -1926,7 +4074,17 @@ def get_remote_issue_link_by_id(self, issue_id_or_key, link_id, data=None, **req return self.get(url, params=params, data=data, **request_kwargs) def update_remote_issue_link(self, issue_id_or_key, link_id, data=None, **request_kwargs): - """Update remote issue link by ID.""" + """Update remote issue link by ID. + + Args: + issue_id_or_key: API path or query parameter. + link_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"issue/{issue_id_or_key}/remotelink/{link_id}", api_root="rest/api", api_version=self.api_version ) @@ -1944,7 +4102,21 @@ def get_transitions( data=None, **request_kwargs, ): - """Get transitions.""" + """Get transitions. + + Args: + issue_id_or_key: API path or query parameter. + expand: API path or query parameter. + transition_id: API path or query parameter. + skip_remote_only_condition: API path or query parameter. + include_unavailable_transitions: API path or query parameter. + sort_by_ops_bar_and_status: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"issue/{issue_id_or_key}/transitions", api_root="rest/api", api_version=self.api_version ) @@ -1959,7 +4131,16 @@ def get_transitions( return self.get(url, params=params, data=data, **request_kwargs) def do_transition(self, issue_id_or_key, data=None, **request_kwargs): - """Transition issue.""" + """Transition issue. + + Args: + issue_id_or_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"issue/{issue_id_or_key}/transitions", api_root="rest/api", api_version=self.api_version ) @@ -1967,38 +4148,94 @@ def do_transition(self, issue_id_or_key, data=None, **request_kwargs): return self.post(url, params=params, data=data, **request_kwargs) def remove_vote(self, issue_id_or_key, data=None, **request_kwargs): - """Delete vote.""" + """Delete vote. + + Args: + issue_id_or_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"issue/{issue_id_or_key}/votes", api_root="rest/api", api_version=self.api_version) params = None return self.delete(url, params=params, data=data, **request_kwargs) def get_votes(self, issue_id_or_key, data=None, **request_kwargs): - """Get votes.""" + """Get votes. + + Args: + issue_id_or_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"issue/{issue_id_or_key}/votes", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def add_vote(self, issue_id_or_key, data=None, **request_kwargs): - """Add vote.""" + """Add vote. + + Args: + issue_id_or_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"issue/{issue_id_or_key}/votes", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def remove_watcher(self, issue_id_or_key, username=None, account_id=None, data=None, **request_kwargs): - """Delete watcher.""" + """Delete watcher. + + Args: + issue_id_or_key: API path or query parameter. + username: API path or query parameter. + account_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"issue/{issue_id_or_key}/watchers", api_root="rest/api", api_version=self.api_version) params = {"username": username, "accountId": account_id} params = {key: value for key, value in params.items() if value is not None} or None return self.delete(url, params=params, data=data, **request_kwargs) def get_issue_watchers(self, issue_id_or_key, data=None, **request_kwargs): - """Get issue watchers.""" + """Get issue watchers. + + Args: + issue_id_or_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"issue/{issue_id_or_key}/watchers", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def add_watcher(self, issue_id_or_key, data=None, **request_kwargs): - """Add watcher.""" + """Add watcher. + + Args: + issue_id_or_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"issue/{issue_id_or_key}/watchers", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) @@ -2006,7 +4243,18 @@ def add_watcher(self, issue_id_or_key, data=None, **request_kwargs): def bulk_delete_worklogs( self, issue_id_or_key, adjust_estimate=None, override_editable_flag=None, data=None, **request_kwargs ): - """Bulk delete worklogs.""" + """Bulk delete worklogs. + + Args: + issue_id_or_key: API path or query parameter. + adjust_estimate: API path or query parameter. + override_editable_flag: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"issue/{issue_id_or_key}/worklog", api_root="rest/api", api_version=self.api_version) params = {"adjustEstimate": adjust_estimate, "overrideEditableFlag": override_editable_flag} params = {key: value for key, value in params.items() if value is not None} or None @@ -2023,7 +4271,21 @@ def get_issue_worklog( data=None, **request_kwargs, ): - """Get issue worklogs.""" + """Get issue worklogs. + + Args: + issue_id_or_key: API path or query parameter. + start_at: API path or query parameter. + max_results: API path or query parameter. + started_after: API path or query parameter. + started_before: API path or query parameter. + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"issue/{issue_id_or_key}/worklog", api_root="rest/api", api_version=self.api_version) params = { "startAt": start_at, @@ -2047,7 +4309,22 @@ def add_worklog( data=None, **request_kwargs, ): - """Add worklog.""" + """Add worklog. + + Args: + issue_id_or_key: API path or query parameter. + notify_users: API path or query parameter. + adjust_estimate: API path or query parameter. + new_estimate: API path or query parameter. + reduce_by: API path or query parameter. + expand: API path or query parameter. + override_editable_flag: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"issue/{issue_id_or_key}/worklog", api_root="rest/api", api_version=self.api_version) params = { "notifyUsers": notify_users, @@ -2063,7 +4340,18 @@ def add_worklog( def bulk_move_worklogs( self, issue_id_or_key, adjust_estimate=None, override_editable_flag=None, data=None, **request_kwargs ): - """Bulk move worklogs.""" + """Bulk move worklogs. + + Args: + issue_id_or_key: API path or query parameter. + adjust_estimate: API path or query parameter. + override_editable_flag: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"issue/{issue_id_or_key}/worklog/move", api_root="rest/api", api_version=self.api_version ) @@ -2083,7 +4371,22 @@ def delete_worklog( data=None, **request_kwargs, ): - """Delete worklog.""" + """Delete worklog. + + Args: + issue_id_or_key: API path or query parameter. + id: API path or query parameter. + notify_users: API path or query parameter. + adjust_estimate: API path or query parameter. + new_estimate: API path or query parameter. + increase_by: API path or query parameter. + override_editable_flag: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"issue/{issue_id_or_key}/worklog/{id}", api_root="rest/api", api_version=self.api_version ) @@ -2098,7 +4401,18 @@ def delete_worklog( return self.delete(url, params=params, data=data, **request_kwargs) def get_worklog(self, issue_id_or_key, id, expand=None, data=None, **request_kwargs): - """Get worklog.""" + """Get worklog. + + Args: + issue_id_or_key: API path or query parameter. + id: API path or query parameter. + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"issue/{issue_id_or_key}/worklog/{id}", api_root="rest/api", api_version=self.api_version ) @@ -2118,7 +4432,22 @@ def update_worklog( data=None, **request_kwargs, ): - """Update worklog.""" + """Update worklog. + + Args: + issue_id_or_key: API path or query parameter. + id: API path or query parameter. + notify_users: API path or query parameter. + adjust_estimate: API path or query parameter. + new_estimate: API path or query parameter. + expand: API path or query parameter. + override_editable_flag: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"issue/{issue_id_or_key}/worklog/{id}", api_root="rest/api", api_version=self.api_version ) @@ -2133,7 +4462,17 @@ def update_worklog( return self.put(url, params=params, data=data, **request_kwargs) def get_worklog_property_keys(self, issue_id_or_key, worklog_id, data=None, **request_kwargs): - """Get worklog property keys.""" + """Get worklog property keys. + + Args: + issue_id_or_key: API path or query parameter. + worklog_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"issue/{issue_id_or_key}/worklog/{worklog_id}/properties", api_root="rest/api", @@ -2143,7 +4482,18 @@ def get_worklog_property_keys(self, issue_id_or_key, worklog_id, data=None, **re return self.get(url, params=params, data=data, **request_kwargs) def delete_worklog_property(self, issue_id_or_key, worklog_id, property_key, data=None, **request_kwargs): - """Delete worklog property.""" + """Delete worklog property. + + Args: + issue_id_or_key: API path or query parameter. + worklog_id: API path or query parameter. + property_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"issue/{issue_id_or_key}/worklog/{worklog_id}/properties/{property_key}", api_root="rest/api", @@ -2153,7 +4503,18 @@ def delete_worklog_property(self, issue_id_or_key, worklog_id, property_key, dat return self.delete(url, params=params, data=data, **request_kwargs) def get_worklog_property(self, issue_id_or_key, worklog_id, property_key, data=None, **request_kwargs): - """Get worklog property.""" + """Get worklog property. + + Args: + issue_id_or_key: API path or query parameter. + worklog_id: API path or query parameter. + property_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"issue/{issue_id_or_key}/worklog/{worklog_id}/properties/{property_key}", api_root="rest/api", @@ -2163,7 +4524,18 @@ def get_worklog_property(self, issue_id_or_key, worklog_id, property_key, data=N return self.get(url, params=params, data=data, **request_kwargs) def set_worklog_property(self, issue_id_or_key, worklog_id, property_key, data=None, **request_kwargs): - """Set worklog property.""" + """Set worklog property. + + Args: + issue_id_or_key: API path or query parameter. + worklog_id: API path or query parameter. + property_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"issue/{issue_id_or_key}/worklog/{worklog_id}/properties/{property_key}", api_root="rest/api", @@ -2173,37 +4545,88 @@ def set_worklog_property(self, issue_id_or_key, worklog_id, property_key, data=N return self.put(url, params=params, data=data, **request_kwargs) def link_issues(self, data=None, **request_kwargs): - """Create issue link.""" + """Create issue link. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("issueLink", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def delete_issue_link(self, link_id, data=None, **request_kwargs): - """Delete issue link.""" + """Delete issue link. + + Args: + link_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"issueLink/{link_id}", api_root="rest/api", api_version=self.api_version) params = None return self.delete(url, params=params, data=data, **request_kwargs) def get_issue_link(self, link_id, data=None, **request_kwargs): - """Get issue link.""" + """Get issue link. + + Args: + link_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"issueLink/{link_id}", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def get_issue_link_types(self, data=None, **request_kwargs): - """Get issue link types.""" + """Get issue link types. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("issueLinkType", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def create_issue_link_type(self, data=None, **request_kwargs): - """Create issue link type.""" + """Create issue link type. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("issueLinkType", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def delete_issue_link_type(self, issue_link_type_id, data=None, **request_kwargs): - """Delete issue link type.""" + """Delete issue link type. + + Args: + issue_link_type_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"issueLinkType/{issue_link_type_id}", api_root="rest/api", api_version=self.api_version ) @@ -2211,7 +4634,16 @@ def delete_issue_link_type(self, issue_link_type_id, data=None, **request_kwargs return self.delete(url, params=params, data=data, **request_kwargs) def get_issue_link_type(self, issue_link_type_id, data=None, **request_kwargs): - """Get issue link type.""" + """Get issue link type. + + Args: + issue_link_type_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"issueLinkType/{issue_link_type_id}", api_root="rest/api", api_version=self.api_version ) @@ -2219,7 +4651,16 @@ def get_issue_link_type(self, issue_link_type_id, data=None, **request_kwargs): return self.get(url, params=params, data=data, **request_kwargs) def update_issue_link_type(self, issue_link_type_id, data=None, **request_kwargs): - """Update issue link type.""" + """Update issue link type. + + Args: + issue_link_type_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"issueLinkType/{issue_link_type_id}", api_root="rest/api", api_version=self.api_version ) @@ -2227,19 +4668,43 @@ def update_issue_link_type(self, issue_link_type_id, data=None, **request_kwargs return self.put(url, params=params, data=data, **request_kwargs) def export_archived_issues(self, data=None, **request_kwargs): - """Export archived issue(s).""" + """Export archived issue(s). + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("issues/archive/export", api_root="rest/api", api_version=self.api_version) params = None return self.put(url, params=params, data=data, **request_kwargs) def get_issue_security_schemes(self, data=None, **request_kwargs): - """Get issue security schemes.""" + """Get issue security schemes. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("issuesecurityschemes", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def create_issue_security_scheme(self, data=None, **request_kwargs): - """Create issue security scheme.""" + """Create issue security scheme. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("issuesecurityschemes", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) @@ -2247,7 +4712,20 @@ def create_issue_security_scheme(self, data=None, **request_kwargs): def get_security_levels( self, start_at=None, max_results=None, id=None, scheme_id=None, only_default=None, data=None, **request_kwargs ): - """Get issue security levels.""" + """Get issue security levels. + + Args: + start_at: API path or query parameter. + max_results: API path or query parameter. + id: API path or query parameter. + scheme_id: API path or query parameter. + only_default: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("issuesecurityschemes/level", api_root="rest/api", api_version=self.api_version) params = { "startAt": start_at, @@ -2260,7 +4738,15 @@ def get_security_levels( return self.get(url, params=params, data=data, **request_kwargs) def set_default_levels(self, data=None, **request_kwargs): - """Set default issue security levels.""" + """Set default issue security levels. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("issuesecurityschemes/level/default", api_root="rest/api", api_version=self.api_version) params = None return self.put(url, params=params, data=data, **request_kwargs) @@ -2276,7 +4762,21 @@ def get_security_level_members( data=None, **request_kwargs, ): - """Get issue security level members.""" + """Get issue security level members. + + Args: + start_at: API path or query parameter. + max_results: API path or query parameter. + id: API path or query parameter. + scheme_id: API path or query parameter. + level_id: API path or query parameter. + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("issuesecurityschemes/level/member", api_root="rest/api", api_version=self.api_version) params = { "startAt": start_at, @@ -2298,7 +4798,19 @@ def search_projects_using_security_schemes( data=None, **request_kwargs, ): - """Get projects using issue security schemes.""" + """Get projects using issue security schemes. + + Args: + start_at: API path or query parameter. + max_results: API path or query parameter. + issue_security_scheme_id: API path or query parameter. + project_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("issuesecurityschemes/project", api_root="rest/api", api_version=self.api_version) params = { "startAt": start_at, @@ -2310,7 +4822,15 @@ def search_projects_using_security_schemes( return self.get(url, params=params, data=data, **request_kwargs) def associate_schemes_to_projects(self, data=None, **request_kwargs): - """Associate security scheme to project.""" + """Associate security scheme to project. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("issuesecurityschemes/project", api_root="rest/api", api_version=self.api_version) params = None return self.put(url, params=params, data=data, **request_kwargs) @@ -2318,20 +4838,50 @@ def associate_schemes_to_projects(self, data=None, **request_kwargs): def search_security_schemes( self, start_at=None, max_results=None, id=None, project_id=None, data=None, **request_kwargs ): - """Search issue security schemes.""" + """Search issue security schemes. + + Args: + start_at: API path or query parameter. + max_results: API path or query parameter. + id: API path or query parameter. + project_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("issuesecurityschemes/search", api_root="rest/api", api_version=self.api_version) params = {"startAt": start_at, "maxResults": max_results, "id": id, "projectId": project_id} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def get_issue_security_scheme(self, id, data=None, **request_kwargs): - """Get issue security scheme.""" + """Get issue security scheme. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"issuesecurityschemes/{id}", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def update_issue_security_scheme(self, id, data=None, **request_kwargs): - """Update issue security scheme.""" + """Update issue security scheme. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"issuesecurityschemes/{id}", api_root="rest/api", api_version=self.api_version) params = None return self.put(url, params=params, data=data, **request_kwargs) @@ -2346,7 +4896,20 @@ def get_issue_security_level_members( data=None, **request_kwargs, ): - """Get issue security level members by issue security scheme.""" + """Get issue security level members by issue security scheme. + + Args: + issue_security_scheme_id: API path or query parameter. + start_at: API path or query parameter. + max_results: API path or query parameter. + issue_security_level_id: API path or query parameter. + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"issuesecurityschemes/{issue_security_scheme_id}/members", api_root="rest/api", @@ -2362,13 +4925,31 @@ def get_issue_security_level_members( return self.get(url, params=params, data=data, **request_kwargs) def delete_security_scheme(self, scheme_id, data=None, **request_kwargs): - """Delete issue security scheme.""" + """Delete issue security scheme. + + Args: + scheme_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"issuesecurityschemes/{scheme_id}", api_root="rest/api", api_version=self.api_version) params = None return self.delete(url, params=params, data=data, **request_kwargs) def add_security_level(self, scheme_id, data=None, **request_kwargs): - """Add issue security levels.""" + """Add issue security levels. + + Args: + scheme_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"issuesecurityschemes/{scheme_id}/level", api_root="rest/api", api_version=self.api_version ) @@ -2376,7 +4957,18 @@ def add_security_level(self, scheme_id, data=None, **request_kwargs): return self.put(url, params=params, data=data, **request_kwargs) def remove_level(self, scheme_id, level_id, replace_with=None, data=None, **request_kwargs): - """Remove issue security level.""" + """Remove issue security level. + + Args: + scheme_id: API path or query parameter. + level_id: API path or query parameter. + replace_with: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"issuesecurityschemes/{scheme_id}/level/{level_id}", api_root="rest/api", api_version=self.api_version ) @@ -2385,7 +4977,17 @@ def remove_level(self, scheme_id, level_id, replace_with=None, data=None, **requ return self.delete(url, params=params, data=data, **request_kwargs) def update_security_level(self, scheme_id, level_id, data=None, **request_kwargs): - """Update issue security level.""" + """Update issue security level. + + Args: + scheme_id: API path or query parameter. + level_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"issuesecurityschemes/{scheme_id}/level/{level_id}", api_root="rest/api", api_version=self.api_version ) @@ -2393,7 +4995,17 @@ def update_security_level(self, scheme_id, level_id, data=None, **request_kwargs return self.put(url, params=params, data=data, **request_kwargs) def add_security_level_members(self, scheme_id, level_id, data=None, **request_kwargs): - """Add issue security level members.""" + """Add issue security level members. + + Args: + scheme_id: API path or query parameter. + level_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"issuesecurityschemes/{scheme_id}/level/{level_id}/member", api_root="rest/api", @@ -2403,7 +5015,18 @@ def add_security_level_members(self, scheme_id, level_id, data=None, **request_k return self.put(url, params=params, data=data, **request_kwargs) def remove_member_from_security_level(self, scheme_id, level_id, member_id, data=None, **request_kwargs): - """Remove member from issue security level.""" + """Remove member from issue security level. + + Args: + scheme_id: API path or query parameter. + level_id: API path or query parameter. + member_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"issuesecurityschemes/{scheme_id}/level/{level_id}/member/{member_id}", api_root="rest/api", @@ -2413,58 +5036,142 @@ def remove_member_from_security_level(self, scheme_id, level_id, member_id, data return self.delete(url, params=params, data=data, **request_kwargs) def get_issue_all_types(self, data=None, **request_kwargs): - """Get all issue types for user.""" + """Get all issue types for user. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("issuetype", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def create_issue_type(self, data=None, **request_kwargs): - """Create issue type.""" + """Create issue type. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("issuetype", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def get_issue_types_for_project(self, project_id=None, level=None, data=None, **request_kwargs): - """Get issue types for project.""" + """Get issue types for project. + + Args: + project_id: API path or query parameter. + level: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("issuetype/project", api_root="rest/api", api_version=self.api_version) params = {"projectId": project_id, "level": level} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def delete_issue_type(self, id, alternative_issue_type_id=None, data=None, **request_kwargs): - """Delete issue type.""" + """Delete issue type. + + Args: + id: API path or query parameter. + alternative_issue_type_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"issuetype/{id}", api_root="rest/api", api_version=self.api_version) params = {"alternativeIssueTypeId": alternative_issue_type_id} params = {key: value for key, value in params.items() if value is not None} or None return self.delete(url, params=params, data=data, **request_kwargs) def get_issue_type(self, id, data=None, **request_kwargs): - """Get issue type.""" + """Get issue type. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"issuetype/{id}", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def update_issue_type(self, id, data=None, **request_kwargs): - """Update issue type.""" + """Update issue type. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"issuetype/{id}", api_root="rest/api", api_version=self.api_version) params = None return self.put(url, params=params, data=data, **request_kwargs) def get_alternative_issue_types(self, id, data=None, **request_kwargs): - """Get alternative issue types.""" + """Get alternative issue types. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"issuetype/{id}/alternatives", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def create_issue_type_avatar(self, id, x=None, y=None, size=None, data=None, **request_kwargs): - """Load issue type avatar.""" + """Load issue type avatar. + + Args: + id: API path or query parameter. + x: API path or query parameter. + y: API path or query parameter. + size: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"issuetype/{id}/avatar2", api_root="rest/api", api_version=self.api_version) params = {"x": x, "y": y, "size": size} params = {key: value for key, value in params.items() if value is not None} or None return self.post(url, params=params, data=data, **request_kwargs) def get_issue_type_property_keys(self, issue_type_id, data=None, **request_kwargs): - """Get issue type property keys.""" + """Get issue type property keys. + + Args: + issue_type_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"issuetype/{issue_type_id}/properties", api_root="rest/api", api_version=self.api_version ) @@ -2472,7 +5179,17 @@ def get_issue_type_property_keys(self, issue_type_id, data=None, **request_kwarg return self.get(url, params=params, data=data, **request_kwargs) def delete_issue_type_property(self, issue_type_id, property_key, data=None, **request_kwargs): - """Delete issue type property.""" + """Delete issue type property. + + Args: + issue_type_id: API path or query parameter. + property_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"issuetype/{issue_type_id}/properties/{property_key}", api_root="rest/api", api_version=self.api_version ) @@ -2480,7 +5197,17 @@ def delete_issue_type_property(self, issue_type_id, property_key, data=None, **r return self.delete(url, params=params, data=data, **request_kwargs) def get_issue_type_property(self, issue_type_id, property_key, data=None, **request_kwargs): - """Get issue type property.""" + """Get issue type property. + + Args: + issue_type_id: API path or query parameter. + property_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"issuetype/{issue_type_id}/properties/{property_key}", api_root="rest/api", api_version=self.api_version ) @@ -2488,7 +5215,17 @@ def get_issue_type_property(self, issue_type_id, property_key, data=None, **requ return self.get(url, params=params, data=data, **request_kwargs) def set_issue_type_property(self, issue_type_id, property_key, data=None, **request_kwargs): - """Set issue type property.""" + """Set issue type property. + + Args: + issue_type_id: API path or query parameter. + property_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"issuetype/{issue_type_id}/properties/{property_key}", api_root="rest/api", api_version=self.api_version ) @@ -2506,7 +5243,21 @@ def get_all_issue_type_schemes( data=None, **request_kwargs, ): - """Get all issue type schemes.""" + """Get all issue type schemes. + + Args: + start_at: API path or query parameter. + max_results: API path or query parameter. + id: API path or query parameter. + order_by: API path or query parameter. + expand: API path or query parameter. + query_string: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("issuetypescheme", api_root="rest/api", api_version=self.api_version) params = { "startAt": start_at, @@ -2520,7 +5271,15 @@ def get_all_issue_type_schemes( return self.get(url, params=params, data=data, **request_kwargs) def create_issue_type_scheme(self, data=None, **request_kwargs): - """Create issue type scheme.""" + """Create issue type scheme. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("issuetypescheme", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) @@ -2528,7 +5287,18 @@ def create_issue_type_scheme(self, data=None, **request_kwargs): def get_issue_type_schemes_mapping( self, start_at=None, max_results=None, issue_type_scheme_id=None, data=None, **request_kwargs ): - """Get issue type scheme items.""" + """Get issue type scheme items. + + Args: + start_at: API path or query parameter. + max_results: API path or query parameter. + issue_type_scheme_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("issuetypescheme/mapping", api_root="rest/api", api_version=self.api_version) params = {"startAt": start_at, "maxResults": max_results, "issueTypeSchemeId": issue_type_scheme_id} params = {key: value for key, value in params.items() if value is not None} or None @@ -2537,20 +5307,48 @@ def get_issue_type_schemes_mapping( def get_issue_type_scheme_for_projects( self, start_at=None, max_results=None, project_id=None, data=None, **request_kwargs ): - """Get issue type schemes for projects.""" + """Get issue type schemes for projects. + + Args: + start_at: API path or query parameter. + max_results: API path or query parameter. + project_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("issuetypescheme/project", api_root="rest/api", api_version=self.api_version) params = {"startAt": start_at, "maxResults": max_results, "projectId": project_id} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def assign_issue_type_scheme_to_project(self, data=None, **request_kwargs): - """Assign issue type scheme to project.""" + """Assign issue type scheme to project. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("issuetypescheme/project", api_root="rest/api", api_version=self.api_version) params = None return self.put(url, params=params, data=data, **request_kwargs) def delete_issue_type_scheme(self, issue_type_scheme_id, data=None, **request_kwargs): - """Delete issue type scheme.""" + """Delete issue type scheme. + + Args: + issue_type_scheme_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"issuetypescheme/{issue_type_scheme_id}", api_root="rest/api", api_version=self.api_version ) @@ -2558,7 +5356,16 @@ def delete_issue_type_scheme(self, issue_type_scheme_id, data=None, **request_kw return self.delete(url, params=params, data=data, **request_kwargs) def update_issue_type_scheme(self, issue_type_scheme_id, data=None, **request_kwargs): - """Update issue type scheme.""" + """Update issue type scheme. + + Args: + issue_type_scheme_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"issuetypescheme/{issue_type_scheme_id}", api_root="rest/api", api_version=self.api_version ) @@ -2566,7 +5373,16 @@ def update_issue_type_scheme(self, issue_type_scheme_id, data=None, **request_kw return self.put(url, params=params, data=data, **request_kwargs) def add_issue_types_to_issue_type_scheme(self, issue_type_scheme_id, data=None, **request_kwargs): - """Add issue types to issue type scheme.""" + """Add issue types to issue type scheme. + + Args: + issue_type_scheme_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"issuetypescheme/{issue_type_scheme_id}/issuetype", api_root="rest/api", api_version=self.api_version ) @@ -2574,7 +5390,16 @@ def add_issue_types_to_issue_type_scheme(self, issue_type_scheme_id, data=None, return self.put(url, params=params, data=data, **request_kwargs) def reorder_issue_types_in_issue_type_scheme(self, issue_type_scheme_id, data=None, **request_kwargs): - """Change order of issue types.""" + """Change order of issue types. + + Args: + issue_type_scheme_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"issuetypescheme/{issue_type_scheme_id}/issuetype/move", api_root="rest/api", api_version=self.api_version ) @@ -2584,7 +5409,17 @@ def reorder_issue_types_in_issue_type_scheme(self, issue_type_scheme_id, data=No def remove_issue_type_from_issue_type_scheme( self, issue_type_scheme_id, issue_type_id, data=None, **request_kwargs ): - """Remove issue type from issue type scheme.""" + """Remove issue type from issue type scheme. + + Args: + issue_type_scheme_id: API path or query parameter. + issue_type_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"issuetypescheme/{issue_type_scheme_id}/issuetype/{issue_type_id}", api_root="rest/api", @@ -2604,7 +5439,21 @@ def get_issue_type_screen_schemes( data=None, **request_kwargs, ): - """Get issue type screen schemes.""" + """Get issue type screen schemes. + + Args: + start_at: API path or query parameter. + max_results: API path or query parameter. + id: API path or query parameter. + query_string: API path or query parameter. + order_by: API path or query parameter. + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("issuetypescreenscheme", api_root="rest/api", api_version=self.api_version) params = { "startAt": start_at, @@ -2618,7 +5467,15 @@ def get_issue_type_screen_schemes( return self.get(url, params=params, data=data, **request_kwargs) def create_issue_type_screen_scheme(self, data=None, **request_kwargs): - """Create issue type screen scheme.""" + """Create issue type screen scheme. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("issuetypescreenscheme", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) @@ -2626,7 +5483,18 @@ def create_issue_type_screen_scheme(self, data=None, **request_kwargs): def get_issue_type_screen_scheme_mappings( self, start_at=None, max_results=None, issue_type_screen_scheme_id=None, data=None, **request_kwargs ): - """Get issue type screen scheme items.""" + """Get issue type screen scheme items. + + Args: + start_at: API path or query parameter. + max_results: API path or query parameter. + issue_type_screen_scheme_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("issuetypescreenscheme/mapping", api_root="rest/api", api_version=self.api_version) params = { "startAt": start_at, @@ -2639,20 +5507,48 @@ def get_issue_type_screen_scheme_mappings( def get_issue_type_screen_scheme_project_associations( self, start_at=None, max_results=None, project_id=None, data=None, **request_kwargs ): - """Get issue type screen schemes for projects.""" + """Get issue type screen schemes for projects. + + Args: + start_at: API path or query parameter. + max_results: API path or query parameter. + project_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("issuetypescreenscheme/project", api_root="rest/api", api_version=self.api_version) params = {"startAt": start_at, "maxResults": max_results, "projectId": project_id} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def assign_issue_type_screen_scheme_to_project(self, data=None, **request_kwargs): - """Assign issue type screen scheme to project.""" + """Assign issue type screen scheme to project. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("issuetypescreenscheme/project", api_root="rest/api", api_version=self.api_version) params = None return self.put(url, params=params, data=data, **request_kwargs) def delete_issue_type_screen_scheme(self, issue_type_screen_scheme_id, data=None, **request_kwargs): - """Delete issue type screen scheme.""" + """Delete issue type screen scheme. + + Args: + issue_type_screen_scheme_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"issuetypescreenscheme/{issue_type_screen_scheme_id}", api_root="rest/api", api_version=self.api_version ) @@ -2660,7 +5556,16 @@ def delete_issue_type_screen_scheme(self, issue_type_screen_scheme_id, data=None return self.delete(url, params=params, data=data, **request_kwargs) def update_issue_type_screen_scheme(self, issue_type_screen_scheme_id, data=None, **request_kwargs): - """Update issue type screen scheme.""" + """Update issue type screen scheme. + + Args: + issue_type_screen_scheme_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"issuetypescreenscheme/{issue_type_screen_scheme_id}", api_root="rest/api", api_version=self.api_version ) @@ -2668,7 +5573,16 @@ def update_issue_type_screen_scheme(self, issue_type_screen_scheme_id, data=None return self.put(url, params=params, data=data, **request_kwargs) def append_mappings_for_issue_type_screen_scheme(self, issue_type_screen_scheme_id, data=None, **request_kwargs): - """Append mappings to issue type screen scheme.""" + """Append mappings to issue type screen scheme. + + Args: + issue_type_screen_scheme_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"issuetypescreenscheme/{issue_type_screen_scheme_id}/mapping", api_root="rest/api", @@ -2678,7 +5592,16 @@ def append_mappings_for_issue_type_screen_scheme(self, issue_type_screen_scheme_ return self.put(url, params=params, data=data, **request_kwargs) def update_default_screen_scheme(self, issue_type_screen_scheme_id, data=None, **request_kwargs): - """Update issue type screen scheme default screen scheme.""" + """Update issue type screen scheme default screen scheme. + + Args: + issue_type_screen_scheme_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"issuetypescreenscheme/{issue_type_screen_scheme_id}/mapping/default", api_root="rest/api", @@ -2688,7 +5611,16 @@ def update_default_screen_scheme(self, issue_type_screen_scheme_id, data=None, * return self.put(url, params=params, data=data, **request_kwargs) def remove_mappings_from_issue_type_screen_scheme(self, issue_type_screen_scheme_id, data=None, **request_kwargs): - """Remove mappings from issue type screen scheme.""" + """Remove mappings from issue type screen scheme. + + Args: + issue_type_screen_scheme_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"issuetypescreenscheme/{issue_type_screen_scheme_id}/mapping/remove", api_root="rest/api", @@ -2700,7 +5632,19 @@ def remove_mappings_from_issue_type_screen_scheme(self, issue_type_screen_scheme def get_projects_for_issue_type_screen_scheme( self, issue_type_screen_scheme_id, start_at=None, max_results=None, query=None, data=None, **request_kwargs ): - """Get issue type screen scheme projects.""" + """Get issue type screen scheme projects. + + Args: + issue_type_screen_scheme_id: API path or query parameter. + start_at: API path or query parameter. + max_results: API path or query parameter. + query: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"issuetypescreenscheme/{issue_type_screen_scheme_id}/project", api_root="rest/api", @@ -2711,13 +5655,29 @@ def get_projects_for_issue_type_screen_scheme( return self.get(url, params=params, data=data, **request_kwargs) def get_auto_complete(self, data=None, **request_kwargs): - """Get field reference data (GET).""" + """Get field reference data (GET). + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("jql/autocompletedata", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def get_auto_complete_post(self, data=None, **request_kwargs): - """Get field reference data (POST).""" + """Get field reference data (POST). + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("jql/autocompletedata", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) @@ -2725,7 +5685,19 @@ def get_auto_complete_post(self, data=None, **request_kwargs): def get_field_auto_complete_for_query_string( self, field_name=None, field_value=None, predicate_name=None, predicate_value=None, data=None, **request_kwargs ): - """Get field auto complete suggestions.""" + """Get field auto complete suggestions. + + Args: + field_name: API path or query parameter. + field_value: API path or query parameter. + predicate_name: API path or query parameter. + predicate_value: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("jql/autocompletedata/suggestions", api_root="rest/api", api_version=self.api_version) params = { "fieldName": field_name, @@ -2739,66 +5711,156 @@ def get_field_auto_complete_for_query_string( def get_precomputations( self, function_key=None, start_at=None, max_results=None, order_by=None, data=None, **request_kwargs ): - """Get precomputations (apps).""" + """Get precomputations (apps). + + Args: + function_key: API path or query parameter. + start_at: API path or query parameter. + max_results: API path or query parameter. + order_by: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("jql/function/computation", api_root="rest/api", api_version=self.api_version) params = {"functionKey": function_key, "startAt": start_at, "maxResults": max_results, "orderBy": order_by} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def update_precomputations(self, skip_not_found_precomputations=None, data=None, **request_kwargs): - """Update precomputations (apps).""" + """Update precomputations (apps). + + Args: + skip_not_found_precomputations: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("jql/function/computation", api_root="rest/api", api_version=self.api_version) params = {"skipNotFoundPrecomputations": skip_not_found_precomputations} params = {key: value for key, value in params.items() if value is not None} or None return self.post(url, params=params, data=data, **request_kwargs) def get_precomputations_by_id(self, order_by=None, data=None, **request_kwargs): - """Get precomputations by ID (apps).""" + """Get precomputations by ID (apps). + + Args: + order_by: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("jql/function/computation/search", api_root="rest/api", api_version=self.api_version) params = {"orderBy": order_by} params = {key: value for key, value in params.items() if value is not None} or None return self.post(url, params=params, data=data, **request_kwargs) def match_issues(self, data=None, **request_kwargs): - """Check issues against JQL.""" + """Check issues against JQL. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("jql/match", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def parse_jql_queries(self, validation=None, data=None, **request_kwargs): - """Parse JQL query.""" + """Parse JQL query. + + Args: + validation: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("jql/parse", api_root="rest/api", api_version=self.api_version) params = {"validation": validation} params = {key: value for key, value in params.items() if value is not None} or None return self.post(url, params=params, data=data, **request_kwargs) def migrate_queries(self, data=None, **request_kwargs): - """Convert user identifiers to account IDs in JQL queries.""" + """Convert user identifiers to account IDs in JQL queries. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("jql/pdcleaner", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def sanitise_jql_queries(self, data=None, **request_kwargs): - """Sanitize JQL queries.""" + """Sanitize JQL queries. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("jql/sanitize", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def get_all_labels(self, start_at=None, max_results=None, data=None, **request_kwargs): - """Get all labels.""" + """Get all labels. + + Args: + start_at: API path or query parameter. + max_results: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("label", api_root="rest/api", api_version=self.api_version) params = {"startAt": start_at, "maxResults": max_results} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def get_approximate_license_count(self, data=None, **request_kwargs): - """Get approximate license count.""" + """Get approximate license count. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("license/approximateLicenseCount", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def get_approximate_application_license_count(self, application_key, data=None, **request_kwargs): - """Get approximate application license count.""" + """Get approximate application license count. + + Args: + application_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"license/approximateLicenseCount/product/{application_key}", api_root="rest/api", @@ -2820,7 +5882,23 @@ def get_my_permissions( data=None, **request_kwargs, ): - """Get my permissions.""" + """Get my permissions. + + Args: + project_key: API path or query parameter. + project_id: API path or query parameter. + issue_key: API path or query parameter. + issue_id: API path or query parameter. + permissions: API path or query parameter. + project_uuid: API path or query parameter. + project_configuration_uuid: API path or query parameter. + comment_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("mypermissions", api_root="rest/api", api_version=self.api_version) params = { "projectKey": project_key, @@ -2836,40 +5914,92 @@ def get_my_permissions( return self.get(url, params=params, data=data, **request_kwargs) def remove_preference(self, key=None, data=None, **request_kwargs): - """Delete preference.""" + """Delete preference. + + Args: + key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("mypreferences", api_root="rest/api", api_version=self.api_version) params = {"key": key} params = {key: value for key, value in params.items() if value is not None} or None return self.delete(url, params=params, data=data, **request_kwargs) def get_preference(self, key=None, data=None, **request_kwargs): - """Get preference.""" + """Get preference. + + Args: + key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("mypreferences", api_root="rest/api", api_version=self.api_version) params = {"key": key} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def set_preference(self, key=None, data=None, **request_kwargs): - """Set preference.""" + """Set preference. + + Args: + key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("mypreferences", api_root="rest/api", api_version=self.api_version) params = {"key": key} params = {key: value for key, value in params.items() if value is not None} or None return self.put(url, params=params, data=data, **request_kwargs) def get_locale(self, data=None, **request_kwargs): - """Get locale.""" + """Get locale. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("mypreferences/locale", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def set_locale(self, data=None, **request_kwargs): - """Set locale.""" + """Set locale. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("mypreferences/locale", api_root="rest/api", api_version=self.api_version) params = None return self.put(url, params=params, data=data, **request_kwargs) def get_current_user(self, expand=None, data=None, **request_kwargs): - """Get current user.""" + """Get current user. + + Args: + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("myself", api_root="rest/api", api_version=self.api_version) params = {"expand": expand} params = {key: value for key, value in params.items() if value is not None} or None @@ -2886,7 +6016,21 @@ def get_notification_schemes( data=None, **request_kwargs, ): - """Get notification schemes paginated.""" + """Get notification schemes paginated. + + Args: + start_at: API path or query parameter. + max_results: API path or query parameter. + id: API path or query parameter. + project_id: API path or query parameter. + only_default: API path or query parameter. + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("notificationscheme", api_root="rest/api", api_version=self.api_version) params = { "startAt": start_at, @@ -2900,7 +6044,15 @@ def get_notification_schemes( return self.get(url, params=params, data=data, **request_kwargs) def create_notification_scheme(self, data=None, **request_kwargs): - """Create notification scheme.""" + """Create notification scheme. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("notificationscheme", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) @@ -2908,7 +6060,19 @@ def create_notification_scheme(self, data=None, **request_kwargs): def get_notification_scheme_to_project_mappings( self, start_at=None, max_results=None, notification_scheme_id=None, project_id=None, data=None, **request_kwargs ): - """Get projects using notification schemes paginated.""" + """Get projects using notification schemes paginated. + + Args: + start_at: API path or query parameter. + max_results: API path or query parameter. + notification_scheme_id: API path or query parameter. + project_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("notificationscheme/project", api_root="rest/api", api_version=self.api_version) params = { "startAt": start_at, @@ -2920,20 +6084,48 @@ def get_notification_scheme_to_project_mappings( return self.get(url, params=params, data=data, **request_kwargs) def get_notification_scheme(self, id, expand=None, data=None, **request_kwargs): - """Get notification scheme.""" + """Get notification scheme. + + Args: + id: API path or query parameter. + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"notificationscheme/{id}", api_root="rest/api", api_version=self.api_version) params = {"expand": expand} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def update_notification_scheme(self, id, data=None, **request_kwargs): - """Update notification scheme.""" + """Update notification scheme. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"notificationscheme/{id}", api_root="rest/api", api_version=self.api_version) params = None return self.put(url, params=params, data=data, **request_kwargs) def add_notifications(self, id, data=None, **request_kwargs): - """Add notifications to notification scheme.""" + """Add notifications to notification scheme. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"notificationscheme/{id}/notification", api_root="rest/api", api_version=self.api_version ) @@ -2941,7 +6133,16 @@ def add_notifications(self, id, data=None, **request_kwargs): return self.put(url, params=params, data=data, **request_kwargs) def delete_notification_scheme(self, notification_scheme_id, data=None, **request_kwargs): - """Delete notification scheme.""" + """Delete notification scheme. + + Args: + notification_scheme_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"notificationscheme/{notification_scheme_id}", api_root="rest/api", api_version=self.api_version ) @@ -2951,7 +6152,17 @@ def delete_notification_scheme(self, notification_scheme_id, data=None, **reques def remove_notification_from_notification_scheme( self, notification_scheme_id, notification_id, data=None, **request_kwargs ): - """Remove notification from notification scheme.""" + """Remove notification from notification scheme. + + Args: + notification_scheme_id: API path or query parameter. + notification_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"notificationscheme/{notification_scheme_id}/notification/{notification_id}", api_root="rest/api", @@ -2961,59 +6172,140 @@ def remove_notification_from_notification_scheme( return self.delete(url, params=params, data=data, **request_kwargs) def get_all_permissions(self, data=None, **request_kwargs): - """Get all permissions.""" + """Get all permissions. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("permissions", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def get_bulk_permissions(self, data=None, **request_kwargs): - """Get bulk permissions.""" + """Get bulk permissions. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("permissions/check", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def get_permitted_projects(self, data=None, **request_kwargs): - """Get permitted projects.""" + """Get permitted projects. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("permissions/project", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def get_all_permission_schemes(self, expand=None, data=None, **request_kwargs): - """Get all permission schemes.""" + """Get all permission schemes. + + Args: + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("permissionscheme", api_root="rest/api", api_version=self.api_version) params = {"expand": expand} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def create_permission_scheme(self, expand=None, data=None, **request_kwargs): - """Create permission scheme.""" + """Create permission scheme. + + Args: + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("permissionscheme", api_root="rest/api", api_version=self.api_version) params = {"expand": expand} params = {key: value for key, value in params.items() if value is not None} or None return self.post(url, params=params, data=data, **request_kwargs) def delete_permission_scheme(self, scheme_id, data=None, **request_kwargs): - """Delete permission scheme.""" + """Delete permission scheme. + + Args: + scheme_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"permissionscheme/{scheme_id}", api_root="rest/api", api_version=self.api_version) params = None return self.delete(url, params=params, data=data, **request_kwargs) def get_permission_scheme(self, scheme_id, expand=None, data=None, **request_kwargs): - """Get permission scheme.""" + """Get permission scheme. + + Args: + scheme_id: API path or query parameter. + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"permissionscheme/{scheme_id}", api_root="rest/api", api_version=self.api_version) params = {"expand": expand} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def update_permission_scheme(self, scheme_id, expand=None, data=None, **request_kwargs): - """Update permission scheme.""" + """Update permission scheme. + + Args: + scheme_id: API path or query parameter. + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"permissionscheme/{scheme_id}", api_root="rest/api", api_version=self.api_version) params = {"expand": expand} params = {key: value for key, value in params.items() if value is not None} or None return self.put(url, params=params, data=data, **request_kwargs) def get_permission_scheme_grants(self, scheme_id, expand=None, data=None, **request_kwargs): - """Get permission scheme grants.""" + """Get permission scheme grants. + + Args: + scheme_id: API path or query parameter. + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"permissionscheme/{scheme_id}/permission", api_root="rest/api", api_version=self.api_version ) @@ -3022,7 +6314,17 @@ def get_permission_scheme_grants(self, scheme_id, expand=None, data=None, **requ return self.get(url, params=params, data=data, **request_kwargs) def create_permission_grant(self, scheme_id, expand=None, data=None, **request_kwargs): - """Create permission grant.""" + """Create permission grant. + + Args: + scheme_id: API path or query parameter. + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"permissionscheme/{scheme_id}/permission", api_root="rest/api", api_version=self.api_version ) @@ -3031,7 +6333,17 @@ def create_permission_grant(self, scheme_id, expand=None, data=None, **request_k return self.post(url, params=params, data=data, **request_kwargs) def delete_permission_scheme_entity(self, scheme_id, permission_id, data=None, **request_kwargs): - """Delete permission scheme grant.""" + """Delete permission scheme grant. + + Args: + scheme_id: API path or query parameter. + permission_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"permissionscheme/{scheme_id}/permission/{permission_id}", api_root="rest/api", @@ -3041,7 +6353,18 @@ def delete_permission_scheme_entity(self, scheme_id, permission_id, data=None, * return self.delete(url, params=params, data=data, **request_kwargs) def get_permission_scheme_grant(self, scheme_id, permission_id, expand=None, data=None, **request_kwargs): - """Get permission scheme grant.""" + """Get permission scheme grant. + + Args: + scheme_id: API path or query parameter. + permission_id: API path or query parameter. + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"permissionscheme/{scheme_id}/permission/{permission_id}", api_root="rest/api", @@ -3054,7 +6377,19 @@ def get_permission_scheme_grant(self, scheme_id, permission_id, expand=None, dat def get_plans( self, include_trashed=None, include_archived=None, cursor=None, max_results=None, data=None, **request_kwargs ): - """Get plans paginated.""" + """Get plans paginated. + + Args: + include_trashed: API path or query parameter. + include_archived: API path or query parameter. + cursor: API path or query parameter. + max_results: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("plans/plan", api_root="rest/api", api_version=self.api_version) params = { "includeTrashed": include_trashed, @@ -3066,47 +6401,114 @@ def get_plans( return self.get(url, params=params, data=data, **request_kwargs) def create_plan(self, use_group_id=None, data=None, **request_kwargs): - """Create plan.""" + """Create plan. + + Args: + use_group_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("plans/plan", api_root="rest/api", api_version=self.api_version) params = {"useGroupId": use_group_id} params = {key: value for key, value in params.items() if value is not None} or None return self.post(url, params=params, data=data, **request_kwargs) def get_plan(self, plan_id, use_group_id=None, data=None, **request_kwargs): - """Get plan.""" + """Get plan. + + Args: + plan_id: API path or query parameter. + use_group_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"plans/plan/{plan_id}", api_root="rest/api", api_version=self.api_version) params = {"useGroupId": use_group_id} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def update_plan(self, plan_id, use_group_id=None, data=None, **request_kwargs): - """Update plan.""" + """Update plan. + + Args: + plan_id: API path or query parameter. + use_group_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"plans/plan/{plan_id}", api_root="rest/api", api_version=self.api_version) params = {"useGroupId": use_group_id} params = {key: value for key, value in params.items() if value is not None} or None return self.put(url, params=params, data=data, **request_kwargs) def archive_plan(self, plan_id, data=None, **request_kwargs): - """Archive plan.""" + """Archive plan. + + Args: + plan_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"plans/plan/{plan_id}/archive", api_root="rest/api", api_version=self.api_version) params = None return self.put(url, params=params, data=data, **request_kwargs) def duplicate_plan(self, plan_id, data=None, **request_kwargs): - """Duplicate plan.""" + """Duplicate plan. + + Args: + plan_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"plans/plan/{plan_id}/duplicate", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def get_teams(self, plan_id, cursor=None, max_results=None, data=None, **request_kwargs): - """Get teams in plan paginated.""" + """Get teams in plan paginated. + + Args: + plan_id: API path or query parameter. + cursor: API path or query parameter. + max_results: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"plans/plan/{plan_id}/team", api_root="rest/api", api_version=self.api_version) params = {"cursor": cursor, "maxResults": max_results} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def add_atlassian_team(self, plan_id, data=None, **request_kwargs): - """Add Atlassian team to plan.""" + """Add Atlassian team to plan. + + Args: + plan_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"plans/plan/{plan_id}/team/atlassian", api_root="rest/api", api_version=self.api_version ) @@ -3114,7 +6516,17 @@ def add_atlassian_team(self, plan_id, data=None, **request_kwargs): return self.post(url, params=params, data=data, **request_kwargs) def remove_atlassian_team(self, plan_id, atlassian_team_id, data=None, **request_kwargs): - """Remove Atlassian team from plan.""" + """Remove Atlassian team from plan. + + Args: + plan_id: API path or query parameter. + atlassian_team_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"plans/plan/{plan_id}/team/atlassian/{atlassian_team_id}", api_root="rest/api", @@ -3124,7 +6536,17 @@ def remove_atlassian_team(self, plan_id, atlassian_team_id, data=None, **request return self.delete(url, params=params, data=data, **request_kwargs) def get_atlassian_team(self, plan_id, atlassian_team_id, data=None, **request_kwargs): - """Get Atlassian team in plan.""" + """Get Atlassian team in plan. + + Args: + plan_id: API path or query parameter. + atlassian_team_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"plans/plan/{plan_id}/team/atlassian/{atlassian_team_id}", api_root="rest/api", @@ -3134,7 +6556,17 @@ def get_atlassian_team(self, plan_id, atlassian_team_id, data=None, **request_kw return self.get(url, params=params, data=data, **request_kwargs) def update_atlassian_team(self, plan_id, atlassian_team_id, data=None, **request_kwargs): - """Update Atlassian team in plan.""" + """Update Atlassian team in plan. + + Args: + plan_id: API path or query parameter. + atlassian_team_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"plans/plan/{plan_id}/team/atlassian/{atlassian_team_id}", api_root="rest/api", @@ -3144,7 +6576,16 @@ def update_atlassian_team(self, plan_id, atlassian_team_id, data=None, **request return self.put(url, params=params, data=data, **request_kwargs) def create_plan_only_team(self, plan_id, data=None, **request_kwargs): - """Create plan-only team.""" + """Create plan-only team. + + Args: + plan_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"plans/plan/{plan_id}/team/planonly", api_root="rest/api", api_version=self.api_version ) @@ -3152,7 +6593,17 @@ def create_plan_only_team(self, plan_id, data=None, **request_kwargs): return self.post(url, params=params, data=data, **request_kwargs) def delete_plan_only_team(self, plan_id, plan_only_team_id, data=None, **request_kwargs): - """Delete plan-only team.""" + """Delete plan-only team. + + Args: + plan_id: API path or query parameter. + plan_only_team_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"plans/plan/{plan_id}/team/planonly/{plan_only_team_id}", api_root="rest/api", api_version=self.api_version ) @@ -3160,7 +6611,17 @@ def delete_plan_only_team(self, plan_id, plan_only_team_id, data=None, **request return self.delete(url, params=params, data=data, **request_kwargs) def get_plan_only_team(self, plan_id, plan_only_team_id, data=None, **request_kwargs): - """Get plan-only team.""" + """Get plan-only team. + + Args: + plan_id: API path or query parameter. + plan_only_team_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"plans/plan/{plan_id}/team/planonly/{plan_only_team_id}", api_root="rest/api", api_version=self.api_version ) @@ -3168,7 +6629,17 @@ def get_plan_only_team(self, plan_id, plan_only_team_id, data=None, **request_kw return self.get(url, params=params, data=data, **request_kwargs) def update_plan_only_team(self, plan_id, plan_only_team_id, data=None, **request_kwargs): - """Update plan-only team.""" + """Update plan-only team. + + Args: + plan_id: API path or query parameter. + plan_only_team_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"plans/plan/{plan_id}/team/planonly/{plan_only_team_id}", api_root="rest/api", api_version=self.api_version ) @@ -3176,31 +6647,72 @@ def update_plan_only_team(self, plan_id, plan_only_team_id, data=None, **request return self.put(url, params=params, data=data, **request_kwargs) def trash_plan(self, plan_id, data=None, **request_kwargs): - """Trash plan.""" + """Trash plan. + + Args: + plan_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"plans/plan/{plan_id}/trash", api_root="rest/api", api_version=self.api_version) params = None return self.put(url, params=params, data=data, **request_kwargs) def get_priorities(self, data=None, **request_kwargs): - """Get priorities.""" + """Get priorities. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("priority", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def create_priority(self, data=None, **request_kwargs): - """Create priority.""" + """Create priority. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("priority", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def set_default_priority(self, data=None, **request_kwargs): - """Set default priority.""" + """Set default priority. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("priority/default", api_root="rest/api", api_version=self.api_version) params = None return self.put(url, params=params, data=data, **request_kwargs) def move_priorities(self, data=None, **request_kwargs): - """Move priorities.""" + """Move priorities. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("priority/move", api_root="rest/api", api_version=self.api_version) params = None return self.put(url, params=params, data=data, **request_kwargs) @@ -3217,7 +6729,22 @@ def search_priorities( data=None, **request_kwargs, ): - """Search priorities.""" + """Search priorities. + + Args: + start_at: API path or query parameter. + max_results: API path or query parameter. + id: API path or query parameter. + project_id: API path or query parameter. + priority_name: API path or query parameter. + only_default: API path or query parameter. + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("priority/search", api_root="rest/api", api_version=self.api_version) params = { "startAt": start_at, @@ -3232,19 +6759,46 @@ def search_priorities( return self.get(url, params=params, data=data, **request_kwargs) def delete_priority(self, id, data=None, **request_kwargs): - """Delete priority.""" + """Delete priority. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"priority/{id}", api_root="rest/api", api_version=self.api_version) params = None return self.delete(url, params=params, data=data, **request_kwargs) def get_priority(self, id, data=None, **request_kwargs): - """Get priority.""" + """Get priority. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"priority/{id}", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def update_priority(self, id, data=None, **request_kwargs): - """Update priority.""" + """Update priority. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"priority/{id}", api_root="rest/api", api_version=self.api_version) params = None return self.put(url, params=params, data=data, **request_kwargs) @@ -3262,7 +6816,23 @@ def get_priority_schemes( data=None, **request_kwargs, ): - """Get priority schemes.""" + """Get priority schemes. + + Args: + start_at: API path or query parameter. + max_results: API path or query parameter. + priority_id: API path or query parameter. + scheme_id: API path or query parameter. + scheme_name: API path or query parameter. + only_default: API path or query parameter. + order_by: API path or query parameter. + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("priorityscheme", api_root="rest/api", api_version=self.api_version) params = { "startAt": start_at, @@ -3278,13 +6848,29 @@ def get_priority_schemes( return self.get(url, params=params, data=data, **request_kwargs) def create_priority_scheme(self, data=None, **request_kwargs): - """Create priority scheme.""" + """Create priority scheme. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("priorityscheme", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def suggested_priorities_for_mappings(self, data=None, **request_kwargs): - """Suggested priorities for mappings.""" + """Suggested priorities for mappings. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("priorityscheme/mappings", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) @@ -3292,7 +6878,20 @@ def suggested_priorities_for_mappings(self, data=None, **request_kwargs): def get_available_priorities_by_priority_scheme( self, start_at=None, max_results=None, query=None, scheme_id=None, exclude=None, data=None, **request_kwargs ): - """Get available priorities by priority scheme.""" + """Get available priorities by priority scheme. + + Args: + start_at: API path or query parameter. + max_results: API path or query parameter. + query: API path or query parameter. + scheme_id: API path or query parameter. + exclude: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( "priorityscheme/priorities/available", api_root="rest/api", api_version=self.api_version ) @@ -3307,13 +6906,31 @@ def get_available_priorities_by_priority_scheme( return self.get(url, params=params, data=data, **request_kwargs) def delete_priority_scheme(self, scheme_id, data=None, **request_kwargs): - """Delete priority scheme.""" + """Delete priority scheme. + + Args: + scheme_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"priorityscheme/{scheme_id}", api_root="rest/api", api_version=self.api_version) params = None return self.delete(url, params=params, data=data, **request_kwargs) def update_priority_scheme(self, scheme_id, data=None, **request_kwargs): - """Update priority scheme.""" + """Update priority scheme. + + Args: + scheme_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"priorityscheme/{scheme_id}", api_root="rest/api", api_version=self.api_version) params = None return self.put(url, params=params, data=data, **request_kwargs) @@ -3321,7 +6938,18 @@ def update_priority_scheme(self, scheme_id, data=None, **request_kwargs): def get_priorities_by_priority_scheme( self, scheme_id, start_at=None, max_results=None, data=None, **request_kwargs ): - """Get priorities by priority scheme.""" + """Get priorities by priority scheme. + + Args: + scheme_id: API path or query parameter. + start_at: API path or query parameter. + max_results: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"priorityscheme/{scheme_id}/priorities", api_root="rest/api", api_version=self.api_version ) @@ -3332,7 +6960,20 @@ def get_priorities_by_priority_scheme( def get_projects_by_priority_scheme( self, scheme_id, start_at=None, max_results=None, project_id=None, query=None, data=None, **request_kwargs ): - """Get projects by priority scheme.""" + """Get projects by priority scheme. + + Args: + scheme_id: API path or query parameter. + start_at: API path or query parameter. + max_results: API path or query parameter. + project_id: API path or query parameter. + query: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"priorityscheme/{scheme_id}/projects", api_root="rest/api", api_version=self.api_version ) @@ -3341,52 +6982,124 @@ def get_projects_by_priority_scheme( return self.get(url, params=params, data=data, **request_kwargs) def get_all_projects(self, expand=None, recent=None, properties=None, data=None, **request_kwargs): - """Get all projects.""" + """Get all projects. + + Args: + expand: API path or query parameter. + recent: API path or query parameter. + properties: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("project", api_root="rest/api", api_version=self.api_version) params = {"expand": expand, "recent": recent, "properties": properties} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def create_project(self, data=None, **request_kwargs): - """Create project.""" + """Create project. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("project", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def create_project_with_custom_template(self, data=None, **request_kwargs): - """Create custom project.""" + """Create custom project. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("project-template", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def edit_template(self, data=None, **request_kwargs): - """Edit a custom project template.""" + """Edit a custom project template. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("project-template/edit-template", api_root="rest/api", api_version=self.api_version) params = None return self.put(url, params=params, data=data, **request_kwargs) def live_template(self, project_id=None, template_key=None, data=None, **request_kwargs): - """Gets a custom project template.""" + """Gets a custom project template. + + Args: + project_id: API path or query parameter. + template_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("project-template/live-template", api_root="rest/api", api_version=self.api_version) params = {"projectId": project_id, "templateKey": template_key} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def remove_template(self, template_key=None, data=None, **request_kwargs): - """Deletes a custom project template.""" + """Deletes a custom project template. + + Args: + template_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("project-template/remove-template", api_root="rest/api", api_version=self.api_version) params = {"templateKey": template_key} params = {key: value for key, value in params.items() if value is not None} or None return self.delete(url, params=params, data=data, **request_kwargs) def save_template(self, data=None, **request_kwargs): - """Save a custom project template.""" + """Save a custom project template. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("project-template/save-template", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def get_recent(self, expand=None, properties=None, data=None, **request_kwargs): - """Get recent projects.""" + """Get recent projects. + + Args: + expand: API path or query parameter. + properties: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("project/recent", api_root="rest/api", api_version=self.api_version) params = {"expand": expand, "properties": properties} params = {key: value for key, value in params.items() if value is not None} or None @@ -3410,7 +7123,28 @@ def search_projects( data=None, **request_kwargs, ): - """Get projects paginated.""" + """Get projects paginated. + + Args: + start_at: API path or query parameter. + max_results: API path or query parameter. + order_by: API path or query parameter. + id: API path or query parameter. + keys: API path or query parameter. + query: API path or query parameter. + type_key: API path or query parameter. + category_id: API path or query parameter. + action: API path or query parameter. + expand: API path or query parameter. + status: API path or query parameter. + properties: API path or query parameter. + property_query: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("project/search", api_root="rest/api", api_version=self.api_version) params = { "startAt": start_at, @@ -3431,25 +7165,59 @@ def search_projects( return self.get(url, params=params, data=data, **request_kwargs) def get_all_project_types(self, data=None, **request_kwargs): - """Get all project types.""" + """Get all project types. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("project/type", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def get_all_accessible_project_types(self, data=None, **request_kwargs): - """Get licensed project types.""" + """Get licensed project types. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("project/type/accessible", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def get_project_type_by_key(self, project_type_key, data=None, **request_kwargs): - """Get project type by key.""" + """Get project type by key. + + Args: + project_type_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"project/type/{project_type_key}", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def get_accessible_project_type_by_key(self, project_type_key, data=None, **request_kwargs): - """Get accessible project type by key.""" + """Get accessible project type by key. + + Args: + project_type_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"project/type/{project_type_key}/accessible", api_root="rest/api", api_version=self.api_version ) @@ -3457,28 +7225,68 @@ def get_accessible_project_type_by_key(self, project_type_key, data=None, **requ return self.get(url, params=params, data=data, **request_kwargs) def delete_project(self, project_id_or_key, enable_undo=None, data=None, **request_kwargs): - """Delete project.""" + """Delete project. + + Args: + project_id_or_key: API path or query parameter. + enable_undo: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"project/{project_id_or_key}", api_root="rest/api", api_version=self.api_version) params = {"enableUndo": enable_undo} params = {key: value for key, value in params.items() if value is not None} or None return self.delete(url, params=params, data=data, **request_kwargs) def get_project(self, project_id_or_key, expand=None, properties=None, data=None, **request_kwargs): - """Get project.""" + """Get project. + + Args: + project_id_or_key: API path or query parameter. + expand: API path or query parameter. + properties: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"project/{project_id_or_key}", api_root="rest/api", api_version=self.api_version) params = {"expand": expand, "properties": properties} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def update_project(self, project_id_or_key, expand=None, data=None, **request_kwargs): - """Update project.""" + """Update project. + + Args: + project_id_or_key: API path or query parameter. + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"project/{project_id_or_key}", api_root="rest/api", api_version=self.api_version) params = {"expand": expand} params = {key: value for key, value in params.items() if value is not None} or None return self.put(url, params=params, data=data, **request_kwargs) def archive_project(self, project_id_or_key, data=None, **request_kwargs): - """Archive project.""" + """Archive project. + + Args: + project_id_or_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"project/{project_id_or_key}/archive", api_root="rest/api", api_version=self.api_version ) @@ -3486,7 +7294,16 @@ def archive_project(self, project_id_or_key, data=None, **request_kwargs): return self.post(url, params=params, data=data, **request_kwargs) def update_project_avatar(self, project_id_or_key, data=None, **request_kwargs): - """Set project avatar.""" + """Set project avatar. + + Args: + project_id_or_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"project/{project_id_or_key}/avatar", api_root="rest/api", api_version=self.api_version ) @@ -3494,7 +7311,17 @@ def update_project_avatar(self, project_id_or_key, data=None, **request_kwargs): return self.put(url, params=params, data=data, **request_kwargs) def delete_project_avatar(self, project_id_or_key, id, data=None, **request_kwargs): - """Delete project avatar.""" + """Delete project avatar. + + Args: + project_id_or_key: API path or query parameter. + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"project/{project_id_or_key}/avatar/{id}", api_root="rest/api", api_version=self.api_version ) @@ -3502,7 +7329,19 @@ def delete_project_avatar(self, project_id_or_key, id, data=None, **request_kwar return self.delete(url, params=params, data=data, **request_kwargs) def create_project_avatar(self, project_id_or_key, x=None, y=None, size=None, data=None, **request_kwargs): - """Load project avatar.""" + """Load project avatar. + + Args: + project_id_or_key: API path or query parameter. + x: API path or query parameter. + y: API path or query parameter. + size: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"project/{project_id_or_key}/avatar2", api_root="rest/api", api_version=self.api_version ) @@ -3511,7 +7350,16 @@ def create_project_avatar(self, project_id_or_key, x=None, y=None, size=None, da return self.post(url, params=params, data=data, **request_kwargs) def get_all_project_avatars(self, project_id_or_key, data=None, **request_kwargs): - """Get all project avatars.""" + """Get all project avatars. + + Args: + project_id_or_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"project/{project_id_or_key}/avatars", api_root="rest/api", api_version=self.api_version ) @@ -3519,7 +7367,16 @@ def get_all_project_avatars(self, project_id_or_key, data=None, **request_kwargs return self.get(url, params=params, data=data, **request_kwargs) def get_project_classification_config(self, project_id_or_key, data=None, **request_kwargs): - """Get the classification configuration for a project.""" + """Get the classification configuration for a project. + + Args: + project_id_or_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"project/{project_id_or_key}/classification-config", api_root="rest/api", api_version=self.api_version ) @@ -3527,7 +7384,16 @@ def get_project_classification_config(self, project_id_or_key, data=None, **requ return self.get(url, params=params, data=data, **request_kwargs) def remove_default_project_classification(self, project_id_or_key, data=None, **request_kwargs): - """Remove the default data classification level from a project.""" + """Remove the default data classification level from a project. + + Args: + project_id_or_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"project/{project_id_or_key}/classification-level/default", api_root="rest/api", @@ -3537,7 +7403,16 @@ def remove_default_project_classification(self, project_id_or_key, data=None, ** return self.delete(url, params=params, data=data, **request_kwargs) def get_default_project_classification(self, project_id_or_key, data=None, **request_kwargs): - """Get the default data classification level of a project.""" + """Get the default data classification level of a project. + + Args: + project_id_or_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"project/{project_id_or_key}/classification-level/default", api_root="rest/api", @@ -3547,7 +7422,16 @@ def get_default_project_classification(self, project_id_or_key, data=None, **req return self.get(url, params=params, data=data, **request_kwargs) def update_default_project_classification(self, project_id_or_key, data=None, **request_kwargs): - """Update the default data classification level of a project.""" + """Update the default data classification level of a project. + + Args: + project_id_or_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"project/{project_id_or_key}/classification-level/default", api_root="rest/api", @@ -3567,7 +7451,21 @@ def get_project_components_paginated( data=None, **request_kwargs, ): - """Get project components paginated.""" + """Get project components paginated. + + Args: + project_id_or_key: API path or query parameter. + start_at: API path or query parameter. + max_results: API path or query parameter. + order_by: API path or query parameter. + component_source: API path or query parameter. + query: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"project/{project_id_or_key}/component", api_root="rest/api", api_version=self.api_version ) @@ -3582,7 +7480,17 @@ def get_project_components_paginated( return self.get(url, params=params, data=data, **request_kwargs) def get_project_components(self, project_id_or_key, component_source=None, data=None, **request_kwargs): - """Get project components.""" + """Get project components. + + Args: + project_id_or_key: API path or query parameter. + component_source: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"project/{project_id_or_key}/components", api_root="rest/api", api_version=self.api_version ) @@ -3591,7 +7499,16 @@ def get_project_components(self, project_id_or_key, component_source=None, data= return self.get(url, params=params, data=data, **request_kwargs) def delete_project_asynchronously(self, project_id_or_key, data=None, **request_kwargs): - """Delete project asynchronously.""" + """Delete project asynchronously. + + Args: + project_id_or_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"project/{project_id_or_key}/delete", api_root="rest/api", api_version=self.api_version ) @@ -3599,7 +7516,16 @@ def delete_project_asynchronously(self, project_id_or_key, data=None, **request_ return self.post(url, params=params, data=data, **request_kwargs) def get_features_for_project(self, project_id_or_key, data=None, **request_kwargs): - """Get project features.""" + """Get project features. + + Args: + project_id_or_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"project/{project_id_or_key}/features", api_root="rest/api", api_version=self.api_version ) @@ -3607,7 +7533,17 @@ def get_features_for_project(self, project_id_or_key, data=None, **request_kwarg return self.get(url, params=params, data=data, **request_kwargs) def toggle_feature_for_project(self, project_id_or_key, feature_key, data=None, **request_kwargs): - """Set project feature state.""" + """Set project feature state. + + Args: + project_id_or_key: API path or query parameter. + feature_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"project/{project_id_or_key}/features/{feature_key}", api_root="rest/api", api_version=self.api_version ) @@ -3615,7 +7551,16 @@ def toggle_feature_for_project(self, project_id_or_key, feature_key, data=None, return self.put(url, params=params, data=data, **request_kwargs) def get_project_property_keys(self, project_id_or_key, data=None, **request_kwargs): - """Get project property keys.""" + """Get project property keys. + + Args: + project_id_or_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"project/{project_id_or_key}/properties", api_root="rest/api", api_version=self.api_version ) @@ -3623,7 +7568,17 @@ def get_project_property_keys(self, project_id_or_key, data=None, **request_kwar return self.get(url, params=params, data=data, **request_kwargs) def delete_project_property(self, project_id_or_key, property_key, data=None, **request_kwargs): - """Delete project property.""" + """Delete project property. + + Args: + project_id_or_key: API path or query parameter. + property_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"project/{project_id_or_key}/properties/{property_key}", api_root="rest/api", api_version=self.api_version ) @@ -3631,7 +7586,17 @@ def delete_project_property(self, project_id_or_key, property_key, data=None, ** return self.delete(url, params=params, data=data, **request_kwargs) def get_project_property(self, project_id_or_key, property_key, data=None, **request_kwargs): - """Get project property.""" + """Get project property. + + Args: + project_id_or_key: API path or query parameter. + property_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"project/{project_id_or_key}/properties/{property_key}", api_root="rest/api", api_version=self.api_version ) @@ -3639,7 +7604,17 @@ def get_project_property(self, project_id_or_key, property_key, data=None, **req return self.get(url, params=params, data=data, **request_kwargs) def set_project_property(self, project_id_or_key, property_key, data=None, **request_kwargs): - """Set project property.""" + """Set project property. + + Args: + project_id_or_key: API path or query parameter. + property_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"project/{project_id_or_key}/properties/{property_key}", api_root="rest/api", api_version=self.api_version ) @@ -3647,7 +7622,16 @@ def set_project_property(self, project_id_or_key, property_key, data=None, **req return self.put(url, params=params, data=data, **request_kwargs) def restore(self, project_id_or_key, data=None, **request_kwargs): - """Restore deleted or archived project.""" + """Restore deleted or archived project. + + Args: + project_id_or_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"project/{project_id_or_key}/restore", api_root="rest/api", api_version=self.api_version ) @@ -3655,13 +7639,35 @@ def restore(self, project_id_or_key, data=None, **request_kwargs): return self.post(url, params=params, data=data, **request_kwargs) def get_project_roles(self, project_id_or_key, data=None, **request_kwargs): - """Get project roles for project.""" + """Get project roles for project. + + Args: + project_id_or_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"project/{project_id_or_key}/role", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def delete_actor(self, project_id_or_key, id, user=None, group=None, group_id=None, data=None, **request_kwargs): - """Delete actors from project role.""" + """Delete actors from project role. + + Args: + project_id_or_key: API path or query parameter. + id: API path or query parameter. + user: API path or query parameter. + group: API path or query parameter. + group_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"project/{project_id_or_key}/role/{id}", api_root="rest/api", api_version=self.api_version ) @@ -3670,7 +7676,18 @@ def delete_actor(self, project_id_or_key, id, user=None, group=None, group_id=No return self.delete(url, params=params, data=data, **request_kwargs) def get_project_role(self, project_id_or_key, id, exclude_inactive_users=None, data=None, **request_kwargs): - """Get project role for project.""" + """Get project role for project. + + Args: + project_id_or_key: API path or query parameter. + id: API path or query parameter. + exclude_inactive_users: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"project/{project_id_or_key}/role/{id}", api_root="rest/api", api_version=self.api_version ) @@ -3679,7 +7696,17 @@ def get_project_role(self, project_id_or_key, id, exclude_inactive_users=None, d return self.get(url, params=params, data=data, **request_kwargs) def add_actor_users(self, project_id_or_key, id, data=None, **request_kwargs): - """Add actors to project role.""" + """Add actors to project role. + + Args: + project_id_or_key: API path or query parameter. + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"project/{project_id_or_key}/role/{id}", api_root="rest/api", api_version=self.api_version ) @@ -3687,7 +7714,17 @@ def add_actor_users(self, project_id_or_key, id, data=None, **request_kwargs): return self.post(url, params=params, data=data, **request_kwargs) def set_actors(self, project_id_or_key, id, data=None, **request_kwargs): - """Set actors for project role.""" + """Set actors for project role. + + Args: + project_id_or_key: API path or query parameter. + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"project/{project_id_or_key}/role/{id}", api_root="rest/api", api_version=self.api_version ) @@ -3703,7 +7740,19 @@ def get_project_role_details( data=None, **request_kwargs, ): - """Get project role details.""" + """Get project role details. + + Args: + project_id_or_key: API path or query parameter. + current_member: API path or query parameter. + exclude_connect_addons: API path or query parameter. + exclude_other_service_roles: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"project/{project_id_or_key}/roledetails", api_root="rest/api", api_version=self.api_version ) @@ -3716,7 +7765,16 @@ def get_project_role_details( return self.get(url, params=params, data=data, **request_kwargs) def get_all_statuses(self, project_id_or_key, data=None, **request_kwargs): - """Get all statuses for project.""" + """Get all statuses for project. + + Args: + project_id_or_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"project/{project_id_or_key}/statuses", api_root="rest/api", api_version=self.api_version ) @@ -3735,7 +7793,22 @@ def get_project_versions_paginated( data=None, **request_kwargs, ): - """Get project versions paginated.""" + """Get project versions paginated. + + Args: + project_id_or_key: API path or query parameter. + start_at: API path or query parameter. + max_results: API path or query parameter. + order_by: API path or query parameter. + query: API path or query parameter. + status: API path or query parameter. + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"project/{project_id_or_key}/version", api_root="rest/api", api_version=self.api_version ) @@ -3751,7 +7824,17 @@ def get_project_versions_paginated( return self.get(url, params=params, data=data, **request_kwargs) def get_project_versions(self, project_id_or_key, expand=None, data=None, **request_kwargs): - """Get project versions.""" + """Get project versions. + + Args: + project_id_or_key: API path or query parameter. + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"project/{project_id_or_key}/versions", api_root="rest/api", api_version=self.api_version ) @@ -3760,25 +7843,61 @@ def get_project_versions(self, project_id_or_key, expand=None, data=None, **requ return self.get(url, params=params, data=data, **request_kwargs) def get_project_email(self, project_id, data=None, **request_kwargs): - """Get project's sender email.""" + """Get project's sender email. + + Args: + project_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"project/{project_id}/email", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def update_project_email(self, project_id, data=None, **request_kwargs): - """Set project's sender email.""" + """Set project's sender email. + + Args: + project_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"project/{project_id}/email", api_root="rest/api", api_version=self.api_version) params = None return self.put(url, params=params, data=data, **request_kwargs) def get_hierarchy(self, project_id, data=None, **request_kwargs): - """Get project issue type hierarchy.""" + """Get project issue type hierarchy. + + Args: + project_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"project/{project_id}/hierarchy", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def get_project_issue_security_scheme(self, project_key_or_id, data=None, **request_kwargs): - """Get project issue security scheme.""" + """Get project issue security scheme. + + Args: + project_key_or_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"project/{project_key_or_id}/issuesecuritylevelscheme", api_root="rest/api", api_version=self.api_version ) @@ -3786,7 +7905,17 @@ def get_project_issue_security_scheme(self, project_key_or_id, data=None, **requ return self.get(url, params=params, data=data, **request_kwargs) def get_notification_scheme_for_project(self, project_key_or_id, expand=None, data=None, **request_kwargs): - """Get project notification scheme.""" + """Get project notification scheme. + + Args: + project_key_or_id: API path or query parameter. + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"project/{project_key_or_id}/notificationscheme", api_root="rest/api", api_version=self.api_version ) @@ -3795,7 +7924,17 @@ def get_notification_scheme_for_project(self, project_key_or_id, expand=None, da return self.get(url, params=params, data=data, **request_kwargs) def get_assigned_permission_scheme(self, project_key_or_id, expand=None, data=None, **request_kwargs): - """Get assigned permission scheme.""" + """Get assigned permission scheme. + + Args: + project_key_or_id: API path or query parameter. + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"project/{project_key_or_id}/permissionscheme", api_root="rest/api", api_version=self.api_version ) @@ -3804,7 +7943,17 @@ def get_assigned_permission_scheme(self, project_key_or_id, expand=None, data=No return self.get(url, params=params, data=data, **request_kwargs) def assign_permission_scheme(self, project_key_or_id, expand=None, data=None, **request_kwargs): - """Assign permission scheme.""" + """Assign permission scheme. + + Args: + project_key_or_id: API path or query parameter. + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"project/{project_key_or_id}/permissionscheme", api_root="rest/api", api_version=self.api_version ) @@ -3813,7 +7962,16 @@ def assign_permission_scheme(self, project_key_or_id, expand=None, data=None, ** return self.put(url, params=params, data=data, **request_kwargs) def get_security_levels_for_project(self, project_key_or_id, data=None, **request_kwargs): - """Get project issue security levels.""" + """Get project issue security levels. + + Args: + project_key_or_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"project/{project_key_or_id}/securitylevel", api_root="rest/api", api_version=self.api_version ) @@ -3821,31 +7979,74 @@ def get_security_levels_for_project(self, project_key_or_id, data=None, **reques return self.get(url, params=params, data=data, **request_kwargs) def get_all_project_categories(self, data=None, **request_kwargs): - """Get all project categories.""" + """Get all project categories. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("projectCategory", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def create_project_category(self, data=None, **request_kwargs): - """Create project category.""" + """Create project category. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("projectCategory", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def remove_project_category(self, id, data=None, **request_kwargs): - """Delete project category.""" + """Delete project category. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"projectCategory/{id}", api_root="rest/api", api_version=self.api_version) params = None return self.delete(url, params=params, data=data, **request_kwargs) def get_project_category_by_id(self, id, data=None, **request_kwargs): - """Get project category by ID.""" + """Get project category by ID. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"projectCategory/{id}", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def update_project_category(self, id, data=None, **request_kwargs): - """Update project category.""" + """Update project category. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"projectCategory/{id}", api_root="rest/api", api_version=self.api_version) params = None return self.put(url, params=params, data=data, **request_kwargs) @@ -3860,7 +8061,20 @@ def get_project_fields( data=None, **request_kwargs, ): - """Get fields for projects.""" + """Get fields for projects. + + Args: + start_at: API path or query parameter. + max_results: API path or query parameter. + project_id: API path or query parameter. + work_type_id: API path or query parameter. + field_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("projects/fields", api_root="rest/api", api_version=self.api_version) params = { "startAt": start_at, @@ -3873,58 +8087,134 @@ def get_project_fields( return self.get(url, params=params, data=data, **request_kwargs) def validate_project_key(self, key=None, data=None, **request_kwargs): - """Validate project key.""" + """Validate project key. + + Args: + key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("projectvalidate/key", api_root="rest/api", api_version=self.api_version) params = {"key": key} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def get_valid_project_key(self, key=None, data=None, **request_kwargs): - """Get valid project key.""" + """Get valid project key. + + Args: + key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("projectvalidate/validProjectKey", api_root="rest/api", api_version=self.api_version) params = {"key": key} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def get_valid_project_name(self, name=None, data=None, **request_kwargs): - """Get valid project name.""" + """Get valid project name. + + Args: + name: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("projectvalidate/validProjectName", api_root="rest/api", api_version=self.api_version) params = {"name": name} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def redact(self, data=None, **request_kwargs): - """Redact.""" + """Redact. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("redact", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def get_redaction_status(self, job_id, data=None, **request_kwargs): - """Get redaction status.""" + """Get redaction status. + + Args: + job_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"redact/status/{job_id}", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def get_resolutions(self, data=None, **request_kwargs): - """Get resolutions.""" + """Get resolutions. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("resolution", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def create_resolution(self, data=None, **request_kwargs): - """Create resolution.""" + """Create resolution. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("resolution", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def set_default_resolution(self, data=None, **request_kwargs): - """Set default resolution.""" + """Set default resolution. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("resolution/default", api_root="rest/api", api_version=self.api_version) params = None return self.put(url, params=params, data=data, **request_kwargs) def move_resolutions(self, data=None, **request_kwargs): - """Move resolutions.""" + """Move resolutions. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("resolution/move", api_root="rest/api", api_version=self.api_version) params = None return self.put(url, params=params, data=data, **request_kwargs) @@ -3932,64 +8222,157 @@ def move_resolutions(self, data=None, **request_kwargs): def search_resolutions( self, start_at=None, max_results=None, id=None, only_default=None, data=None, **request_kwargs ): - """Search resolutions.""" + """Search resolutions. + + Args: + start_at: API path or query parameter. + max_results: API path or query parameter. + id: API path or query parameter. + only_default: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("resolution/search", api_root="rest/api", api_version=self.api_version) params = {"startAt": start_at, "maxResults": max_results, "id": id, "onlyDefault": only_default} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def delete_resolution(self, id, replace_with=None, data=None, **request_kwargs): - """Delete resolution.""" + """Delete resolution. + + Args: + id: API path or query parameter. + replace_with: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"resolution/{id}", api_root="rest/api", api_version=self.api_version) params = {"replaceWith": replace_with} params = {key: value for key, value in params.items() if value is not None} or None return self.delete(url, params=params, data=data, **request_kwargs) def get_resolution(self, id, data=None, **request_kwargs): - """Get resolution.""" + """Get resolution. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"resolution/{id}", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def update_resolution(self, id, data=None, **request_kwargs): - """Update resolution.""" + """Update resolution. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"resolution/{id}", api_root="rest/api", api_version=self.api_version) params = None return self.put(url, params=params, data=data, **request_kwargs) def get_all_project_roles(self, data=None, **request_kwargs): - """Get all project roles.""" + """Get all project roles. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("role", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def create_project_role(self, data=None, **request_kwargs): - """Create project role.""" + """Create project role. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("role", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def delete_project_role(self, id, swap=None, data=None, **request_kwargs): - """Delete project role.""" + """Delete project role. + + Args: + id: API path or query parameter. + swap: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"role/{id}", api_root="rest/api", api_version=self.api_version) params = {"swap": swap} params = {key: value for key, value in params.items() if value is not None} or None return self.delete(url, params=params, data=data, **request_kwargs) def get_project_role_by_id(self, id, data=None, **request_kwargs): - """Get project role by ID.""" + """Get project role by ID. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"role/{id}", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def partial_update_project_role(self, id, data=None, **request_kwargs): - """Partial update project role.""" + """Partial update project role. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"role/{id}", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def fully_update_project_role(self, id, data=None, **request_kwargs): - """Fully update project role.""" + """Fully update project role. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"role/{id}", api_root="rest/api", api_version=self.api_version) params = None return self.put(url, params=params, data=data, **request_kwargs) @@ -3997,20 +8380,50 @@ def fully_update_project_role(self, id, data=None, **request_kwargs): def delete_project_role_actors_from_role( self, id, user=None, group_id=None, group=None, data=None, **request_kwargs ): - """Delete default actors from project role.""" + """Delete default actors from project role. + + Args: + id: API path or query parameter. + user: API path or query parameter. + group_id: API path or query parameter. + group: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"role/{id}/actors", api_root="rest/api", api_version=self.api_version) params = {"user": user, "groupId": group_id, "group": group} params = {key: value for key, value in params.items() if value is not None} or None return self.delete(url, params=params, data=data, **request_kwargs) def get_project_role_actors_for_role(self, id, data=None, **request_kwargs): - """Get default actors for project role.""" + """Get default actors for project role. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"role/{id}/actors", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def add_project_role_actors_to_role(self, id, data=None, **request_kwargs): - """Add default actors to project role.""" + """Add default actors to project role. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"role/{id}/actors", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) @@ -4026,7 +8439,21 @@ def get_screens( data=None, **request_kwargs, ): - """Get screens.""" + """Get screens. + + Args: + start_at: API path or query parameter. + max_results: API path or query parameter. + id: API path or query parameter. + query_string: API path or query parameter. + scope: API path or query parameter. + order_by: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("screens", api_root="rest/api", api_version=self.api_version) params = { "startAt": start_at, @@ -4040,13 +8467,30 @@ def get_screens( return self.get(url, params=params, data=data, **request_kwargs) def create_screen(self, data=None, **request_kwargs): - """Create screen.""" + """Create screen. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("screens", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def add_field_to_default_screen(self, field_id, data=None, **request_kwargs): - """Add field to default screen.""" + """Add field to default screen. + + Args: + field_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"screens/addToDefault/{field_id}", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) @@ -4054,26 +8498,65 @@ def add_field_to_default_screen(self, field_id, data=None, **request_kwargs): def get_bulk_screen_tabs( self, screen_id=None, tab_id=None, start_at=None, max_result=None, data=None, **request_kwargs ): - """Get bulk screen tabs.""" + """Get bulk screen tabs. + + Args: + screen_id: API path or query parameter. + tab_id: API path or query parameter. + start_at: API path or query parameter. + max_result: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("screens/tabs", api_root="rest/api", api_version=self.api_version) params = {"screenId": screen_id, "tabId": tab_id, "startAt": start_at, "maxResult": max_result} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def delete_screen(self, screen_id, data=None, **request_kwargs): - """Delete screen.""" + """Delete screen. + + Args: + screen_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"screens/{screen_id}", api_root="rest/api", api_version=self.api_version) params = None return self.delete(url, params=params, data=data, **request_kwargs) def update_screen(self, screen_id, data=None, **request_kwargs): - """Update screen.""" + """Update screen. + + Args: + screen_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"screens/{screen_id}", api_root="rest/api", api_version=self.api_version) params = None return self.put(url, params=params, data=data, **request_kwargs) def get_available_screen_fields(self, screen_id, data=None, **request_kwargs): - """Get available screen fields.""" + """Get available screen fields. + + Args: + screen_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"screens/{screen_id}/availableFields", api_root="rest/api", api_version=self.api_version ) @@ -4081,32 +8564,82 @@ def get_available_screen_fields(self, screen_id, data=None, **request_kwargs): return self.get(url, params=params, data=data, **request_kwargs) def get_all_screen_tabs(self, screen_id, project_key=None, data=None, **request_kwargs): - """Get all screen tabs.""" + """Get all screen tabs. + + Args: + screen_id: API path or query parameter. + project_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"screens/{screen_id}/tabs", api_root="rest/api", api_version=self.api_version) params = {"projectKey": project_key} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def add_screen_tab(self, screen_id, data=None, **request_kwargs): - """Create screen tab.""" + """Create screen tab. + + Args: + screen_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"screens/{screen_id}/tabs", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def delete_screen_tab(self, screen_id, tab_id, data=None, **request_kwargs): - """Delete screen tab.""" + """Delete screen tab. + + Args: + screen_id: API path or query parameter. + tab_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"screens/{screen_id}/tabs/{tab_id}", api_root="rest/api", api_version=self.api_version) params = None return self.delete(url, params=params, data=data, **request_kwargs) def rename_screen_tab(self, screen_id, tab_id, data=None, **request_kwargs): - """Update screen tab.""" + """Update screen tab. + + Args: + screen_id: API path or query parameter. + tab_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"screens/{screen_id}/tabs/{tab_id}", api_root="rest/api", api_version=self.api_version) params = None return self.put(url, params=params, data=data, **request_kwargs) def get_all_screen_tab_fields(self, screen_id, tab_id, project_key=None, data=None, **request_kwargs): - """Get all screen tab fields.""" + """Get all screen tab fields. + + Args: + screen_id: API path or query parameter. + tab_id: API path or query parameter. + project_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"screens/{screen_id}/tabs/{tab_id}/fields", api_root="rest/api", api_version=self.api_version ) @@ -4115,7 +8648,18 @@ def get_all_screen_tab_fields(self, screen_id, tab_id, project_key=None, data=No return self.get(url, params=params, data=data, **request_kwargs) def add_screen_tab_field(self, screen_id, tab_id, skip_field_association=None, data=None, **request_kwargs): - """Add screen tab field.""" + """Add screen tab field. + + Args: + screen_id: API path or query parameter. + tab_id: API path or query parameter. + skip_field_association: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"screens/{screen_id}/tabs/{tab_id}/fields", api_root="rest/api", api_version=self.api_version ) @@ -4124,7 +8668,18 @@ def add_screen_tab_field(self, screen_id, tab_id, skip_field_association=None, d return self.post(url, params=params, data=data, **request_kwargs) def remove_screen_tab_field(self, screen_id, tab_id, id, data=None, **request_kwargs): - """Remove screen tab field.""" + """Remove screen tab field. + + Args: + screen_id: API path or query parameter. + tab_id: API path or query parameter. + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"screens/{screen_id}/tabs/{tab_id}/fields/{id}", api_root="rest/api", api_version=self.api_version ) @@ -4132,7 +8687,18 @@ def remove_screen_tab_field(self, screen_id, tab_id, id, data=None, **request_kw return self.delete(url, params=params, data=data, **request_kwargs) def move_screen_tab_field(self, screen_id, tab_id, id, data=None, **request_kwargs): - """Move screen tab field.""" + """Move screen tab field. + + Args: + screen_id: API path or query parameter. + tab_id: API path or query parameter. + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"screens/{screen_id}/tabs/{tab_id}/fields/{id}/move", api_root="rest/api", api_version=self.api_version ) @@ -4140,7 +8706,18 @@ def move_screen_tab_field(self, screen_id, tab_id, id, data=None, **request_kwar return self.post(url, params=params, data=data, **request_kwargs) def move_screen_tab(self, screen_id, tab_id, pos, data=None, **request_kwargs): - """Move screen tab.""" + """Move screen tab. + + Args: + screen_id: API path or query parameter. + tab_id: API path or query parameter. + pos: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"screens/{screen_id}/tabs/{tab_id}/move/{pos}", api_root="rest/api", api_version=self.api_version ) @@ -4158,7 +8735,21 @@ def get_screen_schemes( data=None, **request_kwargs, ): - """Get screen schemes.""" + """Get screen schemes. + + Args: + start_at: API path or query parameter. + max_results: API path or query parameter. + id: API path or query parameter. + expand: API path or query parameter. + query_string: API path or query parameter. + order_by: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("screenscheme", api_root="rest/api", api_version=self.api_version) params = { "startAt": start_at, @@ -4172,19 +8763,45 @@ def get_screen_schemes( return self.get(url, params=params, data=data, **request_kwargs) def create_screen_scheme(self, data=None, **request_kwargs): - """Create screen scheme.""" + """Create screen scheme. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("screenscheme", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def delete_screen_scheme(self, screen_scheme_id, data=None, **request_kwargs): - """Delete screen scheme.""" + """Delete screen scheme. + + Args: + screen_scheme_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"screenscheme/{screen_scheme_id}", api_root="rest/api", api_version=self.api_version) params = None return self.delete(url, params=params, data=data, **request_kwargs) def update_screen_scheme(self, screen_scheme_id, data=None, **request_kwargs): - """Update screen scheme.""" + """Update screen scheme. + + Args: + screen_scheme_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"screenscheme/{screen_scheme_id}", api_root="rest/api", api_version=self.api_version) params = None return self.put(url, params=params, data=data, **request_kwargs) @@ -4203,7 +8820,24 @@ def search_for_issues_using_jql( data=None, **request_kwargs, ): - """Currently being removed. Search for issues using JQL (GET).""" + """Currently being removed. Search for issues using JQL (GET). + + Args: + jql: API path or query parameter. + start_at: API path or query parameter. + max_results: API path or query parameter. + validate_query: API path or query parameter. + fields: API path or query parameter. + expand: API path or query parameter. + properties: API path or query parameter. + fields_by_keys: API path or query parameter. + fail_fast: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("search", api_root="rest/api", api_version=self.api_version) params = { "jql": jql, @@ -4220,13 +8854,29 @@ def search_for_issues_using_jql( return self.get(url, params=params, data=data, **request_kwargs) def search_for_issues_using_jql_post(self, data=None, **request_kwargs): - """Currently being removed. Search for issues using JQL (POST).""" + """Currently being removed. Search for issues using JQL (POST). + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("search", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def count_issues(self, data=None, **request_kwargs): - """Count issues using JQL.""" + """Count issues using JQL. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("search/approximate-count", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) @@ -4245,7 +8895,24 @@ def search_and_reconsile_issues_using_jql( data=None, **request_kwargs, ): - """Search for issues using JQL enhanced search (GET).""" + """Search for issues using JQL enhanced search (GET). + + Args: + jql: API path or query parameter. + next_page_token: API path or query parameter. + max_results: API path or query parameter. + fields: API path or query parameter. + expand: API path or query parameter. + properties: API path or query parameter. + fields_by_keys: API path or query parameter. + fail_fast: API path or query parameter. + reconcile_issues: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("search/jql", api_root="rest/api", api_version=self.api_version) params = { "jql": jql, @@ -4262,87 +8929,206 @@ def search_and_reconsile_issues_using_jql( return self.get(url, params=params, data=data, **request_kwargs) def search_and_reconsile_issues_using_jql_post(self, data=None, **request_kwargs): - """Search for issues using JQL enhanced search (POST).""" + """Search for issues using JQL enhanced search (POST). + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("search/jql", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def get_issue_security_level(self, id, data=None, **request_kwargs): - """Get issue security level.""" + """Get issue security level. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"securitylevel/{id}", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def get_server_info(self, data=None, **request_kwargs): - """Get Jira instance info.""" + """Get Jira instance info. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("serverInfo", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def get_issue_navigator_default_columns(self, data=None, **request_kwargs): - """Get issue navigator default columns.""" + """Get issue navigator default columns. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("settings/columns", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def set_issue_navigator_default_columns(self, data=None, **request_kwargs): - """Set issue navigator default columns.""" + """Set issue navigator default columns. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("settings/columns", api_root="rest/api", api_version=self.api_version) params = None return self.put(url, params=params, data=data, **request_kwargs) def get_statuses(self, data=None, **request_kwargs): - """Get all statuses.""" + """Get all statuses. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("status", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def get_status(self, id_or_name, data=None, **request_kwargs): - """Get status.""" + """Get status. + + Args: + id_or_name: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"status/{id_or_name}", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def get_status_categories(self, data=None, **request_kwargs): - """Get all status categories.""" + """Get all status categories. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("statuscategory", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def get_status_category(self, id_or_key, data=None, **request_kwargs): - """Get status category.""" + """Get status category. + + Args: + id_or_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"statuscategory/{id_or_key}", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def delete_statuses_by_id(self, id=None, data=None, **request_kwargs): - """Bulk delete Statuses.""" + """Bulk delete Statuses. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("statuses", api_root="rest/api", api_version=self.api_version) params = {"id": id} params = {key: value for key, value in params.items() if value is not None} or None return self.delete(url, params=params, data=data, **request_kwargs) def get_statuses_by_id(self, id=None, data=None, **request_kwargs): - """Bulk get statuses.""" + """Bulk get statuses. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("statuses", api_root="rest/api", api_version=self.api_version) params = {"id": id} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def create_statuses(self, data=None, **request_kwargs): - """Bulk create statuses.""" + """Bulk create statuses. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("statuses", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def update_statuses(self, data=None, **request_kwargs): - """Bulk update statuses.""" + """Bulk update statuses. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("statuses", api_root="rest/api", api_version=self.api_version) params = None return self.put(url, params=params, data=data, **request_kwargs) def get_statuses_by_name(self, name=None, project_id=None, data=None, **request_kwargs): - """Bulk get statuses by name.""" + """Bulk get statuses by name. + + Args: + name: API path or query parameter. + project_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("statuses/byNames", api_root="rest/api", api_version=self.api_version) params = {"name": name, "projectId": project_id} params = {key: value for key, value in params.items() if value is not None} or None @@ -4359,7 +9145,21 @@ def search( data=None, **request_kwargs, ): - """Search statuses paginated.""" + """Search statuses paginated. + + Args: + project_id: API path or query parameter. + start_at: API path or query parameter. + max_results: API path or query parameter. + search_string: API path or query parameter. + status_category: API path or query parameter. + include_global_statuses: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("statuses/search", api_root="rest/api", api_version=self.api_version) params = { "projectId": project_id, @@ -4375,7 +9175,19 @@ def search( def get_project_issue_type_usages_for_status( self, status_id, project_id, next_page_token=None, max_results=None, data=None, **request_kwargs ): - """Get issue type usages by status and project.""" + """Get issue type usages by status and project. + + Args: + status_id: API path or query parameter. + project_id: API path or query parameter. + next_page_token: API path or query parameter. + max_results: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"statuses/{status_id}/project/{project_id}/issueTypeUsages", api_root="rest/api", @@ -4388,7 +9200,18 @@ def get_project_issue_type_usages_for_status( def get_project_usages_for_status( self, status_id, next_page_token=None, max_results=None, data=None, **request_kwargs ): - """Get project usages by status.""" + """Get project usages by status. + + Args: + status_id: API path or query parameter. + next_page_token: API path or query parameter. + max_results: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"statuses/{status_id}/projectUsages", api_root="rest/api", api_version=self.api_version ) @@ -4399,7 +9222,18 @@ def get_project_usages_for_status( def get_workflow_usages_for_status( self, status_id, next_page_token=None, max_results=None, data=None, **request_kwargs ): - """Get workflow usages by status.""" + """Get workflow usages by status. + + Args: + status_id: API path or query parameter. + next_page_token: API path or query parameter. + max_results: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"statuses/{status_id}/workflowUsages", api_root="rest/api", api_version=self.api_version ) @@ -4408,32 +9242,78 @@ def get_workflow_usages_for_status( return self.get(url, params=params, data=data, **request_kwargs) def get_task(self, task_id, data=None, **request_kwargs): - """Get task.""" + """Get task. + + Args: + task_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"task/{task_id}", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def cancel_task(self, task_id, data=None, **request_kwargs): - """Cancel task.""" + """Cancel task. + + Args: + task_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"task/{task_id}/cancel", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def get_ui_modifications(self, start_at=None, max_results=None, expand=None, data=None, **request_kwargs): - """Get UI modifications.""" + """Get UI modifications. + + Args: + start_at: API path or query parameter. + max_results: API path or query parameter. + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("uiModifications", api_root="rest/api", api_version=self.api_version) params = {"startAt": start_at, "maxResults": max_results, "expand": expand} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def create_ui_modification(self, data=None, **request_kwargs): - """Create UI modification.""" + """Create UI modification. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("uiModifications", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def delete_ui_modification(self, ui_modification_id, data=None, **request_kwargs): - """Delete UI modification.""" + """Delete UI modification. + + Args: + ui_modification_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"uiModifications/{ui_modification_id}", api_root="rest/api", api_version=self.api_version ) @@ -4441,7 +9321,16 @@ def delete_ui_modification(self, ui_modification_id, data=None, **request_kwargs return self.delete(url, params=params, data=data, **request_kwargs) def update_ui_modification(self, ui_modification_id, data=None, **request_kwargs): - """Update UI modification.""" + """Update UI modification. + + Args: + ui_modification_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"uiModifications/{ui_modification_id}", api_root="rest/api", api_version=self.api_version ) @@ -4449,7 +9338,17 @@ def update_ui_modification(self, ui_modification_id, data=None, **request_kwargs return self.put(url, params=params, data=data, **request_kwargs) def get_avatars(self, type, entity_id, data=None, **request_kwargs): - """Get avatars.""" + """Get avatars. + + Args: + type: API path or query parameter. + entity_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"universal_avatar/type/{type}/owner/{entity_id}", api_root="rest/api", api_version=self.api_version ) @@ -4457,7 +9356,20 @@ def get_avatars(self, type, entity_id, data=None, **request_kwargs): return self.get(url, params=params, data=data, **request_kwargs) def store_avatar(self, type, entity_id, x=None, y=None, size=None, data=None, **request_kwargs): - """Load avatar.""" + """Load avatar. + + Args: + type: API path or query parameter. + entity_id: API path or query parameter. + x: API path or query parameter. + y: API path or query parameter. + size: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"universal_avatar/type/{type}/owner/{entity_id}", api_root="rest/api", api_version=self.api_version ) @@ -4466,7 +9378,18 @@ def store_avatar(self, type, entity_id, x=None, y=None, size=None, data=None, ** return self.post(url, params=params, data=data, **request_kwargs) def delete_avatar(self, type, owning_object_id, id, data=None, **request_kwargs): - """Delete avatar.""" + """Delete avatar. + + Args: + type: API path or query parameter. + owning_object_id: API path or query parameter. + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"universal_avatar/type/{type}/owner/{owning_object_id}/avatar/{id}", api_root="rest/api", @@ -4476,14 +9399,37 @@ def delete_avatar(self, type, owning_object_id, id, data=None, **request_kwargs) return self.delete(url, params=params, data=data, **request_kwargs) def get_avatar_image_by_type(self, type, size=None, format=None, data=None, **request_kwargs): - """Get avatar image by type.""" + """Get avatar image by type. + + Args: + type: API path or query parameter. + size: API path or query parameter. + format: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"universal_avatar/view/type/{type}", api_root="rest/api", api_version=self.api_version) params = {"size": size, "format": format} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def get_avatar_image_by_id(self, type, id, size=None, format=None, data=None, **request_kwargs): - """Get avatar image by ID.""" + """Get avatar image by ID. + + Args: + type: API path or query parameter. + id: API path or query parameter. + size: API path or query parameter. + format: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"universal_avatar/view/type/{type}/avatar/{id}", api_root="rest/api", api_version=self.api_version ) @@ -4492,7 +9438,19 @@ def get_avatar_image_by_id(self, type, id, size=None, format=None, data=None, ** return self.get(url, params=params, data=data, **request_kwargs) def get_avatar_image_by_owner(self, type, entity_id, size=None, format=None, data=None, **request_kwargs): - """Get avatar image by owner.""" + """Get avatar image by owner. + + Args: + type: API path or query parameter. + entity_id: API path or query parameter. + size: API path or query parameter. + format: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"universal_avatar/view/type/{type}/owner/{entity_id}", api_root="rest/api", api_version=self.api_version ) @@ -4501,21 +9459,52 @@ def get_avatar_image_by_owner(self, type, entity_id, size=None, format=None, dat return self.get(url, params=params, data=data, **request_kwargs) def remove_user(self, account_id=None, username=None, key=None, data=None, **request_kwargs): - """Delete user.""" + """Delete user. + + Args: + account_id: API path or query parameter. + username: API path or query parameter. + key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("user", api_root="rest/api", api_version=self.api_version) params = {"accountId": account_id, "username": username, "key": key} params = {key: value for key, value in params.items() if value is not None} or None return self.delete(url, params=params, data=data, **request_kwargs) def get_user(self, account_id=None, username=None, key=None, expand=None, data=None, **request_kwargs): - """Get user.""" + """Get user. + + Args: + account_id: API path or query parameter. + username: API path or query parameter. + key: API path or query parameter. + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("user", api_root="rest/api", api_version=self.api_version) params = {"accountId": account_id, "username": username, "key": key, "expand": expand} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def create_user(self, data=None, **request_kwargs): - """Create user.""" + """Create user. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("user", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) @@ -4531,7 +9520,21 @@ def find_bulk_assignable_users( data=None, **request_kwargs, ): - """Find users assignable to projects.""" + """Find users assignable to projects. + + Args: + query: API path or query parameter. + username: API path or query parameter. + account_id: API path or query parameter. + project_keys: API path or query parameter. + start_at: API path or query parameter. + max_results: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("user/assignable/multiProjectSearch", api_root="rest/api", api_version=self.api_version) params = { "query": query, @@ -4562,7 +9565,28 @@ def find_assignable_users( data=None, **request_kwargs, ): - """Find users assignable to issues.""" + """Find users assignable to issues. + + Args: + query: API path or query parameter. + session_id: API path or query parameter. + username: API path or query parameter. + account_id: API path or query parameter. + project: API path or query parameter. + issue_key: API path or query parameter. + issue_id: API path or query parameter. + start_at: API path or query parameter. + max_results: API path or query parameter. + action_descriptor_id: API path or query parameter. + recommend: API path or query parameter. + account_type: API path or query parameter. + app_type: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("user/assignable/search", api_root="rest/api", api_version=self.api_version) params = { "query": query, @@ -4585,7 +9609,20 @@ def find_assignable_users( def bulk_get_users( self, start_at=None, max_results=None, username=None, key=None, account_id=None, data=None, **request_kwargs ): - """Bulk get users.""" + """Bulk get users. + + Args: + start_at: API path or query parameter. + max_results: API path or query parameter. + username: API path or query parameter. + key: API path or query parameter. + account_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("user/bulk", api_root="rest/api", api_version=self.api_version) params = { "startAt": start_at, @@ -4600,49 +9637,119 @@ def bulk_get_users( def bulk_get_users_migration( self, start_at=None, max_results=None, username=None, key=None, data=None, **request_kwargs ): - """Get account IDs for users.""" + """Get account IDs for users. + + Args: + start_at: API path or query parameter. + max_results: API path or query parameter. + username: API path or query parameter. + key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("user/bulk/migration", api_root="rest/api", api_version=self.api_version) params = {"startAt": start_at, "maxResults": max_results, "username": username, "key": key} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def reset_user_columns(self, account_id=None, username=None, data=None, **request_kwargs): - """Reset user default columns.""" + """Reset user default columns. + + Args: + account_id: API path or query parameter. + username: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("user/columns", api_root="rest/api", api_version=self.api_version) params = {"accountId": account_id, "username": username} params = {key: value for key, value in params.items() if value is not None} or None return self.delete(url, params=params, data=data, **request_kwargs) def get_user_default_columns(self, account_id=None, username=None, data=None, **request_kwargs): - """Get user default columns.""" + """Get user default columns. + + Args: + account_id: API path or query parameter. + username: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("user/columns", api_root="rest/api", api_version=self.api_version) params = {"accountId": account_id, "username": username} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def set_user_columns(self, account_id=None, data=None, **request_kwargs): - """Set user default columns.""" + """Set user default columns. + + Args: + account_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("user/columns", api_root="rest/api", api_version=self.api_version) params = {"accountId": account_id} params = {key: value for key, value in params.items() if value is not None} or None return self.put(url, params=params, data=data, **request_kwargs) def get_user_email(self, account_id=None, data=None, **request_kwargs): - """Get user email.""" + """Get user email. + + Args: + account_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("user/email", api_root="rest/api", api_version=self.api_version) params = {"accountId": account_id} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def get_user_email_bulk(self, account_id=None, data=None, **request_kwargs): - """Get user email bulk.""" + """Get user email bulk. + + Args: + account_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("user/email/bulk", api_root="rest/api", api_version=self.api_version) params = {"accountId": account_id} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def get_user_groups(self, account_id=None, username=None, key=None, data=None, **request_kwargs): - """Get user groups.""" + """Get user groups. + + Args: + account_id: API path or query parameter. + username: API path or query parameter. + key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("user/groups", api_root="rest/api", api_version=self.api_version) params = {"accountId": account_id, "username": username, "key": key} params = {key: value for key, value in params.items() if value is not None} or None @@ -4661,7 +9768,23 @@ def find_users_with_all_permissions( data=None, **request_kwargs, ): - """Find users with permissions.""" + """Find users with permissions. + + Args: + query: API path or query parameter. + username: API path or query parameter. + account_id: API path or query parameter. + permissions: API path or query parameter. + issue_key: API path or query parameter. + project_key: API path or query parameter. + start_at: API path or query parameter. + max_results: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("user/permission/search", api_root="rest/api", api_version=self.api_version) params = { "query": query, @@ -4688,7 +9811,22 @@ def find_users_for_picker( data=None, **request_kwargs, ): - """Find users for picker.""" + """Find users for picker. + + Args: + query: API path or query parameter. + max_results: API path or query parameter. + show_avatar: API path or query parameter. + exclude: API path or query parameter. + exclude_account_ids: API path or query parameter. + avatar_size: API path or query parameter. + exclude_connect_users: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("user/picker", api_root="rest/api", api_version=self.api_version) params = { "query": query, @@ -4703,7 +9841,18 @@ def find_users_for_picker( return self.get(url, params=params, data=data, **request_kwargs) def get_user_property_keys(self, account_id=None, user_key=None, username=None, data=None, **request_kwargs): - """Get user property keys.""" + """Get user property keys. + + Args: + account_id: API path or query parameter. + user_key: API path or query parameter. + username: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("user/properties", api_root="rest/api", api_version=self.api_version) params = {"accountId": account_id, "userKey": user_key, "username": username} params = {key: value for key, value in params.items() if value is not None} or None @@ -4712,7 +9861,19 @@ def get_user_property_keys(self, account_id=None, user_key=None, username=None, def delete_user_property( self, property_key, account_id=None, user_key=None, username=None, data=None, **request_kwargs ): - """Delete user property.""" + """Delete user property. + + Args: + property_key: API path or query parameter. + account_id: API path or query parameter. + user_key: API path or query parameter. + username: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"user/properties/{property_key}", api_root="rest/api", api_version=self.api_version) params = {"accountId": account_id, "userKey": user_key, "username": username} params = {key: value for key, value in params.items() if value is not None} or None @@ -4721,7 +9882,19 @@ def delete_user_property( def get_user_property( self, property_key, account_id=None, user_key=None, username=None, data=None, **request_kwargs ): - """Get user property.""" + """Get user property. + + Args: + property_key: API path or query parameter. + account_id: API path or query parameter. + user_key: API path or query parameter. + username: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"user/properties/{property_key}", api_root="rest/api", api_version=self.api_version) params = {"accountId": account_id, "userKey": user_key, "username": username} params = {key: value for key, value in params.items() if value is not None} or None @@ -4730,7 +9903,19 @@ def get_user_property( def set_user_property( self, property_key, account_id=None, user_key=None, username=None, data=None, **request_kwargs ): - """Set user property.""" + """Set user property. + + Args: + property_key: API path or query parameter. + account_id: API path or query parameter. + user_key: API path or query parameter. + username: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"user/properties/{property_key}", api_root="rest/api", api_version=self.api_version) params = {"accountId": account_id, "userKey": user_key, "username": username} params = {key: value for key, value in params.items() if value is not None} or None @@ -4747,7 +9932,21 @@ def find_users( data=None, **request_kwargs, ): - """Find users.""" + """Find users. + + Args: + query: API path or query parameter. + username: API path or query parameter. + account_id: API path or query parameter. + start_at: API path or query parameter. + max_results: API path or query parameter. + property: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("user/search", api_root="rest/api", api_version=self.api_version) params = { "query": query, @@ -4761,14 +9960,36 @@ def find_users( return self.get(url, params=params, data=data, **request_kwargs) def find_users_by_query(self, query=None, start_at=None, max_results=None, data=None, **request_kwargs): - """Find users by query.""" + """Find users by query. + + Args: + query: API path or query parameter. + start_at: API path or query parameter. + max_results: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("user/search/query", api_root="rest/api", api_version=self.api_version) params = {"query": query, "startAt": start_at, "maxResults": max_results} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def find_user_keys_by_query(self, query=None, start_at=None, max_result=None, data=None, **request_kwargs): - """Find user keys by query.""" + """Find user keys by query. + + Args: + query: API path or query parameter. + start_at: API path or query parameter. + max_result: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("user/search/query/key", api_root="rest/api", api_version=self.api_version) params = {"query": query, "startAt": start_at, "maxResult": max_result} params = {key: value for key, value in params.items() if value is not None} or None @@ -4786,7 +10007,22 @@ def find_users_with_browse_permission( data=None, **request_kwargs, ): - """Find users with browse permission.""" + """Find users with browse permission. + + Args: + query: API path or query parameter. + username: API path or query parameter. + account_id: API path or query parameter. + issue_key: API path or query parameter. + project_key: API path or query parameter. + start_at: API path or query parameter. + max_results: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("user/viewissue/search", api_root="rest/api", api_version=self.api_version) params = { "query": query, @@ -4801,47 +10037,117 @@ def find_users_with_browse_permission( return self.get(url, params=params, data=data, **request_kwargs) def get_all_users_default(self, start_at=None, max_results=None, expand=None, data=None, **request_kwargs): - """Get all users default.""" + """Get all users default. + + Args: + start_at: API path or query parameter. + max_results: API path or query parameter. + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("users", api_root="rest/api", api_version=self.api_version) params = {"startAt": start_at, "maxResults": max_results, "expand": expand} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def get_all_users(self, start_at=None, max_results=None, expand=None, data=None, **request_kwargs): - """Get all users.""" + """Get all users. + + Args: + start_at: API path or query parameter. + max_results: API path or query parameter. + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("users/search", api_root="rest/api", api_version=self.api_version) params = {"startAt": start_at, "maxResults": max_results, "expand": expand} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def create_version(self, data=None, **request_kwargs): - """Create version.""" + """Create version. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("version", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def delete_version(self, id, move_fix_issues_to=None, move_affected_issues_to=None, data=None, **request_kwargs): - """Delete version.""" + """Delete version. + + Args: + id: API path or query parameter. + move_fix_issues_to: API path or query parameter. + move_affected_issues_to: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"version/{id}", api_root="rest/api", api_version=self.api_version) params = {"moveFixIssuesTo": move_fix_issues_to, "moveAffectedIssuesTo": move_affected_issues_to} params = {key: value for key, value in params.items() if value is not None} or None return self.delete(url, params=params, data=data, **request_kwargs) def get_version(self, id, expand=None, data=None, **request_kwargs): - """Get version.""" + """Get version. + + Args: + id: API path or query parameter. + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"version/{id}", api_root="rest/api", api_version=self.api_version) params = {"expand": expand} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def update_version(self, id, data=None, **request_kwargs): - """Update version.""" + """Update version. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"version/{id}", api_root="rest/api", api_version=self.api_version) params = None return self.put(url, params=params, data=data, **request_kwargs) def merge_versions(self, id, move_issues_to, data=None, **request_kwargs): - """Merge versions.""" + """Merge versions. + + Args: + id: API path or query parameter. + move_issues_to: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"version/{id}/mergeto/{move_issues_to}", api_root="rest/api", api_version=self.api_version ) @@ -4849,49 +10155,122 @@ def merge_versions(self, id, move_issues_to, data=None, **request_kwargs): return self.put(url, params=params, data=data, **request_kwargs) def move_version(self, id, data=None, **request_kwargs): - """Move version.""" + """Move version. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"version/{id}/move", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def get_version_related_issues(self, id, data=None, **request_kwargs): - """Get version's related issues count.""" + """Get version's related issues count. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"version/{id}/relatedIssueCounts", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def get_related_work(self, id, data=None, **request_kwargs): - """Get related work.""" + """Get related work. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"version/{id}/relatedwork", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def create_related_work(self, id, data=None, **request_kwargs): - """Create related work.""" + """Create related work. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"version/{id}/relatedwork", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def update_related_work(self, id, data=None, **request_kwargs): - """Update related work.""" + """Update related work. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"version/{id}/relatedwork", api_root="rest/api", api_version=self.api_version) params = None return self.put(url, params=params, data=data, **request_kwargs) def delete_and_replace_version(self, id, data=None, **request_kwargs): - """Delete and replace version.""" + """Delete and replace version. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"version/{id}/removeAndSwap", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def get_version_unresolved_issues(self, id, data=None, **request_kwargs): - """Get version's unresolved issues count.""" + """Get version's unresolved issues count. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"version/{id}/unresolvedIssueCount", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def delete_related_work(self, version_id, related_work_id, data=None, **request_kwargs): - """Delete related work.""" + """Delete related work. + + Args: + version_id: API path or query parameter. + related_work_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"version/{version_id}/relatedwork/{related_work_id}", api_root="rest/api", api_version=self.api_version ) @@ -4899,45 +10278,106 @@ def delete_related_work(self, version_id, related_work_id, data=None, **request_ return self.delete(url, params=params, data=data, **request_kwargs) def delete_webhook_by_id(self, data=None, **request_kwargs): - """Delete webhooks by ID.""" + """Delete webhooks by ID. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("webhook", api_root="rest/api", api_version=self.api_version) params = None return self.delete(url, params=params, data=data, **request_kwargs) def get_dynamic_webhooks_for_app(self, start_at=None, max_results=None, data=None, **request_kwargs): - """Get dynamic webhooks for app.""" + """Get dynamic webhooks for app. + + Args: + start_at: API path or query parameter. + max_results: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("webhook", api_root="rest/api", api_version=self.api_version) params = {"startAt": start_at, "maxResults": max_results} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def register_dynamic_webhooks(self, data=None, **request_kwargs): - """Register dynamic webhooks.""" + """Register dynamic webhooks. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("webhook", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def get_failed_webhooks(self, max_results=None, after=None, data=None, **request_kwargs): - """Get failed webhooks.""" + """Get failed webhooks. + + Args: + max_results: API path or query parameter. + after: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("webhook/failed", api_root="rest/api", api_version=self.api_version) params = {"maxResults": max_results, "after": after} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def refresh_webhooks(self, data=None, **request_kwargs): - """Extend webhook life.""" + """Extend webhook life. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("webhook/refresh", api_root="rest/api", api_version=self.api_version) params = None return self.put(url, params=params, data=data, **request_kwargs) def read_workflow_from_history(self, data=None, **request_kwargs): - """Read workflow version from history.""" + """Read workflow version from history. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("workflow/history", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def list_workflow_history(self, expand=None, data=None, **request_kwargs): - """List workflow history entries.""" + """List workflow history entries. + + Args: + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("workflow/history/list", api_root="rest/api", api_version=self.api_version) params = {"expand": expand} params = {key: value for key, value in params.items() if value is not None} or None @@ -4956,7 +10396,23 @@ def get_workflow_transition_rule_configurations( data=None, **request_kwargs, ): - """Get workflow transition rule configurations.""" + """Get workflow transition rule configurations. + + Args: + start_at: API path or query parameter. + max_results: API path or query parameter. + types: API path or query parameter. + keys: API path or query parameter. + workflow_names: API path or query parameter. + with_tags: API path or query parameter. + draft: API path or query parameter. + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("workflow/rule/config", api_root="rest/api", api_version=self.api_version) params = { "startAt": start_at, @@ -4972,13 +10428,29 @@ def get_workflow_transition_rule_configurations( return self.get(url, params=params, data=data, **request_kwargs) def update_workflow_transition_rule_configurations(self, data=None, **request_kwargs): - """Update workflow transition rule configurations.""" + """Update workflow transition rule configurations. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("workflow/rule/config", api_root="rest/api", api_version=self.api_version) params = None return self.put(url, params=params, data=data, **request_kwargs) def delete_workflow_transition_rule_configurations(self, data=None, **request_kwargs): - """Delete workflow transition rule configurations.""" + """Delete workflow transition rule configurations. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("workflow/rule/config/delete", api_root="rest/api", api_version=self.api_version) params = None return self.put(url, params=params, data=data, **request_kwargs) @@ -4995,7 +10467,22 @@ def get_workflows_paginated( data=None, **request_kwargs, ): - """Get workflows paginated.""" + """Get workflows paginated. + + Args: + start_at: API path or query parameter. + max_results: API path or query parameter. + workflow_name: API path or query parameter. + expand: API path or query parameter. + query_string: API path or query parameter. + order_by: API path or query parameter. + is_active: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("workflow/search", api_root="rest/api", api_version=self.api_version) params = { "startAt": start_at, @@ -5010,7 +10497,16 @@ def get_workflows_paginated( return self.get(url, params=params, data=data, **request_kwargs) def delete_inactive_workflow(self, entity_id, data=None, **request_kwargs): - """Delete inactive workflow.""" + """Delete inactive workflow. + + Args: + entity_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"workflow/{entity_id}", api_root="rest/api", api_version=self.api_version) params = None return self.delete(url, params=params, data=data, **request_kwargs) @@ -5018,7 +10514,19 @@ def delete_inactive_workflow(self, entity_id, data=None, **request_kwargs): def get_workflow_project_issue_type_usages( self, workflow_id, project_id, next_page_token=None, max_results=None, data=None, **request_kwargs ): - """Get issue types in a project that are using a given workflow.""" + """Get issue types in a project that are using a given workflow. + + Args: + workflow_id: API path or query parameter. + project_id: API path or query parameter. + next_page_token: API path or query parameter. + max_results: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"workflow/{workflow_id}/project/{project_id}/issueTypeUsages", api_root="rest/api", @@ -5031,7 +10539,18 @@ def get_workflow_project_issue_type_usages( def get_project_usages_for_workflow( self, workflow_id, next_page_token=None, max_results=None, data=None, **request_kwargs ): - """Get projects using a given workflow.""" + """Get projects using a given workflow. + + Args: + workflow_id: API path or query parameter. + next_page_token: API path or query parameter. + max_results: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"workflow/{workflow_id}/projectUsages", api_root="rest/api", api_version=self.api_version ) @@ -5042,7 +10561,18 @@ def get_project_usages_for_workflow( def get_workflow_scheme_usages_for_workflow( self, workflow_id, next_page_token=None, max_results=None, data=None, **request_kwargs ): - """Get workflow schemes which are using a given workflow.""" + """Get workflow schemes which are using a given workflow. + + Args: + workflow_id: API path or query parameter. + next_page_token: API path or query parameter. + max_results: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"workflow/{workflow_id}/workflowSchemes", api_root="rest/api", api_version=self.api_version ) @@ -5051,38 +10581,89 @@ def get_workflow_scheme_usages_for_workflow( return self.get(url, params=params, data=data, **request_kwargs) def read_workflows(self, data=None, **request_kwargs): - """Bulk get workflows.""" + """Bulk get workflows. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("workflows", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def workflow_capabilities(self, workflow_id=None, project_id=None, issue_type_id=None, data=None, **request_kwargs): - """Get available workflow capabilities.""" + """Get available workflow capabilities. + + Args: + workflow_id: API path or query parameter. + project_id: API path or query parameter. + issue_type_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("workflows/capabilities", api_root="rest/api", api_version=self.api_version) params = {"workflowId": workflow_id, "projectId": project_id, "issueTypeId": issue_type_id} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def create_workflows(self, data=None, **request_kwargs): - """Bulk create workflows.""" + """Bulk create workflows. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("workflows/create", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def validate_create_workflows(self, data=None, **request_kwargs): - """Validate create workflows.""" + """Validate create workflows. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("workflows/create/validation", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def get_default_editor(self, data=None, **request_kwargs): - """Get the user's default workflow editor.""" + """Get the user's default workflow editor. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("workflows/defaultEditor", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def read_workflow_previews(self, data=None, **request_kwargs): - """Preview workflow.""" + """Preview workflow. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("workflows/preview", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) @@ -5100,7 +10681,23 @@ def search_workflows( data=None, **request_kwargs, ): - """Search workflows.""" + """Search workflows. + + Args: + start_at: API path or query parameter. + max_results: API path or query parameter. + expand: API path or query parameter. + query_string: API path or query parameter. + order_by: API path or query parameter. + scope: API path or query parameter. + is_active: API path or query parameter. + project_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("workflows/search", api_root="rest/api", api_version=self.api_version) params = { "startAt": start_at, @@ -5116,150 +10713,363 @@ def search_workflows( return self.get(url, params=params, data=data, **request_kwargs) def update_workflows(self, data=None, **request_kwargs): - """Bulk update workflows.""" + """Bulk update workflows. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("workflows/update", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def validate_update_workflows(self, data=None, **request_kwargs): - """Validate update workflows.""" + """Validate update workflows. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("workflows/update/validation", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def get_all_workflow_schemes(self, start_at=None, max_results=None, data=None, **request_kwargs): - """Get all workflow schemes.""" + """Get all workflow schemes. + + Args: + start_at: API path or query parameter. + max_results: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("workflowscheme", api_root="rest/api", api_version=self.api_version) params = {"startAt": start_at, "maxResults": max_results} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def create_workflow_scheme(self, data=None, **request_kwargs): - """Create workflow scheme.""" + """Create workflow scheme. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("workflowscheme", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def get_workflow_scheme_project_associations(self, project_id=None, data=None, **request_kwargs): - """Get workflow scheme project associations.""" + """Get workflow scheme project associations. + + Args: + project_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("workflowscheme/project", api_root="rest/api", api_version=self.api_version) params = {"projectId": project_id} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def assign_scheme_to_project(self, data=None, **request_kwargs): - """Assign workflow scheme to project.""" + """Assign workflow scheme to project. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("workflowscheme/project", api_root="rest/api", api_version=self.api_version) params = None return self.put(url, params=params, data=data, **request_kwargs) def switch_workflow_scheme_for_project(self, data=None, **request_kwargs): - """Switch workflow scheme for project.""" + """Switch workflow scheme for project. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("workflowscheme/project/switch", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def read_workflow_schemes(self, data=None, **request_kwargs): - """Bulk get workflow schemes.""" + """Bulk get workflow schemes. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("workflowscheme/read", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def update_schemes(self, data=None, **request_kwargs): - """Update workflow scheme.""" + """Update workflow scheme. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("workflowscheme/update", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def get_required_workflow_scheme_mappings(self, data=None, **request_kwargs): - """Get required status mappings for workflow scheme update.""" + """Get required status mappings for workflow scheme update. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("workflowscheme/update/mappings", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def delete_workflow_scheme(self, id, data=None, **request_kwargs): - """Delete workflow scheme.""" + """Delete workflow scheme. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"workflowscheme/{id}", api_root="rest/api", api_version=self.api_version) params = None return self.delete(url, params=params, data=data, **request_kwargs) def get_workflow_scheme(self, id, return_draft_if_exists=None, data=None, **request_kwargs): - """Get workflow scheme.""" + """Get workflow scheme. + + Args: + id: API path or query parameter. + return_draft_if_exists: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"workflowscheme/{id}", api_root="rest/api", api_version=self.api_version) params = {"returnDraftIfExists": return_draft_if_exists} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def update_workflow_scheme(self, id, data=None, **request_kwargs): - """Classic update workflow scheme.""" + """Classic update workflow scheme. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"workflowscheme/{id}", api_root="rest/api", api_version=self.api_version) params = None return self.put(url, params=params, data=data, **request_kwargs) def create_workflow_scheme_draft_from_parent(self, id, data=None, **request_kwargs): - """Create draft workflow scheme.""" + """Create draft workflow scheme. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"workflowscheme/{id}/createdraft", api_root="rest/api", api_version=self.api_version) params = None return self.post(url, params=params, data=data, **request_kwargs) def delete_default_workflow(self, id, update_draft_if_needed=None, data=None, **request_kwargs): - """Delete default workflow.""" + """Delete default workflow. + + Args: + id: API path or query parameter. + update_draft_if_needed: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"workflowscheme/{id}/default", api_root="rest/api", api_version=self.api_version) params = {"updateDraftIfNeeded": update_draft_if_needed} params = {key: value for key, value in params.items() if value is not None} or None return self.delete(url, params=params, data=data, **request_kwargs) def get_default_workflow(self, id, return_draft_if_exists=None, data=None, **request_kwargs): - """Get default workflow.""" + """Get default workflow. + + Args: + id: API path or query parameter. + return_draft_if_exists: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"workflowscheme/{id}/default", api_root="rest/api", api_version=self.api_version) params = {"returnDraftIfExists": return_draft_if_exists} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def update_default_workflow(self, id, data=None, **request_kwargs): - """Update default workflow.""" + """Update default workflow. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"workflowscheme/{id}/default", api_root="rest/api", api_version=self.api_version) params = None return self.put(url, params=params, data=data, **request_kwargs) def delete_workflow_scheme_draft(self, id, data=None, **request_kwargs): - """Delete draft workflow scheme.""" + """Delete draft workflow scheme. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"workflowscheme/{id}/draft", api_root="rest/api", api_version=self.api_version) params = None return self.delete(url, params=params, data=data, **request_kwargs) def get_workflow_scheme_draft(self, id, data=None, **request_kwargs): - """Get draft workflow scheme.""" + """Get draft workflow scheme. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"workflowscheme/{id}/draft", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def update_workflow_scheme_draft(self, id, data=None, **request_kwargs): - """Update draft workflow scheme.""" + """Update draft workflow scheme. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"workflowscheme/{id}/draft", api_root="rest/api", api_version=self.api_version) params = None return self.put(url, params=params, data=data, **request_kwargs) def delete_draft_default_workflow(self, id, data=None, **request_kwargs): - """Delete draft default workflow.""" + """Delete draft default workflow. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"workflowscheme/{id}/draft/default", api_root="rest/api", api_version=self.api_version) params = None return self.delete(url, params=params, data=data, **request_kwargs) def get_draft_default_workflow(self, id, data=None, **request_kwargs): - """Get draft default workflow.""" + """Get draft default workflow. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"workflowscheme/{id}/draft/default", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def update_draft_default_workflow(self, id, data=None, **request_kwargs): - """Update draft default workflow.""" + """Update draft default workflow. + + Args: + id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"workflowscheme/{id}/draft/default", api_root="rest/api", api_version=self.api_version) params = None return self.put(url, params=params, data=data, **request_kwargs) def delete_workflow_scheme_draft_issue_type(self, id, issue_type, data=None, **request_kwargs): - """Delete workflow for issue type in draft workflow scheme.""" + """Delete workflow for issue type in draft workflow scheme. + + Args: + id: API path or query parameter. + issue_type: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"workflowscheme/{id}/draft/issuetype/{issue_type}", api_root="rest/api", api_version=self.api_version ) @@ -5267,7 +11077,17 @@ def delete_workflow_scheme_draft_issue_type(self, id, issue_type, data=None, **r return self.delete(url, params=params, data=data, **request_kwargs) def get_workflow_scheme_draft_issue_type(self, id, issue_type, data=None, **request_kwargs): - """Get workflow for issue type in draft workflow scheme.""" + """Get workflow for issue type in draft workflow scheme. + + Args: + id: API path or query parameter. + issue_type: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"workflowscheme/{id}/draft/issuetype/{issue_type}", api_root="rest/api", api_version=self.api_version ) @@ -5275,7 +11095,17 @@ def get_workflow_scheme_draft_issue_type(self, id, issue_type, data=None, **requ return self.get(url, params=params, data=data, **request_kwargs) def set_workflow_scheme_draft_issue_type(self, id, issue_type, data=None, **request_kwargs): - """Set workflow for issue type in draft workflow scheme.""" + """Set workflow for issue type in draft workflow scheme. + + Args: + id: API path or query parameter. + issue_type: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"workflowscheme/{id}/draft/issuetype/{issue_type}", api_root="rest/api", api_version=self.api_version ) @@ -5283,14 +11113,34 @@ def set_workflow_scheme_draft_issue_type(self, id, issue_type, data=None, **requ return self.put(url, params=params, data=data, **request_kwargs) def publish_draft_workflow_scheme(self, id, validate_only=None, data=None, **request_kwargs): - """Publish draft workflow scheme.""" + """Publish draft workflow scheme. + + Args: + id: API path or query parameter. + validate_only: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"workflowscheme/{id}/draft/publish", api_root="rest/api", api_version=self.api_version) params = {"validateOnly": validate_only} params = {key: value for key, value in params.items() if value is not None} or None return self.post(url, params=params, data=data, **request_kwargs) def delete_draft_workflow_mapping(self, id, workflow_name=None, data=None, **request_kwargs): - """Delete issue types for workflow in draft workflow scheme.""" + """Delete issue types for workflow in draft workflow scheme. + + Args: + id: API path or query parameter. + workflow_name: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"workflowscheme/{id}/draft/workflow", api_root="rest/api", api_version=self.api_version ) @@ -5299,7 +11149,17 @@ def delete_draft_workflow_mapping(self, id, workflow_name=None, data=None, **req return self.delete(url, params=params, data=data, **request_kwargs) def get_draft_workflow(self, id, workflow_name=None, data=None, **request_kwargs): - """Get issue types for workflows in draft workflow scheme.""" + """Get issue types for workflows in draft workflow scheme. + + Args: + id: API path or query parameter. + workflow_name: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"workflowscheme/{id}/draft/workflow", api_root="rest/api", api_version=self.api_version ) @@ -5308,7 +11168,17 @@ def get_draft_workflow(self, id, workflow_name=None, data=None, **request_kwargs return self.get(url, params=params, data=data, **request_kwargs) def update_draft_workflow_mapping(self, id, workflow_name=None, data=None, **request_kwargs): - """Set issue types for workflow in workflow scheme.""" + """Set issue types for workflow in workflow scheme. + + Args: + id: API path or query parameter. + workflow_name: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"workflowscheme/{id}/draft/workflow", api_root="rest/api", api_version=self.api_version ) @@ -5319,7 +11189,18 @@ def update_draft_workflow_mapping(self, id, workflow_name=None, data=None, **req def delete_workflow_scheme_issue_type( self, id, issue_type, update_draft_if_needed=None, data=None, **request_kwargs ): - """Delete workflow for issue type in workflow scheme.""" + """Delete workflow for issue type in workflow scheme. + + Args: + id: API path or query parameter. + issue_type: API path or query parameter. + update_draft_if_needed: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"workflowscheme/{id}/issuetype/{issue_type}", api_root="rest/api", api_version=self.api_version ) @@ -5328,7 +11209,18 @@ def delete_workflow_scheme_issue_type( return self.delete(url, params=params, data=data, **request_kwargs) def get_workflow_scheme_issue_type(self, id, issue_type, return_draft_if_exists=None, data=None, **request_kwargs): - """Get workflow for issue type in workflow scheme.""" + """Get workflow for issue type in workflow scheme. + + Args: + id: API path or query parameter. + issue_type: API path or query parameter. + return_draft_if_exists: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"workflowscheme/{id}/issuetype/{issue_type}", api_root="rest/api", api_version=self.api_version ) @@ -5337,7 +11229,17 @@ def get_workflow_scheme_issue_type(self, id, issue_type, return_draft_if_exists= return self.get(url, params=params, data=data, **request_kwargs) def set_workflow_scheme_issue_type(self, id, issue_type, data=None, **request_kwargs): - """Set workflow for issue type in workflow scheme.""" + """Set workflow for issue type in workflow scheme. + + Args: + id: API path or query parameter. + issue_type: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"workflowscheme/{id}/issuetype/{issue_type}", api_root="rest/api", api_version=self.api_version ) @@ -5345,21 +11247,53 @@ def set_workflow_scheme_issue_type(self, id, issue_type, data=None, **request_kw return self.put(url, params=params, data=data, **request_kwargs) def delete_workflow_mapping(self, id, workflow_name=None, update_draft_if_needed=None, data=None, **request_kwargs): - """Delete issue types for workflow in workflow scheme.""" + """Delete issue types for workflow in workflow scheme. + + Args: + id: API path or query parameter. + workflow_name: API path or query parameter. + update_draft_if_needed: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"workflowscheme/{id}/workflow", api_root="rest/api", api_version=self.api_version) params = {"workflowName": workflow_name, "updateDraftIfNeeded": update_draft_if_needed} params = {key: value for key, value in params.items() if value is not None} or None return self.delete(url, params=params, data=data, **request_kwargs) def get_workflow(self, id, workflow_name=None, return_draft_if_exists=None, data=None, **request_kwargs): - """Get issue types for workflows in workflow scheme.""" + """Get issue types for workflows in workflow scheme. + + Args: + id: API path or query parameter. + workflow_name: API path or query parameter. + return_draft_if_exists: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"workflowscheme/{id}/workflow", api_root="rest/api", api_version=self.api_version) params = {"workflowName": workflow_name, "returnDraftIfExists": return_draft_if_exists} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def update_workflow_mapping(self, id, workflow_name=None, data=None, **request_kwargs): - """Set issue types for workflow in workflow scheme.""" + """Set issue types for workflow in workflow scheme. + + Args: + id: API path or query parameter. + workflow_name: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url(f"workflowscheme/{id}/workflow", api_root="rest/api", api_version=self.api_version) params = {"workflowName": workflow_name} params = {key: value for key, value in params.items() if value is not None} or None @@ -5368,7 +11302,18 @@ def update_workflow_mapping(self, id, workflow_name=None, data=None, **request_k def get_project_usages_for_workflow_scheme( self, workflow_scheme_id, next_page_token=None, max_results=None, data=None, **request_kwargs ): - """Get projects which are using a given workflow scheme.""" + """Get projects which are using a given workflow scheme. + + Args: + workflow_scheme_id: API path or query parameter. + next_page_token: API path or query parameter. + max_results: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"workflowscheme/{workflow_scheme_id}/projectUsages", api_root="rest/api", api_version=self.api_version ) @@ -5377,28 +11322,65 @@ def get_project_usages_for_workflow_scheme( return self.get(url, params=params, data=data, **request_kwargs) def get_ids_of_worklogs_deleted_since(self, since=None, data=None, **request_kwargs): - """Get IDs of deleted worklogs.""" + """Get IDs of deleted worklogs. + + Args: + since: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("worklog/deleted", api_root="rest/api", api_version=self.api_version) params = {"since": since} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def get_worklogs_for_ids(self, expand=None, data=None, **request_kwargs): - """Get worklogs.""" + """Get worklogs. + + Args: + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("worklog/list", api_root="rest/api", api_version=self.api_version) params = {"expand": expand} params = {key: value for key, value in params.items() if value is not None} or None return self.post(url, params=params, data=data, **request_kwargs) def get_ids_of_worklogs_modified_since(self, since=None, expand=None, data=None, **request_kwargs): - """Get IDs of updated worklogs.""" + """Get IDs of updated worklogs. + + Args: + since: API path or query parameter. + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("worklog/updated", api_root="rest/api", api_version=self.api_version) params = {"since": since, "expand": expand} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def addon_properties_resource_get_addon_properties_get(self, addon_key, data=None, **request_kwargs): - """Get app properties.""" + """Get app properties. + + Args: + addon_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"rest/atlassian-connect/1/addons/{addon_key}/properties", api_root="rest/api", api_version=self.api_version ) @@ -5408,7 +11390,17 @@ def addon_properties_resource_get_addon_properties_get(self, addon_key, data=Non def addon_properties_resource_delete_addon_property_delete( self, addon_key, property_key, data=None, **request_kwargs ): - """Delete app property.""" + """Delete app property. + + Args: + addon_key: API path or query parameter. + property_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"rest/atlassian-connect/1/addons/{addon_key}/properties/{property_key}", api_root="rest/api", @@ -5418,7 +11410,17 @@ def addon_properties_resource_delete_addon_property_delete( return self.delete(url, params=params, data=data, **request_kwargs) def addon_properties_resource_get_addon_property_get(self, addon_key, property_key, data=None, **request_kwargs): - """Get app property.""" + """Get app property. + + Args: + addon_key: API path or query parameter. + property_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"rest/atlassian-connect/1/addons/{addon_key}/properties/{property_key}", api_root="rest/api", @@ -5428,7 +11430,17 @@ def addon_properties_resource_get_addon_property_get(self, addon_key, property_k return self.get(url, params=params, data=data, **request_kwargs) def addon_properties_resource_put_addon_property_put(self, addon_key, property_key, data=None, **request_kwargs): - """Set app property.""" + """Set app property. + + Args: + addon_key: API path or query parameter. + property_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"rest/atlassian-connect/1/addons/{addon_key}/properties/{property_key}", api_root="rest/api", @@ -5438,7 +11450,16 @@ def addon_properties_resource_put_addon_property_put(self, addon_key, property_k return self.put(url, params=params, data=data, **request_kwargs) def dynamic_modules_resource_remove_modules_delete(self, module_key=None, data=None, **request_kwargs): - """Remove modules.""" + """Remove modules. + + Args: + module_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( "rest/atlassian-connect/1/app/module/dynamic", api_root="rest/api", api_version=self.api_version ) @@ -5447,7 +11468,15 @@ def dynamic_modules_resource_remove_modules_delete(self, module_key=None, data=N return self.delete(url, params=params, data=data, **request_kwargs) def dynamic_modules_resource_get_modules_get(self, data=None, **request_kwargs): - """Get modules.""" + """Get modules. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( "rest/atlassian-connect/1/app/module/dynamic", api_root="rest/api", api_version=self.api_version ) @@ -5455,7 +11484,15 @@ def dynamic_modules_resource_get_modules_get(self, data=None, **request_kwargs): return self.get(url, params=params, data=data, **request_kwargs) def dynamic_modules_resource_register_modules_post(self, data=None, **request_kwargs): - """Register modules.""" + """Register modules. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( "rest/atlassian-connect/1/app/module/dynamic", api_root="rest/api", api_version=self.api_version ) @@ -5463,7 +11500,15 @@ def dynamic_modules_resource_register_modules_post(self, data=None, **request_kw return self.post(url, params=params, data=data, **request_kwargs) def app_issue_field_value_update_resource_update_issue_fields_put(self, data=None, **request_kwargs): - """Bulk update custom field value.""" + """Bulk update custom field value. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( "rest/atlassian-connect/1/migration/field", api_root="rest/api", api_version=self.api_version ) @@ -5471,7 +11516,16 @@ def app_issue_field_value_update_resource_update_issue_fields_put(self, data=Non return self.put(url, params=params, data=data, **request_kwargs) def migration_resource_update_entity_properties_value_put(self, entity_type, data=None, **request_kwargs): - """Bulk update entity properties.""" + """Bulk update entity properties. + + Args: + entity_type: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"rest/atlassian-connect/1/migration/properties/{entity_type}", api_root="rest/api", @@ -5481,7 +11535,15 @@ def migration_resource_update_entity_properties_value_put(self, entity_type, dat return self.put(url, params=params, data=data, **request_kwargs) def migration_resource_workflow_rule_search_post(self, data=None, **request_kwargs): - """Get workflow transition rule configurations.""" + """Get workflow transition rule configurations. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( "rest/atlassian-connect/1/migration/workflow/rule/search", api_root="rest/api", @@ -5493,7 +11555,17 @@ def migration_resource_workflow_rule_search_post(self, data=None, **request_kwar def connect_to_forge_migration_fetch_task_resource_fetch_migration_task_get( self, connect_key, jira_issue_fields_key, data=None, **request_kwargs ): - """Get Connect issue field migration task.""" + """Get Connect issue field migration task. + + Args: + connect_key: API path or query parameter. + jira_issue_fields_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"rest/atlassian-connect/1/migration/{connect_key}/{jira_issue_fields_key}/task", api_root="rest/api", @@ -5505,7 +11577,18 @@ def connect_to_forge_migration_fetch_task_resource_fetch_migration_task_get( def connect_to_forge_migration_task_submission_resource_submit_task_post( self, connect_key, jira_issue_fields_key, retrigger_completed_migration=None, data=None, **request_kwargs ): - """Submit Connect issue field migration task.""" + """Submit Connect issue field migration task. + + Args: + connect_key: API path or query parameter. + jira_issue_fields_key: API path or query parameter. + retrigger_completed_migration: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"rest/atlassian-connect/1/migration/{connect_key}/{jira_issue_fields_key}/task", api_root="rest/api", @@ -5516,7 +11599,16 @@ def connect_to_forge_migration_task_submission_resource_submit_task_post( return self.post(url, params=params, data=data, **request_kwargs) def service_registry_resource_services_get(self, service_ids=None, data=None, **request_kwargs): - """Retrieve the attributes of service registries.""" + """Retrieve the attributes of service registries. + + Args: + service_ids: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( "rest/atlassian-connect/1/service-registry", api_root="rest/api", api_version=self.api_version ) @@ -5525,13 +11617,30 @@ def service_registry_resource_services_get(self, service_ids=None, data=None, ** return self.get(url, params=params, data=data, **request_kwargs) def get_forge_app_property_keys(self, data=None, **request_kwargs): - """Get app property keys (Forge).""" + """Get app property keys (Forge). + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url("rest/forge/1/app/properties", api_root="rest/api", api_version=self.api_version) params = None return self.get(url, params=params, data=data, **request_kwargs) def delete_forge_app_property(self, property_key, data=None, **request_kwargs): - """Delete app property (Forge).""" + """Delete app property (Forge). + + Args: + property_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"rest/forge/1/app/properties/{property_key}", api_root="rest/api", api_version=self.api_version ) @@ -5539,7 +11648,16 @@ def delete_forge_app_property(self, property_key, data=None, **request_kwargs): return self.delete(url, params=params, data=data, **request_kwargs) def get_forge_app_property(self, property_key, data=None, **request_kwargs): - """Get app property (Forge).""" + """Get app property (Forge). + + Args: + property_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"rest/forge/1/app/properties/{property_key}", api_root="rest/api", api_version=self.api_version ) @@ -5547,7 +11665,16 @@ def get_forge_app_property(self, property_key, data=None, **request_kwargs): return self.get(url, params=params, data=data, **request_kwargs) def put_forge_app_property(self, property_key, data=None, **request_kwargs): - """Set app property (Forge).""" + """Set app property (Forge). + + Args: + property_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( f"rest/forge/1/app/properties/{property_key}", api_root="rest/api", api_version=self.api_version ) @@ -5555,7 +11682,15 @@ def put_forge_app_property(self, property_key, data=None, **request_kwargs): return self.put(url, params=params, data=data, **request_kwargs) def get_worklogs_by_issue_id_and_worklog_id(self, data=None, **request_kwargs): - """Get worklogs by issue id and worklog id.""" + """Get worklogs by issue id and worklog id. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = self.resource_url( "rest/internal/api/latest/worklog/bulk", api_root="rest/api", api_version=self.api_version ) diff --git a/atlassian/jira/jira_server.py b/atlassian/jira/jira_server.py index 8971dbcd2..94ff4546a 100644 --- a/atlassian/jira/jira_server.py +++ b/atlassian/jira/jira_server.py @@ -4,6 +4,7 @@ import os import re import zipfile +from json import dumps from typing import Any, BinaryIO, Dict, List, Optional, Union, cast from warnings import warn @@ -231,6 +232,30 @@ def get_application_role(self, role_key: str) -> T_resp_json: url = f"{base_url}/{role_key}" return self.get(url) or {} + def update_application_roles( + self, application_roles: List[Dict[str, Any]], if_match: Optional[str] = None + ) -> T_resp_json: + """Update groups and default groups for Jira Server application roles. + + Jira updates only the ``groups`` and ``defaultGroups`` properties. Use + the optional ETag returned by :meth:`get_all_application_roles` through + ``if_match`` to avoid overwriting a newer role configuration. + + Args: + application_roles: Roles to update, each including its ``key`` and + permitted mutable properties. + if_match: Optional ApplicationRole collection ETag for optimistic + concurrency control. + + Returns: + Updated ApplicationRole collection. + """ + url = self.resource_url("applicationrole") + headers = dict(self.default_headers) + if if_match is not None: + headers["If-Match"] = if_match + return self.put(url, data=dumps(application_roles), headers=headers) + """ Attachments Reference: https://docs.atlassian.com/software/jira/docs/api/REST/8.5.0/#api/2/attachment @@ -767,6 +792,14 @@ def delete_comment_property(self, comment_id: T_id, property_key: str) -> T_resp """ def component(self, component_id: T_id) -> T_resp_json: + """Perform the Jira component operation. + + Args: + See the method signature for API request parameters. + + Returns: + Decoded Jira REST response. + """ base_url = self.resource_url("component") return self.get(f"{base_url}/{component_id}") @@ -781,22 +814,54 @@ def get_component_related_issues(self, component_id: T_id) -> T_resp_json: return self.get(url) def create_component(self, component: dict) -> T_resp_json: + """Perform the Jira create component operation. + + Args: + See the method signature for API request parameters. + + Returns: + Decoded Jira REST response. + """ log.info('Creating component "%s"', component["name"]) base_url = self.resource_url("component") url = f"{base_url}/" return self.post(url, data=component) def update_component(self, component: dict, component_id: T_id) -> T_resp_json: + """Perform the Jira update component operation. + + Args: + See the method signature for API request parameters. + + Returns: + Decoded Jira REST response. + """ base_url = self.resource_url("component") url = f"{base_url}/{component_id}" return self.put(url, data=component) def delete_component(self, component_id: T_id) -> T_resp_json: + """Perform the Jira delete component operation. + + Args: + See the method signature for API request parameters. + + Returns: + Decoded Jira REST response. + """ log.info('Deleting component "%s"', component_id) base_url = self.resource_url("component") return self.delete(f"{base_url}/{component_id}") def update_component_lead(self, component_id: T_id, lead: str) -> T_resp_json: + """Perform the Jira update component lead operation. + + Args: + See the method signature for API request parameters. + + Returns: + Decoded Jira REST response. + """ data = {"id": component_id, "leadUserName": lead} base_url = self.resource_url("component") return self.put( @@ -1350,6 +1415,14 @@ def get_users_with_browse_permission_to_a_project( """ def issue(self, key: T_id, fields: Union[str, dict] = "*all", expand: Optional[str] = None): + """Perform the Jira issue operation. + + Args: + See the method signature for API request parameters. + + Returns: + Decoded Jira REST response. + """ base_url = self.resource_url("issue") url = f"{base_url}/{key}?fields={fields}" params: dict = {} @@ -1492,6 +1565,14 @@ def issue_createmeta_fieldtypes( return self.get(url, params=params) def issue_editmeta(self, key: str): + """Perform the Jira issue editmeta operation. + + Args: + See the method signature for API request parameters. + + Returns: + Decoded Jira REST response. + """ base_url = self.resource_url("issue") url = f"{base_url}/{key}/editmeta" return self.get(url) @@ -1614,12 +1695,28 @@ def issue_restore(self, issue_id_or_key: str): return self.put(url) def issue_field_value(self, key: str, field: str): + """Perform the Jira issue field value operation. + + Args: + See the method signature for API request parameters. + + Returns: + Decoded Jira REST response. + """ base_url = self.resource_url("issue") issue = self.get(f"{base_url}/{key}?fields={field}") if issue: return issue["fields"][field] def issue_fields(self, key: str): + """Perform the Jira issue fields operation. + + Args: + See the method signature for API request parameters. + + Returns: + Decoded Jira REST response. + """ base_url = self.resource_url("issue") issue = self.get(f"{base_url}/{key}") if issue: @@ -1753,6 +1850,14 @@ def add_attachment_object(self, issue_key: str, attachment: BinaryIO): return self.post(url, headers=self.no_check_headers, files=files) def issue_exists(self, issue_key: str) -> Optional[bool]: + """Perform the Jira issue exists operation. + + Args: + See the method signature for API request parameters. + + Returns: + Decoded Jira REST response. + """ original_value = self.advanced_mode self.advanced_mode = True try: @@ -1767,6 +1872,14 @@ def issue_exists(self, issue_key: str) -> Optional[bool]: self.advanced_mode = original_value def issue_deleted(self, issue_key: str) -> bool: + """Perform the Jira issue deleted operation. + + Args: + See the method signature for API request parameters. + + Returns: + Decoded Jira REST response. + """ exists = self.issue_exists(issue_key) if exists: log.info('Issue "%s" is not deleted', issue_key) @@ -1972,11 +2085,27 @@ def create_issues(self, list_of_issues_data: list): # @todo refactor and merge with create_issue method def issue_create(self, fields: dict): + """Perform the Jira issue create operation. + + Args: + See the method signature for API request parameters. + + Returns: + Decoded Jira REST response. + """ log.info('Creating issue "%s"', fields["summary"]) url = self.resource_url("issue") return self.post(url, data={"fields": fields}) def issue_create_or_update(self, fields: dict): + """Perform the Jira issue create or update operation. + + Args: + See the method signature for API request parameters. + + Returns: + Decoded Jira REST response. + """ issue_key = fields.get("issuekey", None) if not issue_key or not self.issue_exists(issue_key): @@ -2200,6 +2329,14 @@ def create_or_update_issue_remote_links( return self.post(url, data=data) def get_issue_remote_link_by_id(self, issue_key: str, link_id: T_id): + """Perform the Jira get issue remote link by id operation. + + Args: + See the method signature for API request parameters. + + Returns: + Decoded Jira REST response. + """ base_url = self.resource_url("issue") url = f"{base_url}/{issue_key}/remotelink/{link_id}" return self.get(url) @@ -2243,6 +2380,14 @@ def delete_issue_remote_link_by_id(self, issue_key: str, link_id: T_id) -> T_res return self.delete(url) def get_issue_transitions(self, issue_key: str) -> List[dict]: + """Perform the Jira get issue transitions operation. + + Args: + See the method signature for API request parameters. + + Returns: + Decoded Jira REST response. + """ if self.advanced_mode: resp = cast("Response", self.get_issue_transitions_full(issue_key)) d: Dict[str, list] = resp.json() or {} @@ -2259,6 +2404,14 @@ def get_issue_transitions(self, issue_key: str) -> List[dict]: ] def issue_transition(self, issue_key: str, status: str) -> T_resp_json: + """Perform the Jira issue transition operation. + + Args: + See the method signature for API request parameters. + + Returns: + Decoded Jira REST response. + """ return self.set_issue_status(issue_key, status) def set_issue_status( @@ -2289,6 +2442,14 @@ def set_issue_status( def get_issue_status_changelog(self, issue_id: T_id): # Get the issue details with changelog + """Perform the Jira get issue status changelog operation. + + Args: + See the method signature for API request parameters. + + Returns: + Decoded Jira REST response. + """ response_get_issue = self.get_issue(issue_id, fields="id", expand="changelog") status_change_history = [] for history in response_get_issue["changelog"]["histories"]: @@ -2322,12 +2483,28 @@ def set_issue_status_by_transition_name(self, issue_key: str, transition_name: s return self.post(url, data={"transition": {"name": transition_name}}) def get_issue_status(self, issue_key: str): + """Perform the Jira get issue status operation. + + Args: + See the method signature for API request parameters. + + Returns: + Decoded Jira REST response. + """ base_url = self.resource_url("issue") url = f"{base_url}/{issue_key}?fields=status" fields = [("fields",), ("status",), ("name",)] return self._get_response_content(url, fields=fields) or {} def get_issue_status_id(self, issue_key: str) -> str: + """Perform the Jira get issue status id operation. + + Args: + See the method signature for API request parameters. + + Returns: + Decoded Jira REST response. + """ base_url = self.resource_url("issue") url = f"{base_url}/{issue_key}?fields=status" fields = [("fields",), ("status",), ("id",)] @@ -2368,16 +2545,40 @@ def get_issue_property_keys(self, issue_key: str): return self.get(url) def set_issue_property(self, issue_key: str, property_key: str, data: dict): + """Perform the Jira set issue property operation. + + Args: + See the method signature for API request parameters. + + Returns: + Decoded Jira REST response. + """ base_url = self.resource_url("issue") url = f"{base_url}/{issue_key}/properties/{property_key}" return self.put(url, data=data) def get_issue_property(self, issue_key: str, property_key: str): + """Perform the Jira get issue property operation. + + Args: + See the method signature for API request parameters. + + Returns: + Decoded Jira REST response. + """ base_url = self.resource_url("issue") url = f"{base_url}/{issue_key}/properties/{property_key}" return self.get(url) def delete_issue_property(self, issue_key: str, property_key: str): + """Perform the Jira delete issue property operation. + + Args: + See the method signature for API request parameters. + + Returns: + Decoded Jira REST response. + """ base_url = self.resource_url("issue") url = f"{base_url}/{issue_key}/properties/{property_key}" return self.delete(url) @@ -2834,6 +3035,14 @@ def get_user_groups(self, account_id: Optional[str] = None): return self.get(url, params=params) def get_all_projects(self, included_archived: Optional[bool] = None, expand: Optional[str] = None): + """Perform the Jira get all projects operation. + + Args: + See the method signature for API request parameters. + + Returns: + Decoded Jira REST response. + """ return self.projects(included_archived, expand) def projects(self, included_archived: Optional[bool] = None, expand: Optional[str] = None): @@ -3401,6 +3610,14 @@ def get_all_custom_fields(self): return custom_fields def project_leaders(self): + """Perform the Jira project leaders operation. + + Args: + See the method signature for API request parameters. + + Returns: + Decoded Jira REST response. + """ for project in self.projects(): key = project["key"] project_data = self.project(key) @@ -3414,6 +3631,14 @@ def project_leaders(self): } def get_project_issuekey_last(self, project: str): + """Perform the Jira get project issuekey last operation. + + Args: + See the method signature for API request parameters. + + Returns: + Decoded Jira REST response. + """ jql = f'project = "{project}" ORDER BY issuekey DESC' response = self.jql(jql) if self.advanced_mode: @@ -3424,6 +3649,14 @@ def get_project_issuekey_last(self, project: str): def get_project_issuekey_all( self, project: str, start: int = 0, limit: Optional[int] = None, expand: Optional[str] = None ): + """Perform the Jira get project issuekey all operation. + + Args: + See the method signature for API request parameters. + + Returns: + Decoded Jira REST response. + """ jql = f'project = "{project}" ORDER BY issuekey ASC' response = self.jql(jql, start=start, limit=limit, expand=expand) if self.advanced_mode: @@ -3431,6 +3664,14 @@ def get_project_issuekey_all( return [issue["key"] for issue in cast("dict", response)["issues"]] def get_project_issues_count(self, project: str): + """Perform the Jira get project issues count operation. + + Args: + See the method signature for API request parameters. + + Returns: + Decoded Jira REST response. + """ jql = f'project = "{project}" ' response = self.jql(jql, fields="*none") if self.advanced_mode: @@ -3486,11 +3727,27 @@ def get_assignable_users_for_issue( return self.get(url) def get_status_id_from_name(self, status_name: str): + """Perform the Jira get status id from name operation. + + Args: + See the method signature for API request parameters. + + Returns: + Decoded Jira REST response. + """ base_url = self.resource_url("status") url = f"{base_url}/{status_name}" return int(self._get_response_content(url, fields=[("id",)])) def get_status_for_project(self, project_key: str) -> T_resp_json: + """Perform the Jira get status for project operation. + + Args: + See the method signature for API request parameters. + + Returns: + Decoded Jira REST response. + """ base_url = self.resource_url("project") url = f"{base_url}/{project_key}/statuses" return self.get(url) @@ -3520,6 +3777,14 @@ def get_time_tracking_settings(self) -> T_resp_json: return self.get(url) def get_transition_id_to_status_name(self, issue_key: str, status_name: str) -> Optional[int]: + """Perform the Jira get transition id to status name operation. + + Args: + See the method signature for API request parameters. + + Returns: + Decoded Jira REST response. + """ for transition in self.get_issue_transitions(issue_key): if status_name.lower() == transition["to"].lower(): return int(transition["id"]) @@ -4300,6 +4565,14 @@ def delete_plugin(self, plugin_key: str) -> T_resp_json: return self.delete(url) def check_plugin_manager_status(self) -> Response: + """Perform the Jira check plugin manager status operation. + + Args: + See the method signature for API request parameters. + + Returns: + Decoded Jira REST response. + """ url = "rest/plugins/latest/safe-mode" return self.request(method="GET", path=url, headers=self.safe_mode_headers) @@ -4763,6 +5036,14 @@ def reindex_status(self) -> T_resp_json: return response.json() def reindex_project(self, project_key: str) -> T_resp_json: + """Perform the Jira reindex project operation. + + Args: + See the method signature for API request parameters. + + Returns: + Decoded Jira REST response. + """ return self.post( "secure/admin/IndexProject.jspa", data=f"confirmed=true&key={project_key}", @@ -5236,6 +5517,14 @@ def tempo_timesheets_get_required_times(self, from_date: str, to_date: str, user return self.get(url, params=params) def tempo_timesheets_approval_status(self, period_start_date: str, user_name: str) -> T_resp_json: + """Perform the Jira tempo timesheets approval status operation. + + Args: + See the method signature for API request parameters. + + Returns: + Decoded Jira REST response. + """ url = "rest/tempo-timesheets/4/timesheet-approval/approval-statuses" params: dict = {} if user_name: @@ -5263,6 +5552,14 @@ def tempo_get_default_link_to_project(self, project_id: T_id) -> T_resp_json: return self.get(url) def tempo_teams_get_all_teams(self, expand: Optional[str] = None) -> T_resp_json: + """Perform the Jira tempo teams get all teams operation. + + Args: + See the method signature for API request parameters. + + Returns: + Decoded Jira REST response. + """ url = "rest/tempo-teams/2/team" params: dict = {} if expand: @@ -5344,12 +5641,36 @@ def tempo_teams_update_member_information( return self.put(url, data=data) def tempo_timesheets_get_period_configuration(self) -> T_resp_json: + """Perform the Jira tempo timesheets get period configuration operation. + + Args: + See the method signature for API request parameters. + + Returns: + Decoded Jira REST response. + """ return self.get("rest/tempo-timesheets/3/period-configuration") def tempo_timesheets_get_private_configuration(self) -> T_resp_json: + """Perform the Jira tempo timesheets get private configuration operation. + + Args: + See the method signature for API request parameters. + + Returns: + Decoded Jira REST response. + """ return self.get("rest/tempo-timesheets/3/private/config") def tempo_teams_get_memberships_for_member(self, username: str) -> T_resp_json: + """Perform the Jira tempo teams get memberships for member operation. + + Args: + See the method signature for API request parameters. + + Returns: + Decoded Jira REST response. + """ return self.get(f"rest/tempo-teams/2/user/{username}/memberships") ####################################################################### diff --git a/atlassian/jira/service_management_methods.py b/atlassian/jira/service_management_methods.py index 09ce762a2..f6480852e 100644 --- a/atlassian/jira/service_management_methods.py +++ b/atlassian/jira/service_management_methods.py @@ -6,14 +6,33 @@ class JiraServiceManagementMethods: """Concrete methods for every supplied service management API operation.""" def get_assets_workspaces(self, start=None, limit=None, data=None, **request_kwargs): - """Get assets workspaces.""" + """Get assets workspaces. + + Args: + start: API path or query parameter. + limit: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = "rest/servicedeskapi/assets/workspace" params = {"start": start, "limit": limit} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def create_customer_customer_post(self, strict_conflict_status_code=None, data=None, **request_kwargs): - """Create customer.""" + """Create customer. + + Args: + strict_conflict_status_code: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = "rest/servicedeskapi/customer" params = {"strictConflictStatusCode": strict_conflict_status_code} params = {key: value for key, value in params.items() if value is not None} or None @@ -22,26 +41,62 @@ def create_customer_customer_post(self, strict_conflict_status_code=None, data=N def create_customer_customer_skip_permission_check_post( self, strict_conflict_status_code=None, data=None, **request_kwargs ): - """Create customer.""" + """Create customer. + + Args: + strict_conflict_status_code: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = "rest/servicedeskapi/customer/skip-permission-check" params = {"strictConflictStatusCode": strict_conflict_status_code} params = {key: value for key, value in params.items() if value is not None} or None return self.post(url, params=params, data=data, **request_kwargs) def revoke_portal_only_access_for_user(self, account_id, data=None, **request_kwargs): - """Revoke portal only access for user.""" + """Revoke portal only access for user. + + Args: + account_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/customer/user/{account_id}/revoke-portal-only-access" params = None return self.put(url, params=params, data=data, **request_kwargs) def get_info(self, data=None, **request_kwargs): - """Get info.""" + """Get info. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = "rest/servicedeskapi/info" params = None return self.get(url, params=params, data=data, **request_kwargs) def get_insight_workspaces(self, start=None, limit=None, data=None, **request_kwargs): - """Get insight workspaces.""" + """Get insight workspaces. + + Args: + start: API path or query parameter. + limit: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = "rest/servicedeskapi/insight/workspace" params = {"start": start, "limit": limit} params = {key: value for key, value in params.items() if value is not None} or None @@ -50,7 +105,21 @@ def get_insight_workspaces(self, start=None, limit=None, data=None, **request_kw def get_articles_knowledgebase_article_get( self, query=None, highlight=None, start=None, limit=None, cursor=None, prev=None, data=None, **request_kwargs ): - """Get articles.""" + """Get articles. + + Args: + query: API path or query parameter. + highlight: API path or query parameter. + start: API path or query parameter. + limit: API path or query parameter. + cursor: API path or query parameter. + prev: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = "rest/servicedeskapi/knowledgebase/article" params = { "query": query, @@ -64,32 +133,78 @@ def get_articles_knowledgebase_article_get( return self.get(url, params=params, data=data, **request_kwargs) def view_article(self, page_id, data=None, **request_kwargs): - """View knowledge base article.""" + """View knowledge base article. + + Args: + page_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/knowledgebase/article/view/{page_id}" params = None return self.get(url, params=params, data=data, **request_kwargs) def get_organizations_organization_get(self, start=None, limit=None, account_id=None, data=None, **request_kwargs): - """Get organizations.""" + """Get organizations. + + Args: + start: API path or query parameter. + limit: API path or query parameter. + account_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = "rest/servicedeskapi/organization" params = {"start": start, "limit": limit, "accountId": account_id} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def create_organization(self, data=None, **request_kwargs): - """Create organization.""" + """Create organization. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = "rest/servicedeskapi/organization" params = None return self.post(url, params=params, data=data, **request_kwargs) def delete_organization(self, organization_id, data=None, **request_kwargs): - """Delete organization.""" + """Delete organization. + + Args: + organization_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/organization/{organization_id}" params = None return self.delete(url, params=params, data=data, **request_kwargs) def get_organization(self, organization_id, data=None, **request_kwargs): - """Get organization.""" + """Get organization. + + Args: + organization_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/organization/{organization_id}" params = None return self.get(url, params=params, data=data, **request_kwargs) @@ -97,7 +212,16 @@ def get_organization(self, organization_id, data=None, **request_kwargs): def get_properties_keys_organization_organization_id_property_get( self, organization_id, data=None, **request_kwargs ): - """Get properties keys.""" + """Get properties keys. + + Args: + organization_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/organization/{organization_id}/property" params = None return self.get(url, params=params, data=data, **request_kwargs) @@ -105,7 +229,17 @@ def get_properties_keys_organization_organization_id_property_get( def delete_property_organization_organization_id_property_property_key_delete( self, organization_id, property_key, data=None, **request_kwargs ): - """Delete property.""" + """Delete property. + + Args: + organization_id: API path or query parameter. + property_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/organization/{organization_id}/property/{property_key}" params = None return self.delete(url, params=params, data=data, **request_kwargs) @@ -113,7 +247,17 @@ def delete_property_organization_organization_id_property_property_key_delete( def get_property_organization_organization_id_property_property_key_get( self, organization_id, property_key, data=None, **request_kwargs ): - """Get property.""" + """Get property. + + Args: + organization_id: API path or query parameter. + property_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/organization/{organization_id}/property/{property_key}" params = None return self.get(url, params=params, data=data, **request_kwargs) @@ -121,26 +265,65 @@ def get_property_organization_organization_id_property_property_key_get( def set_property_organization_organization_id_property_property_key_put( self, organization_id, property_key, data=None, **request_kwargs ): - """Set property.""" + """Set property. + + Args: + organization_id: API path or query parameter. + property_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/organization/{organization_id}/property/{property_key}" params = None return self.put(url, params=params, data=data, **request_kwargs) def remove_users_from_organization(self, organization_id, data=None, **request_kwargs): - """Remove users from organization.""" + """Remove users from organization. + + Args: + organization_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/organization/{organization_id}/user" params = None return self.delete(url, params=params, data=data, **request_kwargs) def get_users_in_organization(self, organization_id, start=None, limit=None, data=None, **request_kwargs): - """Get users in organization.""" + """Get users in organization. + + Args: + organization_id: API path or query parameter. + start: API path or query parameter. + limit: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/organization/{organization_id}/user" params = {"start": start, "limit": limit} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def add_users_to_organization(self, organization_id, data=None, **request_kwargs): - """Add users to organization.""" + """Add users to organization. + + Args: + organization_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/organization/{organization_id}/user" params = None return self.post(url, params=params, data=data, **request_kwargs) @@ -160,7 +343,25 @@ def get_customer_requests( data=None, **request_kwargs, ): - """Get customer requests.""" + """Get customer requests. + + Args: + search_term: API path or query parameter. + request_ownership: API path or query parameter. + request_status: API path or query parameter. + approval_status: API path or query parameter. + organization_id: API path or query parameter. + service_desk_id: API path or query parameter. + request_type_id: API path or query parameter. + expand: API path or query parameter. + start: API path or query parameter. + limit: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = "rest/servicedeskapi/request" params = { "searchTerm": search_term, @@ -178,64 +379,161 @@ def get_customer_requests( return self.get(url, params=params, data=data, **request_kwargs) def create_customer_request(self, data=None, **request_kwargs): - """Create customer request.""" + """Create customer request. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = "rest/servicedeskapi/request" params = None return self.post(url, params=params, data=data, **request_kwargs) def validate_customer_request(self, data=None, **request_kwargs): - """Validate customer request.""" + """Validate customer request. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = "rest/servicedeskapi/request/validate" params = None return self.post(url, params=params, data=data, **request_kwargs) def get_customer_request_by_id_or_key(self, issue_id_or_key, expand=None, data=None, **request_kwargs): - """Get customer request by id or key.""" + """Get customer request by id or key. + + Args: + issue_id_or_key: API path or query parameter. + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/request/{issue_id_or_key}" params = {"expand": expand} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def get_approvals(self, issue_id_or_key, start=None, limit=None, data=None, **request_kwargs): - """Get approvals.""" + """Get approvals. + + Args: + issue_id_or_key: API path or query parameter. + start: API path or query parameter. + limit: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/request/{issue_id_or_key}/approval" params = {"start": start, "limit": limit} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def get_approval_by_id(self, issue_id_or_key, approval_id, data=None, **request_kwargs): - """Get approval by id.""" + """Get approval by id. + + Args: + issue_id_or_key: API path or query parameter. + approval_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/request/{issue_id_or_key}/approval/{approval_id}" params = None return self.get(url, params=params, data=data, **request_kwargs) def answer_approval(self, issue_id_or_key, approval_id, data=None, **request_kwargs): - """Answer approval.""" + """Answer approval. + + Args: + issue_id_or_key: API path or query parameter. + approval_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/request/{issue_id_or_key}/approval/{approval_id}" params = None return self.post(url, params=params, data=data, **request_kwargs) def get_attachments_for_request(self, issue_id_or_key, start=None, limit=None, data=None, **request_kwargs): - """Get attachments for request.""" + """Get attachments for request. + + Args: + issue_id_or_key: API path or query parameter. + start: API path or query parameter. + limit: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/request/{issue_id_or_key}/attachment" params = {"start": start, "limit": limit} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def create_comment_with_attachment(self, issue_id_or_key, data=None, **request_kwargs): - """Create comment with attachment.""" + """Create comment with attachment. + + Args: + issue_id_or_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/request/{issue_id_or_key}/attachment" params = None return self.post(url, params=params, data=data, **request_kwargs) def get_attachment_content(self, issue_id_or_key, attachment_id, data=None, **request_kwargs): - """Get attachment content.""" + """Get attachment content. + + Args: + issue_id_or_key: API path or query parameter. + attachment_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/request/{issue_id_or_key}/attachment/{attachment_id}" params = None return self.get(url, params=params, data=data, **request_kwargs) def get_attachment_thumbnail(self, issue_id_or_key, attachment_id, data=None, **request_kwargs): - """Get attachment thumbnail.""" + """Get attachment thumbnail. + + Args: + issue_id_or_key: API path or query parameter. + attachment_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/request/{issue_id_or_key}/attachment/{attachment_id}/thumbnail" params = None return self.get(url, params=params, data=data, **request_kwargs) @@ -251,116 +549,297 @@ def get_request_comments( data=None, **request_kwargs, ): - """Get request comments.""" + """Get request comments. + + Args: + issue_id_or_key: API path or query parameter. + public: API path or query parameter. + internal: API path or query parameter. + expand: API path or query parameter. + start: API path or query parameter. + limit: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/request/{issue_id_or_key}/comment" params = {"public": public, "internal": internal, "expand": expand, "start": start, "limit": limit} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def create_request_comment(self, issue_id_or_key, data=None, **request_kwargs): - """Create request comment.""" + """Create request comment. + + Args: + issue_id_or_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/request/{issue_id_or_key}/comment" params = None return self.post(url, params=params, data=data, **request_kwargs) def get_request_comment_by_id(self, issue_id_or_key, comment_id, expand=None, data=None, **request_kwargs): - """Get request comment by id.""" + """Get request comment by id. + + Args: + issue_id_or_key: API path or query parameter. + comment_id: API path or query parameter. + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/request/{issue_id_or_key}/comment/{comment_id}" params = {"expand": expand} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def get_comment_attachments(self, issue_id_or_key, comment_id, start=None, limit=None, data=None, **request_kwargs): - """Get comment attachments.""" + """Get comment attachments. + + Args: + issue_id_or_key: API path or query parameter. + comment_id: API path or query parameter. + start: API path or query parameter. + limit: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/request/{issue_id_or_key}/comment/{comment_id}/attachment" params = {"start": start, "limit": limit} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def unsubscribe(self, issue_id_or_key, data=None, **request_kwargs): - """Unsubscribe.""" + """Unsubscribe. + + Args: + issue_id_or_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/request/{issue_id_or_key}/notification" params = None return self.delete(url, params=params, data=data, **request_kwargs) def get_subscription_status(self, issue_id_or_key, data=None, **request_kwargs): - """Get subscription status.""" + """Get subscription status. + + Args: + issue_id_or_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/request/{issue_id_or_key}/notification" params = None return self.get(url, params=params, data=data, **request_kwargs) def subscribe(self, issue_id_or_key, data=None, **request_kwargs): - """Subscribe.""" + """Subscribe. + + Args: + issue_id_or_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/request/{issue_id_or_key}/notification" params = None return self.put(url, params=params, data=data, **request_kwargs) def remove_request_participants(self, issue_id_or_key, data=None, **request_kwargs): - """Remove request participants.""" + """Remove request participants. + + Args: + issue_id_or_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/request/{issue_id_or_key}/participant" params = None return self.delete(url, params=params, data=data, **request_kwargs) def get_request_participants(self, issue_id_or_key, start=None, limit=None, data=None, **request_kwargs): - """Get request participants.""" + """Get request participants. + + Args: + issue_id_or_key: API path or query parameter. + start: API path or query parameter. + limit: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/request/{issue_id_or_key}/participant" params = {"start": start, "limit": limit} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def add_request_participants(self, issue_id_or_key, data=None, **request_kwargs): - """Add request participants.""" + """Add request participants. + + Args: + issue_id_or_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/request/{issue_id_or_key}/participant" params = None return self.post(url, params=params, data=data, **request_kwargs) def get_sla_information(self, issue_id_or_key, start=None, limit=None, data=None, **request_kwargs): - """Get sla information.""" + """Get sla information. + + Args: + issue_id_or_key: API path or query parameter. + start: API path or query parameter. + limit: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/request/{issue_id_or_key}/sla" params = {"start": start, "limit": limit} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def get_sla_information_by_id(self, issue_id_or_key, sla_metric_id, data=None, **request_kwargs): - """Get sla information by id.""" + """Get sla information by id. + + Args: + issue_id_or_key: API path or query parameter. + sla_metric_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/request/{issue_id_or_key}/sla/{sla_metric_id}" params = None return self.get(url, params=params, data=data, **request_kwargs) def get_customer_request_status(self, issue_id_or_key, start=None, limit=None, data=None, **request_kwargs): - """Get customer request status.""" + """Get customer request status. + + Args: + issue_id_or_key: API path or query parameter. + start: API path or query parameter. + limit: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/request/{issue_id_or_key}/status" params = {"start": start, "limit": limit} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def get_customer_transitions(self, issue_id_or_key, start=None, limit=None, data=None, **request_kwargs): - """Get customer transitions.""" + """Get customer transitions. + + Args: + issue_id_or_key: API path or query parameter. + start: API path or query parameter. + limit: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/request/{issue_id_or_key}/transition" params = {"start": start, "limit": limit} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def perform_customer_transition(self, issue_id_or_key, data=None, **request_kwargs): - """Perform customer transition.""" + """Perform customer transition. + + Args: + issue_id_or_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/request/{issue_id_or_key}/transition" params = None return self.post(url, params=params, data=data, **request_kwargs) def delete_feedback(self, request_id_or_key, data=None, **request_kwargs): - """Delete feedback.""" + """Delete feedback. + + Args: + request_id_or_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/request/{request_id_or_key}/feedback" params = None return self.delete(url, params=params, data=data, **request_kwargs) def get_feedback(self, request_id_or_key, data=None, **request_kwargs): - """Get feedback.""" + """Get feedback. + + Args: + request_id_or_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/request/{request_id_or_key}/feedback" params = None return self.get(url, params=params, data=data, **request_kwargs) def post_feedback(self, request_id_or_key, data=None, **request_kwargs): - """Post feedback.""" + """Post feedback. + + Args: + request_id_or_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/request/{request_id_or_key}/feedback" params = None return self.post(url, params=params, data=data, **request_kwargs) @@ -377,7 +856,22 @@ def get_all_request_types( data=None, **request_kwargs, ): - """Get all request types.""" + """Get all request types. + + Args: + search_query: API path or query parameter. + service_desk_id: API path or query parameter. + start: API path or query parameter. + limit: API path or query parameter. + expand: API path or query parameter. + include_hidden_request_types_in_search: API path or query parameter. + restriction_status: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = "rest/servicedeskapi/requesttype" params = { "searchQuery": search_query, @@ -392,45 +886,113 @@ def get_all_request_types( return self.get(url, params=params, data=data, **request_kwargs) def get_service_desks(self, start=None, limit=None, data=None, **request_kwargs): - """Get service desks.""" + """Get service desks. + + Args: + start: API path or query parameter. + limit: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = "rest/servicedeskapi/servicedesk" params = {"start": start, "limit": limit} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def get_service_desk_by_id(self, service_desk_id, data=None, **request_kwargs): - """Get service desk by id.""" + """Get service desk by id. + + Args: + service_desk_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/servicedesk/{service_desk_id}" params = None return self.get(url, params=params, data=data, **request_kwargs) def attach_temporary_file(self, service_desk_id, data=None, **request_kwargs): - """Attach temporary file.""" + """Attach temporary file. + + Args: + service_desk_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/servicedesk/{service_desk_id}/attachTemporaryFile" params = None return self.post(url, params=params, data=data, **request_kwargs) def remove_customers(self, service_desk_id, data=None, **request_kwargs): - """Remove customers.""" + """Remove customers. + + Args: + service_desk_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/servicedesk/{service_desk_id}/customer" params = None return self.delete(url, params=params, data=data, **request_kwargs) def get_customers(self, service_desk_id, query=None, start=None, limit=None, data=None, **request_kwargs): - """Get customers.""" + """Get customers. + + Args: + service_desk_id: API path or query parameter. + query: API path or query parameter. + start: API path or query parameter. + limit: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/servicedesk/{service_desk_id}/customer" params = {"query": query, "start": start, "limit": limit} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def add_customers_servicedesk_service_desk_id_customer_post(self, service_desk_id, data=None, **request_kwargs): - """Add customers.""" + """Add customers. + + Args: + service_desk_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/servicedesk/{service_desk_id}/customer" params = None return self.post(url, params=params, data=data, **request_kwargs) def invite_customer(self, service_desk_id, strict_conflict_status_code=None, data=None, **request_kwargs): - """Invite customer.""" + """Invite customer. + + Args: + service_desk_id: API path or query parameter. + strict_conflict_status_code: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/servicedesk/{service_desk_id}/customer/invite" params = {"strictConflictStatusCode": strict_conflict_status_code} params = {key: value for key, value in params.items() if value is not None} or None @@ -439,7 +1001,16 @@ def invite_customer(self, service_desk_id, strict_conflict_status_code=None, dat def add_customers_servicedesk_service_desk_id_customer_skip_permission_check_post( self, service_desk_id, data=None, **request_kwargs ): - """Add customers.""" + """Add customers. + + Args: + service_desk_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/servicedesk/{service_desk_id}/customer/skip-permission-check" params = None return self.post(url, params=params, data=data, **request_kwargs) @@ -456,7 +1027,22 @@ def get_articles_servicedesk_service_desk_id_knowledgebase_article_get( data=None, **request_kwargs, ): - """Get articles.""" + """Get articles. + + Args: + service_desk_id: API path or query parameter. + query: API path or query parameter. + highlight: API path or query parameter. + start: API path or query parameter. + limit: API path or query parameter. + cursor: API path or query parameter. + prev: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/servicedesk/{service_desk_id}/knowledgebase/article" params = { "query": query, @@ -470,7 +1056,16 @@ def get_articles_servicedesk_service_desk_id_knowledgebase_article_get( return self.get(url, params=params, data=data, **request_kwargs) def remove_organization(self, service_desk_id, data=None, **request_kwargs): - """Remove organization.""" + """Remove organization. + + Args: + service_desk_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/servicedesk/{service_desk_id}/organization" params = None return self.delete(url, params=params, data=data, **request_kwargs) @@ -478,34 +1073,90 @@ def remove_organization(self, service_desk_id, data=None, **request_kwargs): def get_organizations_servicedesk_service_desk_id_organization_get( self, service_desk_id, start=None, limit=None, account_id=None, data=None, **request_kwargs ): - """Get organizations.""" + """Get organizations. + + Args: + service_desk_id: API path or query parameter. + start: API path or query parameter. + limit: API path or query parameter. + account_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/servicedesk/{service_desk_id}/organization" params = {"start": start, "limit": limit, "accountId": account_id} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def add_organization(self, service_desk_id, data=None, **request_kwargs): - """Add organization.""" + """Add organization. + + Args: + service_desk_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/servicedesk/{service_desk_id}/organization" params = None return self.post(url, params=params, data=data, **request_kwargs) def get_queues(self, service_desk_id, include_count=None, start=None, limit=None, data=None, **request_kwargs): - """Get queues.""" + """Get queues. + + Args: + service_desk_id: API path or query parameter. + include_count: API path or query parameter. + start: API path or query parameter. + limit: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/servicedesk/{service_desk_id}/queue" params = {"includeCount": include_count, "start": start, "limit": limit} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def get_queue(self, service_desk_id, queue_id, include_count=None, data=None, **request_kwargs): - """Get queue.""" + """Get queue. + + Args: + service_desk_id: API path or query parameter. + queue_id: API path or query parameter. + include_count: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/servicedesk/{service_desk_id}/queue/{queue_id}" params = {"includeCount": include_count} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def get_issues_in_queue(self, service_desk_id, queue_id, start=None, limit=None, data=None, **request_kwargs): - """Get issues in queue.""" + """Get issues in queue. + + Args: + service_desk_id: API path or query parameter. + queue_id: API path or query parameter. + start: API path or query parameter. + limit: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/servicedesk/{service_desk_id}/queue/{queue_id}/issue" params = {"start": start, "limit": limit} params = {key: value for key, value in params.items() if value is not None} or None @@ -524,7 +1175,23 @@ def get_request_types( data=None, **request_kwargs, ): - """Get request types.""" + """Get request types. + + Args: + service_desk_id: API path or query parameter. + group_id: API path or query parameter. + expand: API path or query parameter. + search_query: API path or query parameter. + start: API path or query parameter. + limit: API path or query parameter. + include_hidden_request_types_in_search: API path or query parameter. + restriction_status: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/servicedesk/{service_desk_id}/requesttype" params = { "groupId": group_id, @@ -539,32 +1206,82 @@ def get_request_types( return self.get(url, params=params, data=data, **request_kwargs) def create_request_type(self, service_desk_id, data=None, **request_kwargs): - """Create request type.""" + """Create request type. + + Args: + service_desk_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/servicedesk/{service_desk_id}/requesttype" params = None return self.post(url, params=params, data=data, **request_kwargs) def check_request_type_permissions(self, service_desk_id, data=None, **request_kwargs): - """Check request type permissions.""" + """Check request type permissions. + + Args: + service_desk_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/servicedesk/{service_desk_id}/requesttype/permissions/check" params = None return self.post(url, params=params, data=data, **request_kwargs) def delete_request_type(self, service_desk_id, request_type_id, data=None, **request_kwargs): - """Delete request type.""" + """Delete request type. + + Args: + service_desk_id: API path or query parameter. + request_type_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/servicedesk/{service_desk_id}/requesttype/{request_type_id}" params = None return self.delete(url, params=params, data=data, **request_kwargs) def get_request_type_by_id(self, service_desk_id, request_type_id, expand=None, data=None, **request_kwargs): - """Get request type by id.""" + """Get request type by id. + + Args: + service_desk_id: API path or query parameter. + request_type_id: API path or query parameter. + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/servicedesk/{service_desk_id}/requesttype/{request_type_id}" params = {"expand": expand} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def get_request_type_fields(self, service_desk_id, request_type_id, expand=None, data=None, **request_kwargs): - """Get request type fields.""" + """Get request type fields. + + Args: + service_desk_id: API path or query parameter. + request_type_id: API path or query parameter. + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/servicedesk/{service_desk_id}/requesttype/{request_type_id}/field" params = {"expand": expand} params = {key: value for key, value in params.items() if value is not None} or None @@ -573,7 +1290,17 @@ def get_request_type_fields(self, service_desk_id, request_type_id, expand=None, def get_properties_keys_servicedesk_service_desk_id_requesttype_request_type_id_property_get( self, request_type_id, service_desk_id, data=None, **request_kwargs ): - """Get properties keys.""" + """Get properties keys. + + Args: + request_type_id: API path or query parameter. + service_desk_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/servicedesk/{service_desk_id}/requesttype/{request_type_id}/property" params = None return self.get(url, params=params, data=data, **request_kwargs) @@ -581,7 +1308,18 @@ def get_properties_keys_servicedesk_service_desk_id_requesttype_request_type_id_ def delete_property_servicedesk_service_desk_id_requesttype_request_type_id_property_property_key_delete( self, service_desk_id, request_type_id, property_key, data=None, **request_kwargs ): - """Delete property.""" + """Delete property. + + Args: + service_desk_id: API path or query parameter. + request_type_id: API path or query parameter. + property_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/servicedesk/{service_desk_id}/requesttype/{request_type_id}/property/{property_key}" params = None return self.delete(url, params=params, data=data, **request_kwargs) @@ -589,7 +1327,18 @@ def delete_property_servicedesk_service_desk_id_requesttype_request_type_id_prop def get_property_servicedesk_service_desk_id_requesttype_request_type_id_property_property_key_get( self, service_desk_id, request_type_id, property_key, data=None, **request_kwargs ): - """Get property.""" + """Get property. + + Args: + service_desk_id: API path or query parameter. + request_type_id: API path or query parameter. + property_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/servicedesk/{service_desk_id}/requesttype/{request_type_id}/property/{property_key}" params = None return self.get(url, params=params, data=data, **request_kwargs) @@ -597,13 +1346,35 @@ def get_property_servicedesk_service_desk_id_requesttype_request_type_id_propert def set_property_servicedesk_service_desk_id_requesttype_request_type_id_property_property_key_put( self, service_desk_id, request_type_id, property_key, data=None, **request_kwargs ): - """Set property.""" + """Set property. + + Args: + service_desk_id: API path or query parameter. + request_type_id: API path or query parameter. + property_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/servicedesk/{service_desk_id}/requesttype/{request_type_id}/property/{property_key}" params = None return self.put(url, params=params, data=data, **request_kwargs) def get_request_type_groups(self, service_desk_id, start=None, limit=None, data=None, **request_kwargs): - """Get request type groups.""" + """Get request type groups. + + Args: + service_desk_id: API path or query parameter. + start: API path or query parameter. + limit: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/servicedeskapi/servicedesk/{service_desk_id}/requesttypegroup" params = {"start": start, "limit": limit} params = {key: value for key, value in params.items() if value is not None} or None diff --git a/atlassian/jira/software_methods.py b/atlassian/jira/software_methods.py index 2a17c5fa0..cebec5851 100644 --- a/atlassian/jira/software_methods.py +++ b/atlassian/jira/software_methods.py @@ -6,13 +6,30 @@ class JiraSoftwareMethods: """Concrete methods for every supplied software API operation.""" def move_issues_to_backlog(self, data=None, **request_kwargs): - """Move issues to backlog.""" + """Move issues to backlog. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = "rest/agile/1.0/backlog/issue" params = None return self.post(url, params=params, data=data, **request_kwargs) def move_issues_to_backlog_for_board(self, board_id, data=None, **request_kwargs): - """Move issues to backlog for board.""" + """Move issues to backlog for board. + + Args: + board_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/agile/1.0/backlog/{board_id}/issue" params = None return self.post(url, params=params, data=data, **request_kwargs) @@ -35,7 +52,28 @@ def get_all_boards( data=None, **request_kwargs, ): - """Get all boards.""" + """Get all boards. + + Args: + start_at: API path or query parameter. + max_results: API path or query parameter. + type: API path or query parameter. + name: API path or query parameter. + project_key_or_id: API path or query parameter. + account_id_location: API path or query parameter. + project_location: API path or query parameter. + include_private: API path or query parameter. + negate_location_filtering: API path or query parameter. + order_by: API path or query parameter. + expand: API path or query parameter. + project_type_location: API path or query parameter. + filter_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = "rest/agile/1.0/board" params = { "startAt": start_at, @@ -56,26 +94,63 @@ def get_all_boards( return self.get(url, params=params, data=data, **request_kwargs) def create_board(self, data=None, **request_kwargs): - """Create board.""" + """Create board. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = "rest/agile/1.0/board" params = None return self.post(url, params=params, data=data, **request_kwargs) def get_board_by_filter_id(self, filter_id, start_at=None, max_results=None, data=None, **request_kwargs): - """Get board by filter id.""" + """Get board by filter id. + + Args: + filter_id: API path or query parameter. + start_at: API path or query parameter. + max_results: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/agile/1.0/board/filter/{filter_id}" params = {"startAt": start_at, "maxResults": max_results} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def delete_board(self, board_id, data=None, **request_kwargs): - """Delete board.""" + """Delete board. + + Args: + board_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/agile/1.0/board/{board_id}" params = None return self.delete(url, params=params, data=data, **request_kwargs) def get_board(self, board_id, data=None, **request_kwargs): - """Get board.""" + """Get board. + + Args: + board_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/agile/1.0/board/{board_id}" params = None return self.get(url, params=params, data=data, **request_kwargs) @@ -92,7 +167,22 @@ def get_issues_for_backlog( data=None, **request_kwargs, ): - """Get issues for backlog.""" + """Get issues for backlog. + + Args: + board_id: API path or query parameter. + start_at: API path or query parameter. + max_results: API path or query parameter. + jql: API path or query parameter. + validate_query: API path or query parameter. + fields: API path or query parameter. + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/agile/1.0/board/{board_id}/backlog" params = { "startAt": start_at, @@ -118,7 +208,23 @@ def get_issues_for_backlog_jsis( data=None, **request_kwargs, ): - """Get issues for backlog (enhanced).""" + """Get issues for backlog (enhanced). + + Args: + board_id: API path or query parameter. + next_page_token: API path or query parameter. + max_results: API path or query parameter. + reconcile_issues: API path or query parameter. + jql: API path or query parameter. + validate_query: API path or query parameter. + fields: API path or query parameter. + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/software/1.0/board/{board_id}/backlog" params = { "nextPageToken": next_page_token, @@ -133,20 +239,51 @@ def get_issues_for_backlog_jsis( return self.get(url, params=params, data=data, **request_kwargs) def get_approximate_issue_count_for_backlog(self, board_id, jql=None, data=None, **request_kwargs): - """Get approximate issue count for backlog.""" + """Get approximate issue count for backlog. + + Args: + board_id: API path or query parameter. + jql: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/software/1.0/board/{board_id}/backlog/approximate-count" params = {"jql": jql} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def get_configuration(self, board_id, data=None, **request_kwargs): - """Get configuration.""" + """Get configuration. + + Args: + board_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/agile/1.0/board/{board_id}/configuration" params = None return self.get(url, params=params, data=data, **request_kwargs) def get_epics(self, board_id, start_at=None, max_results=None, done=None, data=None, **request_kwargs): - """Get epics.""" + """Get epics. + + Args: + board_id: API path or query parameter. + start_at: API path or query parameter. + max_results: API path or query parameter. + done: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/agile/1.0/board/{board_id}/epic" params = {"startAt": start_at, "maxResults": max_results, "done": done} params = {key: value for key, value in params.items() if value is not None} or None @@ -164,7 +301,22 @@ def get_issues_without_epic_for_board( data=None, **request_kwargs, ): - """Get issues without epic for board.""" + """Get issues without epic for board. + + Args: + board_id: API path or query parameter. + start_at: API path or query parameter. + max_results: API path or query parameter. + jql: API path or query parameter. + validate_query: API path or query parameter. + fields: API path or query parameter. + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/agile/1.0/board/{board_id}/epic/none/issue" params = { "startAt": start_at, @@ -190,7 +342,23 @@ def get_issues_without_epic_for_board_jsis( data=None, **request_kwargs, ): - """Get issues without epic for board (enhanced).""" + """Get issues without epic for board (enhanced). + + Args: + board_id: API path or query parameter. + next_page_token: API path or query parameter. + max_results: API path or query parameter. + reconcile_issues: API path or query parameter. + jql: API path or query parameter. + validate_query: API path or query parameter. + fields: API path or query parameter. + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/software/1.0/board/{board_id}/epic/none/issue" params = { "nextPageToken": next_page_token, @@ -217,7 +385,23 @@ def get_board_issues_for_epic( data=None, **request_kwargs, ): - """Get board issues for epic.""" + """Get board issues for epic. + + Args: + board_id: API path or query parameter. + epic_id: API path or query parameter. + start_at: API path or query parameter. + max_results: API path or query parameter. + jql: API path or query parameter. + validate_query: API path or query parameter. + fields: API path or query parameter. + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/agile/1.0/board/{board_id}/epic/{epic_id}/issue" params = { "startAt": start_at, @@ -244,7 +428,24 @@ def get_board_issues_for_epic_jsis( data=None, **request_kwargs, ): - """Get board issues for epic (enhanced).""" + """Get board issues for epic (enhanced). + + Args: + board_id: API path or query parameter. + epic_id: API path or query parameter. + next_page_token: API path or query parameter. + max_results: API path or query parameter. + reconcile_issues: API path or query parameter. + jql: API path or query parameter. + validate_query: API path or query parameter. + fields: API path or query parameter. + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/software/1.0/board/{board_id}/epic/{epic_id}/issue" params = { "nextPageToken": next_page_token, @@ -259,13 +460,31 @@ def get_board_issues_for_epic_jsis( return self.get(url, params=params, data=data, **request_kwargs) def get_features_for_board(self, board_id, data=None, **request_kwargs): - """Get features for board.""" + """Get features for board. + + Args: + board_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/agile/1.0/board/{board_id}/features" params = None return self.get(url, params=params, data=data, **request_kwargs) def toggle_features(self, board_id, data=None, **request_kwargs): - """Toggle features.""" + """Toggle features. + + Args: + board_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/agile/1.0/board/{board_id}/features" params = None return self.put(url, params=params, data=data, **request_kwargs) @@ -282,7 +501,22 @@ def get_issues_for_board( data=None, **request_kwargs, ): - """Get issues for board.""" + """Get issues for board. + + Args: + board_id: API path or query parameter. + start_at: API path or query parameter. + max_results: API path or query parameter. + jql: API path or query parameter. + validate_query: API path or query parameter. + fields: API path or query parameter. + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/agile/1.0/board/{board_id}/issue" params = { "startAt": start_at, @@ -296,7 +530,16 @@ def get_issues_for_board( return self.get(url, params=params, data=data, **request_kwargs) def move_issues_to_board(self, board_id, data=None, **request_kwargs): - """Move issues to board.""" + """Move issues to board. + + Args: + board_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/agile/1.0/board/{board_id}/issue" params = None return self.post(url, params=params, data=data, **request_kwargs) @@ -314,7 +557,23 @@ def get_issues_for_board_jsis( data=None, **request_kwargs, ): - """Get issues for board (enhanced).""" + """Get issues for board (enhanced). + + Args: + board_id: API path or query parameter. + next_page_token: API path or query parameter. + max_results: API path or query parameter. + reconcile_issues: API path or query parameter. + jql: API path or query parameter. + validate_query: API path or query parameter. + fields: API path or query parameter. + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/software/1.0/board/{board_id}/issue" params = { "nextPageToken": next_page_token, @@ -329,70 +588,181 @@ def get_issues_for_board_jsis( return self.get(url, params=params, data=data, **request_kwargs) def get_approximate_issue_count_for_board(self, board_id, jql=None, data=None, **request_kwargs): - """Get approximate issue count for board.""" + """Get approximate issue count for board. + + Args: + board_id: API path or query parameter. + jql: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/software/1.0/board/{board_id}/issue/approximate-count" params = {"jql": jql} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def get_projects(self, board_id, start_at=None, max_results=None, data=None, **request_kwargs): - """Get projects.""" + """Get projects. + + Args: + board_id: API path or query parameter. + start_at: API path or query parameter. + max_results: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/agile/1.0/board/{board_id}/project" params = {"startAt": start_at, "maxResults": max_results} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def get_projects_full(self, board_id, data=None, **request_kwargs): - """Get projects full.""" + """Get projects full. + + Args: + board_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/agile/1.0/board/{board_id}/project/full" params = None return self.get(url, params=params, data=data, **request_kwargs) def get_board_property_keys(self, board_id, data=None, **request_kwargs): - """Get board property keys.""" + """Get board property keys. + + Args: + board_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/agile/1.0/board/{board_id}/properties" params = None return self.get(url, params=params, data=data, **request_kwargs) def delete_board_property(self, board_id, property_key, data=None, **request_kwargs): - """Delete board property.""" + """Delete board property. + + Args: + board_id: API path or query parameter. + property_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/agile/1.0/board/{board_id}/properties/{property_key}" params = None return self.delete(url, params=params, data=data, **request_kwargs) def get_board_property(self, board_id, property_key, data=None, **request_kwargs): - """Get board property.""" + """Get board property. + + Args: + board_id: API path or query parameter. + property_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/agile/1.0/board/{board_id}/properties/{property_key}" params = None return self.get(url, params=params, data=data, **request_kwargs) def set_board_property(self, board_id, property_key, data=None, **request_kwargs): - """Set board property.""" + """Set board property. + + Args: + board_id: API path or query parameter. + property_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/agile/1.0/board/{board_id}/properties/{property_key}" params = None return self.put(url, params=params, data=data, **request_kwargs) def get_all_quick_filters(self, board_id, start_at=None, max_results=None, data=None, **request_kwargs): - """Get all quick filters.""" + """Get all quick filters. + + Args: + board_id: API path or query parameter. + start_at: API path or query parameter. + max_results: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/agile/1.0/board/{board_id}/quickfilter" params = {"startAt": start_at, "maxResults": max_results} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def get_quick_filter(self, board_id, quick_filter_id, data=None, **request_kwargs): - """Get quick filter.""" + """Get quick filter. + + Args: + board_id: API path or query parameter. + quick_filter_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/agile/1.0/board/{board_id}/quickfilter/{quick_filter_id}" params = None return self.get(url, params=params, data=data, **request_kwargs) def get_reports_for_board(self, board_id, data=None, **request_kwargs): - """Get reports for board.""" + """Get reports for board. + + Args: + board_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/agile/1.0/board/{board_id}/reports" params = None return self.get(url, params=params, data=data, **request_kwargs) def get_all_sprints(self, board_id, start_at=None, max_results=None, state=None, data=None, **request_kwargs): - """Get all sprints.""" + """Get all sprints. + + Args: + board_id: API path or query parameter. + start_at: API path or query parameter. + max_results: API path or query parameter. + state: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/agile/1.0/board/{board_id}/sprint" params = {"startAt": start_at, "maxResults": max_results, "state": state} params = {key: value for key, value in params.items() if value is not None} or None @@ -411,7 +781,23 @@ def get_board_issues_for_sprint( data=None, **request_kwargs, ): - """Get board issues for sprint.""" + """Get board issues for sprint. + + Args: + board_id: API path or query parameter. + sprint_id: API path or query parameter. + start_at: API path or query parameter. + max_results: API path or query parameter. + jql: API path or query parameter. + validate_query: API path or query parameter. + fields: API path or query parameter. + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/agile/1.0/board/{board_id}/sprint/{sprint_id}/issue" params = { "startAt": start_at, @@ -438,7 +824,24 @@ def get_board_issues_for_sprint_jsis( data=None, **request_kwargs, ): - """Get board issues for sprint (enhanced).""" + """Get board issues for sprint (enhanced). + + Args: + board_id: API path or query parameter. + sprint_id: API path or query parameter. + next_page_token: API path or query parameter. + max_results: API path or query parameter. + reconcile_issues: API path or query parameter. + jql: API path or query parameter. + validate_query: API path or query parameter. + fields: API path or query parameter. + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/software/1.0/board/{board_id}/sprint/{sprint_id}/issue" params = { "nextPageToken": next_page_token, @@ -453,7 +856,19 @@ def get_board_issues_for_sprint_jsis( return self.get(url, params=params, data=data, **request_kwargs) def get_all_versions(self, board_id, start_at=None, max_results=None, released=None, data=None, **request_kwargs): - """Get all versions.""" + """Get all versions. + + Args: + board_id: API path or query parameter. + start_at: API path or query parameter. + max_results: API path or query parameter. + released: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/agile/1.0/board/{board_id}/version" params = {"startAt": start_at, "maxResults": max_results, "released": released} params = {key: value for key, value in params.items() if value is not None} or None @@ -470,7 +885,21 @@ def get_issues_without_epic( data=None, **request_kwargs, ): - """Get issues without epic.""" + """Get issues without epic. + + Args: + start_at: API path or query parameter. + max_results: API path or query parameter. + jql: API path or query parameter. + validate_query: API path or query parameter. + fields: API path or query parameter. + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = "rest/agile/1.0/epic/none/issue" params = { "startAt": start_at, @@ -484,7 +913,15 @@ def get_issues_without_epic( return self.get(url, params=params, data=data, **request_kwargs) def remove_issues_from_epic(self, data=None, **request_kwargs): - """Remove issues from epic.""" + """Remove issues from epic. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = "rest/agile/1.0/epic/none/issue" params = None return self.post(url, params=params, data=data, **request_kwargs) @@ -501,7 +938,22 @@ def get_issues_without_epic_jsis( data=None, **request_kwargs, ): - """Get issues without epic (enhanced).""" + """Get issues without epic (enhanced). + + Args: + next_page_token: API path or query parameter. + max_results: API path or query parameter. + reconcile_issues: API path or query parameter. + jql: API path or query parameter. + validate_query: API path or query parameter. + fields: API path or query parameter. + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = "rest/software/1.0/epic/none/issue" params = { "nextPageToken": next_page_token, @@ -516,13 +968,31 @@ def get_issues_without_epic_jsis( return self.get(url, params=params, data=data, **request_kwargs) def get_epic(self, epic_id_or_key, data=None, **request_kwargs): - """Get epic.""" + """Get epic. + + Args: + epic_id_or_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/agile/1.0/epic/{epic_id_or_key}" params = None return self.get(url, params=params, data=data, **request_kwargs) def partially_update_epic(self, epic_id_or_key, data=None, **request_kwargs): - """Partially update epic.""" + """Partially update epic. + + Args: + epic_id_or_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/agile/1.0/epic/{epic_id_or_key}" params = None return self.post(url, params=params, data=data, **request_kwargs) @@ -539,7 +1009,22 @@ def get_issues_for_epic( data=None, **request_kwargs, ): - """Get issues for epic.""" + """Get issues for epic. + + Args: + epic_id_or_key: API path or query parameter. + start_at: API path or query parameter. + max_results: API path or query parameter. + jql: API path or query parameter. + validate_query: API path or query parameter. + fields: API path or query parameter. + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/agile/1.0/epic/{epic_id_or_key}/issue" params = { "startAt": start_at, @@ -553,7 +1038,16 @@ def get_issues_for_epic( return self.get(url, params=params, data=data, **request_kwargs) def move_issues_to_epic(self, epic_id_or_key, data=None, **request_kwargs): - """Move issues to epic.""" + """Move issues to epic. + + Args: + epic_id_or_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/agile/1.0/epic/{epic_id_or_key}/issue" params = None return self.post(url, params=params, data=data, **request_kwargs) @@ -571,7 +1065,23 @@ def get_issues_for_epic_jsis( data=None, **request_kwargs, ): - """Get issues for epic (enhanced).""" + """Get issues for epic (enhanced). + + Args: + epic_id_or_key: API path or query parameter. + next_page_token: API path or query parameter. + max_results: API path or query parameter. + reconcile_issues: API path or query parameter. + jql: API path or query parameter. + validate_query: API path or query parameter. + fields: API path or query parameter. + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/software/1.0/epic/{epic_id_or_key}/issue" params = { "nextPageToken": next_page_token, @@ -586,64 +1096,157 @@ def get_issues_for_epic_jsis( return self.get(url, params=params, data=data, **request_kwargs) def rank_epics(self, epic_id_or_key, data=None, **request_kwargs): - """Rank epics.""" + """Rank epics. + + Args: + epic_id_or_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/agile/1.0/epic/{epic_id_or_key}/rank" params = None return self.put(url, params=params, data=data, **request_kwargs) def rank_issues(self, data=None, **request_kwargs): - """Rank issues.""" + """Rank issues. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = "rest/agile/1.0/issue/rank" params = None return self.put(url, params=params, data=data, **request_kwargs) def get_issue(self, issue_id_or_key, fields=None, expand=None, update_history=None, data=None, **request_kwargs): - """Get issue.""" + """Get issue. + + Args: + issue_id_or_key: API path or query parameter. + fields: API path or query parameter. + expand: API path or query parameter. + update_history: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/agile/1.0/issue/{issue_id_or_key}" params = {"fields": fields, "expand": expand, "updateHistory": update_history} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def get_issue_estimation_for_board(self, issue_id_or_key, board_id=None, data=None, **request_kwargs): - """Get issue estimation for board.""" + """Get issue estimation for board. + + Args: + issue_id_or_key: API path or query parameter. + board_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/agile/1.0/issue/{issue_id_or_key}/estimation" params = {"boardId": board_id} params = {key: value for key, value in params.items() if value is not None} or None return self.get(url, params=params, data=data, **request_kwargs) def estimate_issue_for_board(self, issue_id_or_key, board_id=None, data=None, **request_kwargs): - """Estimate issue for board.""" + """Estimate issue for board. + + Args: + issue_id_or_key: API path or query parameter. + board_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/agile/1.0/issue/{issue_id_or_key}/estimation" params = {"boardId": board_id} params = {key: value for key, value in params.items() if value is not None} or None return self.put(url, params=params, data=data, **request_kwargs) def create_sprint(self, data=None, **request_kwargs): - """Create sprint.""" + """Create sprint. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = "rest/agile/1.0/sprint" params = None return self.post(url, params=params, data=data, **request_kwargs) def delete_sprint(self, sprint_id, data=None, **request_kwargs): - """Delete sprint.""" + """Delete sprint. + + Args: + sprint_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/agile/1.0/sprint/{sprint_id}" params = None return self.delete(url, params=params, data=data, **request_kwargs) def get_sprint(self, sprint_id, data=None, **request_kwargs): - """Get sprint.""" + """Get sprint. + + Args: + sprint_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/agile/1.0/sprint/{sprint_id}" params = None return self.get(url, params=params, data=data, **request_kwargs) def partially_update_sprint(self, sprint_id, data=None, **request_kwargs): - """Partially update sprint.""" + """Partially update sprint. + + Args: + sprint_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/agile/1.0/sprint/{sprint_id}" params = None return self.post(url, params=params, data=data, **request_kwargs) def update_sprint(self, sprint_id, data=None, **request_kwargs): - """Update sprint.""" + """Update sprint. + + Args: + sprint_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/agile/1.0/sprint/{sprint_id}" params = None return self.put(url, params=params, data=data, **request_kwargs) @@ -660,7 +1263,22 @@ def get_issues_for_sprint( data=None, **request_kwargs, ): - """Get issues for sprint.""" + """Get issues for sprint. + + Args: + sprint_id: API path or query parameter. + start_at: API path or query parameter. + max_results: API path or query parameter. + jql: API path or query parameter. + validate_query: API path or query parameter. + fields: API path or query parameter. + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/agile/1.0/sprint/{sprint_id}/issue" params = { "startAt": start_at, @@ -674,7 +1292,16 @@ def get_issues_for_sprint( return self.get(url, params=params, data=data, **request_kwargs) def move_issues_to_sprint_and_rank(self, sprint_id, data=None, **request_kwargs): - """Move issues to sprint and rank.""" + """Move issues to sprint and rank. + + Args: + sprint_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/agile/1.0/sprint/{sprint_id}/issue" params = None return self.post(url, params=params, data=data, **request_kwargs) @@ -692,7 +1319,23 @@ def get_issues_for_sprint_jsis( data=None, **request_kwargs, ): - """Get issues for sprint (enhanced).""" + """Get issues for sprint (enhanced). + + Args: + sprint_id: API path or query parameter. + next_page_token: API path or query parameter. + max_results: API path or query parameter. + reconcile_issues: API path or query parameter. + jql: API path or query parameter. + validate_query: API path or query parameter. + fields: API path or query parameter. + expand: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/software/1.0/sprint/{sprint_id}/issue" params = { "nextPageToken": next_page_token, @@ -707,63 +1350,156 @@ def get_issues_for_sprint_jsis( return self.get(url, params=params, data=data, **request_kwargs) def get_properties_keys(self, sprint_id, data=None, **request_kwargs): - """Get properties keys.""" + """Get properties keys. + + Args: + sprint_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/agile/1.0/sprint/{sprint_id}/properties" params = None return self.get(url, params=params, data=data, **request_kwargs) def delete_property(self, sprint_id, property_key, data=None, **request_kwargs): - """Delete property.""" + """Delete property. + + Args: + sprint_id: API path or query parameter. + property_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/agile/1.0/sprint/{sprint_id}/properties/{property_key}" params = None return self.delete(url, params=params, data=data, **request_kwargs) def get_property(self, sprint_id, property_key, data=None, **request_kwargs): - """Get property.""" + """Get property. + + Args: + sprint_id: API path or query parameter. + property_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/agile/1.0/sprint/{sprint_id}/properties/{property_key}" params = None return self.get(url, params=params, data=data, **request_kwargs) def set_property(self, sprint_id, property_key, data=None, **request_kwargs): - """Set property.""" + """Set property. + + Args: + sprint_id: API path or query parameter. + property_key: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/agile/1.0/sprint/{sprint_id}/properties/{property_key}" params = None return self.put(url, params=params, data=data, **request_kwargs) def swap_sprint(self, sprint_id, data=None, **request_kwargs): - """Swap sprint.""" + """Swap sprint. + + Args: + sprint_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/agile/1.0/sprint/{sprint_id}/swap" params = None return self.post(url, params=params, data=data, **request_kwargs) def store_development_information(self, data=None, **request_kwargs): - """Store development information.""" + """Store development information. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = "rest/devinfo/0.10/bulk" params = None return self.post(url, params=params, data=data, **request_kwargs) def get_repository(self, repository_id, data=None, **request_kwargs): - """Get repository.""" + """Get repository. + + Args: + repository_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/devinfo/0.10/repository/{repository_id}" params = None return self.get(url, params=params, data=data, **request_kwargs) def delete_repository(self, repository_id, update_sequence_id=None, data=None, **request_kwargs): - """Delete repository.""" + """Delete repository. + + Args: + repository_id: API path or query parameter. + update_sequence_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/devinfo/0.10/repository/{repository_id}" params = {"_updateSequenceId": update_sequence_id} params = {key: value for key, value in params.items() if value is not None} or None return self.delete(url, params=params, data=data, **request_kwargs) def delete_by_properties(self, update_sequence_id=None, data=None, **request_kwargs): - """Delete development information by properties.""" + """Delete development information by properties. + + Args: + update_sequence_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = "rest/devinfo/0.10/bulkByProperties" params = {"_updateSequenceId": update_sequence_id} params = {key: value for key, value in params.items() if value is not None} or None return self.delete(url, params=params, data=data, **request_kwargs) def exists_by_properties(self, update_sequence_id=None, data=None, **request_kwargs): - """Check if data exists for the supplied properties.""" + """Check if data exists for the supplied properties. + + Args: + update_sequence_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = "rest/devinfo/0.10/existsByProperties" params = {"_updateSequenceId": update_sequence_id} params = {key: value for key, value in params.items() if value is not None} or None @@ -772,46 +1508,111 @@ def exists_by_properties(self, update_sequence_id=None, data=None, **request_kwa def delete_entity( self, repository_id, entity_type, entity_id, update_sequence_id=None, data=None, **request_kwargs ): - """Delete development information entity.""" + """Delete development information entity. + + Args: + repository_id: API path or query parameter. + entity_type: API path or query parameter. + entity_id: API path or query parameter. + update_sequence_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/devinfo/0.10/repository/{repository_id}/{entity_type}/{entity_id}" params = {"_updateSequenceId": update_sequence_id} params = {key: value for key, value in params.items() if value is not None} or None return self.delete(url, params=params, data=data, **request_kwargs) def submit_feature_flags(self, data=None, **request_kwargs): - """Submit Feature Flag data.""" + """Submit Feature Flag data. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = "rest/featureflags/0.1/bulk" params = None return self.post(url, params=params, data=data, **request_kwargs) def delete_feature_flags_by_property(self, update_sequence_id=None, data=None, **request_kwargs): - """Delete Feature Flags by Property.""" + """Delete Feature Flags by Property. + + Args: + update_sequence_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = "rest/featureflags/0.1/bulkByProperties" params = {"_updateSequenceId": update_sequence_id} params = {key: value for key, value in params.items() if value is not None} or None return self.delete(url, params=params, data=data, **request_kwargs) def get_feature_flag_by_id(self, feature_flag_id, data=None, **request_kwargs): - """Get a Feature Flag by ID.""" + """Get a Feature Flag by ID. + + Args: + feature_flag_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/featureflags/0.1/flag/{feature_flag_id}" params = None return self.get(url, params=params, data=data, **request_kwargs) def delete_feature_flag_by_id(self, feature_flag_id, update_sequence_id=None, data=None, **request_kwargs): - """Delete a Feature Flag by ID.""" + """Delete a Feature Flag by ID. + + Args: + feature_flag_id: API path or query parameter. + update_sequence_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/featureflags/0.1/flag/{feature_flag_id}" params = {"_updateSequenceId": update_sequence_id} params = {key: value for key, value in params.items() if value is not None} or None return self.delete(url, params=params, data=data, **request_kwargs) def submit_deployments(self, data=None, **request_kwargs): - """Submit deployment data.""" + """Submit deployment data. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = "rest/deployments/0.1/bulk" params = None return self.post(url, params=params, data=data, **request_kwargs) def delete_deployments_by_property(self, update_sequence_number=None, data=None, **request_kwargs): - """Delete deployments by Property.""" + """Delete deployments by Property. + + Args: + update_sequence_number: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = "rest/deployments/0.1/bulkByProperties" params = {"_updateSequenceNumber": update_sequence_number} params = {key: value for key, value in params.items() if value is not None} or None @@ -820,7 +1621,18 @@ def delete_deployments_by_property(self, update_sequence_number=None, data=None, def get_deployment_by_key( self, pipeline_id, environment_id, deployment_sequence_number, data=None, **request_kwargs ): - """Get a deployment by key.""" + """Get a deployment by key. + + Args: + pipeline_id: API path or query parameter. + environment_id: API path or query parameter. + deployment_sequence_number: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/deployments/0.1/pipelines/{pipeline_id}/environments/{environment_id}/deployments/{deployment_sequence_number}" params = None return self.get(url, params=params, data=data, **request_kwargs) @@ -834,7 +1646,19 @@ def delete_deployment_by_key( data=None, **request_kwargs, ): - """Delete a deployment by key.""" + """Delete a deployment by key. + + Args: + pipeline_id: API path or query parameter. + environment_id: API path or query parameter. + deployment_sequence_number: API path or query parameter. + update_sequence_number: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/deployments/0.1/pipelines/{pipeline_id}/environments/{environment_id}/deployments/{deployment_sequence_number}" params = {"_updateSequenceNumber": update_sequence_number} params = {key: value for key, value in params.items() if value is not None} or None @@ -843,185 +1667,448 @@ def delete_deployment_by_key( def get_deployment_gating_status_by_key( self, pipeline_id, environment_id, deployment_sequence_number, data=None, **request_kwargs ): - """Get deployment gating status by key.""" + """Get deployment gating status by key. + + Args: + pipeline_id: API path or query parameter. + environment_id: API path or query parameter. + deployment_sequence_number: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/deployments/0.1/pipelines/{pipeline_id}/environments/{environment_id}/deployments/{deployment_sequence_number}/gating-status" params = None return self.get(url, params=params, data=data, **request_kwargs) def submit_builds(self, data=None, **request_kwargs): - """Submit build data.""" + """Submit build data. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = "rest/builds/0.1/bulk" params = None return self.post(url, params=params, data=data, **request_kwargs) def delete_builds_by_property(self, update_sequence_number=None, data=None, **request_kwargs): - """Delete builds by Property.""" + """Delete builds by Property. + + Args: + update_sequence_number: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = "rest/builds/0.1/bulkByProperties" params = {"_updateSequenceNumber": update_sequence_number} params = {key: value for key, value in params.items() if value is not None} or None return self.delete(url, params=params, data=data, **request_kwargs) def get_build_by_key(self, pipeline_id, build_number, data=None, **request_kwargs): - """Get a build by key.""" + """Get a build by key. + + Args: + pipeline_id: API path or query parameter. + build_number: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/builds/0.1/pipelines/{pipeline_id}/builds/{build_number}" params = None return self.get(url, params=params, data=data, **request_kwargs) def delete_build_by_key(self, pipeline_id, build_number, update_sequence_number=None, data=None, **request_kwargs): - """Delete a build by key.""" + """Delete a build by key. + + Args: + pipeline_id: API path or query parameter. + build_number: API path or query parameter. + update_sequence_number: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/builds/0.1/pipelines/{pipeline_id}/builds/{build_number}" params = {"_updateSequenceNumber": update_sequence_number} params = {key: value for key, value in params.items() if value is not None} or None return self.delete(url, params=params, data=data, **request_kwargs) def submit_remote_links(self, data=None, **request_kwargs): - """Submit Remote Link data.""" + """Submit Remote Link data. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = "rest/remotelinks/1.0/bulk" params = None return self.post(url, params=params, data=data, **request_kwargs) def delete_remote_links_by_property(self, update_sequence_number=None, params=None, data=None, **request_kwargs): - """Delete Remote Links by Property.""" + """Delete Remote Links by Property. + + Args: + update_sequence_number: API path or query parameter. + params: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = "rest/remotelinks/1.0/bulkByProperties" params = {"_updateSequenceNumber": update_sequence_number, "params": params} params = {key: value for key, value in params.items() if value is not None} or None return self.delete(url, params=params, data=data, **request_kwargs) def get_remote_link_by_id(self, remote_link_id, data=None, **request_kwargs): - """Get a Remote Link by ID.""" + """Get a Remote Link by ID. + + Args: + remote_link_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/remotelinks/1.0/remotelink/{remote_link_id}" params = None return self.get(url, params=params, data=data, **request_kwargs) def delete_remote_link_by_id(self, remote_link_id, update_sequence_number=None, data=None, **request_kwargs): - """Delete a Remote Link by ID.""" + """Delete a Remote Link by ID. + + Args: + remote_link_id: API path or query parameter. + update_sequence_number: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/remotelinks/1.0/remotelink/{remote_link_id}" params = {"_updateSequenceNumber": update_sequence_number} params = {key: value for key, value in params.items() if value is not None} or None return self.delete(url, params=params, data=data, **request_kwargs) def submit_workspaces(self, data=None, **request_kwargs): - """Submit Security Workspaces to link.""" + """Submit Security Workspaces to link. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = "rest/security/1.0/linkedWorkspaces/bulk" params = None return self.post(url, params=params, data=data, **request_kwargs) def delete_linked_workspaces(self, data=None, **request_kwargs): - """Delete linked Security Workspaces.""" + """Delete linked Security Workspaces. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = "rest/security/1.0/linkedWorkspaces/bulk" params = None return self.delete(url, params=params, data=data, **request_kwargs) def get_linked_workspaces(self, data=None, **request_kwargs): - """Get linked Security Workspaces.""" + """Get linked Security Workspaces. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = "rest/security/1.0/linkedWorkspaces" params = None return self.get(url, params=params, data=data, **request_kwargs) def get_linked_workspace_by_id(self, workspace_id, data=None, **request_kwargs): - """Get a linked Security Workspace by ID.""" + """Get a linked Security Workspace by ID. + + Args: + workspace_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/security/1.0/linkedWorkspaces/{workspace_id}" params = None return self.get(url, params=params, data=data, **request_kwargs) def submit_vulnerabilities(self, data=None, **request_kwargs): - """Submit Vulnerability data.""" + """Submit Vulnerability data. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = "rest/security/1.0/bulk" params = None return self.post(url, params=params, data=data, **request_kwargs) def delete_vulnerabilities_by_property(self, data=None, **request_kwargs): - """Delete Vulnerabilities by Property.""" + """Delete Vulnerabilities by Property. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = "rest/security/1.0/bulkByProperties" params = None return self.delete(url, params=params, data=data, **request_kwargs) def get_vulnerability_by_id(self, vulnerability_id, data=None, **request_kwargs): - """Get a Vulnerability by ID.""" + """Get a Vulnerability by ID. + + Args: + vulnerability_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/security/1.0/vulnerability/{vulnerability_id}" params = None return self.get(url, params=params, data=data, **request_kwargs) def delete_vulnerability_by_id(self, vulnerability_id, data=None, **request_kwargs): - """Delete a Vulnerability by ID.""" + """Delete a Vulnerability by ID. + + Args: + vulnerability_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/security/1.0/vulnerability/{vulnerability_id}" params = None return self.delete(url, params=params, data=data, **request_kwargs) def submit_operations_workspaces(self, data=None, **request_kwargs): - """Submit Operations Workspace Ids.""" + """Submit Operations Workspace Ids. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = "rest/operations/1.0/linkedWorkspaces/bulk" params = None return self.post(url, params=params, data=data, **request_kwargs) def delete_workspaces(self, data=None, **request_kwargs): - """Delete Operations Workpaces by Id.""" + """Delete Operations Workpaces by Id. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = "rest/operations/1.0/linkedWorkspaces/bulk" params = None return self.delete(url, params=params, data=data, **request_kwargs) def get_workspaces(self, data=None, **request_kwargs): - """Get all Operations Workspace IDs or a specific Operations Workspace by ID.""" + """Get all Operations Workspace IDs or a specific Operations Workspace by ID. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = "rest/operations/1.0/linkedWorkspaces" params = None return self.get(url, params=params, data=data, **request_kwargs) def submit_entity(self, data=None, **request_kwargs): - """Submit Incident or Review data.""" + """Submit Incident or Review data. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = "rest/operations/1.0/bulk" params = None return self.post(url, params=params, data=data, **request_kwargs) def delete_entity_by_property(self, data=None, **request_kwargs): - """Delete Incidents or Review by Property.""" + """Delete Incidents or Review by Property. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = "rest/operations/1.0/bulkByProperties" params = None return self.delete(url, params=params, data=data, **request_kwargs) def get_incident_by_id(self, incident_id, data=None, **request_kwargs): - """Get a Incident by ID.""" + """Get a Incident by ID. + + Args: + incident_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/operations/1.0/incidents/{incident_id}" params = None return self.get(url, params=params, data=data, **request_kwargs) def delete_incident_by_id(self, incident_id, data=None, **request_kwargs): - """Delete a Incident by ID.""" + """Delete a Incident by ID. + + Args: + incident_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/operations/1.0/incidents/{incident_id}" params = None return self.delete(url, params=params, data=data, **request_kwargs) def get_review_by_id(self, review_id, data=None, **request_kwargs): - """Get a Review by ID.""" + """Get a Review by ID. + + Args: + review_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/operations/1.0/post-incident-reviews/{review_id}" params = None return self.get(url, params=params, data=data, **request_kwargs) def delete_review_by_id(self, review_id, data=None, **request_kwargs): - """Delete a Review by ID.""" + """Delete a Review by ID. + + Args: + review_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/operations/1.0/post-incident-reviews/{review_id}" params = None return self.delete(url, params=params, data=data, **request_kwargs) def submit_components(self, data=None, **request_kwargs): - """Submit DevOps Components.""" + """Submit DevOps Components. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = "rest/devopscomponents/1.0/bulk" params = None return self.post(url, params=params, data=data, **request_kwargs) def delete_components_by_property(self, data=None, **request_kwargs): - """Delete DevOps Components by Property.""" + """Delete DevOps Components by Property. + + Args: + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = "rest/devopscomponents/1.0/bulkByProperties" params = None return self.delete(url, params=params, data=data, **request_kwargs) def get_component_by_id(self, component_id, data=None, **request_kwargs): - """Get a Component by ID.""" + """Get a Component by ID. + + Args: + component_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/devopscomponents/1.0/devopscomponents/{component_id}" params = None return self.get(url, params=params, data=data, **request_kwargs) def delete_component_by_id(self, component_id, data=None, **request_kwargs): - """Delete a Component by ID.""" + """Delete a Component by ID. + + Args: + component_id: API path or query parameter. + data: JSON request body. + **request_kwargs: Additional REST request options. + + Returns: + Decoded Jira REST response. + """ url = f"rest/devopscomponents/1.0/devopscomponents/{component_id}" params = None return self.delete(url, params=params, data=data, **request_kwargs) diff --git a/atlassian/rest_client.py b/atlassian/rest_client.py index 3b3c7fdc4..8ba26a73e 100644 --- a/atlassian/rest_client.py +++ b/atlassian/rest_client.py @@ -434,6 +434,16 @@ def log_curl_debug( def resource_url( self, resource: str, api_root: Optional[str] = None, api_version: Union[str, int, None] = None ) -> str: + """Build a relative REST resource URL from the configured API settings. + + Args: + resource: Endpoint path below the API root and version. + api_root: Optional API root overriding the client default. + api_version: Optional API version overriding the client default. + + Returns: + Normalized relative REST resource URL. + """ if api_root is None: api_root = self.api_root if api_version is None: @@ -442,12 +452,23 @@ def resource_url( @staticmethod def url_joiner(url: Optional[str], path: str, trailing: Optional[bool] = None) -> str: + """Join URL components without duplicate slashes. + + Args: + url: Base URL or relative path. + path: Path to append. + trailing: Whether to add a trailing slash. + + Returns: + Normalized joined URL. + """ url_link = "/".join(str(s).strip("/") for s in [url, path] if s is not None) if trailing: url_link += "/" return url_link def close(self) -> None: + """Close the underlying HTTP session and release its connections.""" return self._session.close() def request( diff --git a/docs/jira.rst b/docs/jira.rst index 61549e494..73cc77bb7 100644 --- a/docs/jira.rst +++ b/docs/jira.rst @@ -72,6 +72,24 @@ Application properties # Returns the properties that are displayed on the "General Configuration > Advanced Settings" page. jira.get_advanced_settings() +Application roles +----------------- + +.. code-block:: python + + # List every application role. Jira Server returns an ETag header that can + # be supplied to the update call as ``if_match``. + roles = jira.get_all_application_roles() + + # Retrieve an individual role. + jira.get_application_role("jira-software") + + # Update only groups/defaultGroups. The role key/name cannot be changed. + jira.update_application_roles( + [{"key": "jira-software", "groups": ["jira-software-users"]}], + if_match='"application-role-etag"', + ) + Manage users ------------ diff --git a/tests/test_jira.py b/tests/test_jira.py index 78083269f..3fcb510bd 100644 --- a/tests/test_jira.py +++ b/tests/test_jira.py @@ -20,6 +20,35 @@ def test_get_issue(self): resp = self.jira.issue("FOO-123") self.assertEqual(resp["key"], "FOO-123") + @patch.object(jira.Jira, "get") + def test_get_all_application_roles(self, mock_get): + """Lists ApplicationRoles from the Server v2 resource.""" + self.jira.get_all_application_roles() + + mock_get.assert_called_once_with("rest/api/2/applicationrole") + + @patch.object(jira.Jira, "get") + def test_get_application_role(self, mock_get): + """Gets one ApplicationRole from the Server v2 resource.""" + self.jira.get_application_role("jira-software") + + mock_get.assert_called_once_with("rest/api/2/applicationrole/jira-software") + + @patch.object(jira.Jira, "put") + def test_update_application_roles_uses_etag_when_provided(self, mock_put): + roles = [{"key": "jira-software", "groups": ["jira-software-users"]}] + + self.jira.update_application_roles(roles, if_match='"role-version"') + + self.assertEqual(mock_put.call_args.args[0], "rest/api/2/applicationrole") + self.assertEqual( + mock_put.call_args.kwargs["data"], '[{"key": "jira-software", "groups": ["jira-software-users"]}]' + ) + self.assertEqual( + mock_put.call_args.kwargs["headers"], + {"Content-Type": "application/json", "Accept": "application/json", "If-Match": '"role-version"'}, + ) + def test_get_issue_not_found(self): """Receive HTTP Error when Issue does not exist""" with self.assertRaises(HTTPError): diff --git a/tests/test_jira_cloud_method_coverage.py b/tests/test_jira_cloud_method_coverage.py index 395dc9ed6..dec930eb4 100644 --- a/tests/test_jira_cloud_method_coverage.py +++ b/tests/test_jira_cloud_method_coverage.py @@ -4,6 +4,7 @@ from unittest import TestCase from atlassian.jira.core_methods import JiraCloudCoreMethods +from atlassian.jira.jira_server import Jira as JiraServer from atlassian.jira.service_management_methods import JiraServiceManagementMethods from atlassian.jira.software_methods import JiraSoftwareMethods @@ -60,3 +61,17 @@ def test_every_documented_method_is_concrete_and_dispatches(self): self.assertTrue(client.calls[0][1].startswith(prefix)) self.assertNotIn("{", client.calls[0][1]) self.assertEqual(client.calls[0][2]["data"], None) + + def test_every_cloud_method_has_a_complete_docstring(self): + for method_group, _, _ in self.METHOD_GROUPS: + for _, method in inspect.getmembers(method_group, inspect.isfunction): + docstring = inspect.getdoc(method) + self.assertIsNotNone(docstring) + self.assertIn("Args:", docstring) + self.assertIn("Returns:", docstring) + + def test_every_public_jira_server_method_has_a_docstring(self): + methods = inspect.getmembers(JiraServer, inspect.isfunction) + undocumented = [name for name, method in methods if not name.startswith("_") and not inspect.getdoc(method)] + + self.assertEqual(undocumented, [])