Skip to content

Commit 25170b7

Browse files
authored
Add custom field editing (atlassian-api#1106)
* Added get and add values for custom fields in Jira * Fixed resource_url when an api number is given * Fixed Black and Flake8 Errors * Fixed Black warnings
1 parent fc620ae commit 25170b7

File tree

2 files changed

+37
-1
lines changed

2 files changed

+37
-1
lines changed

atlassian/jira.py

+36
Original file line numberDiff line numberDiff line change
@@ -583,6 +583,42 @@ def create_custom_field(self, name, type, search_key=None, description=None):
583583
data["description"] = description
584584
return self.post(url, data=data)
585585

586+
def get_custom_field_option_context(self, field_id, context_id):
587+
"""
588+
Gets the current values of a custom field
589+
:param field_id:
590+
:param context_id:
591+
:return:
592+
593+
Reference: https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-issue-custom-field-options/#api-rest-api-2-field-fieldid-context-contextid-option-get
594+
"""
595+
url = self.resource_url(
596+
"field/{field_id}/context/{context_id}/option".format(field_id=field_id, context_id=context_id),
597+
api_version=2,
598+
)
599+
return self.get(url)
600+
601+
def add_custom_field_option(self, field_id, context_id, options):
602+
"""
603+
Adds the values given to the custom field
604+
Administrator permission required
605+
:param field_id:
606+
:param context_id:
607+
:param options: List of values to be added
608+
:return:
609+
610+
Reference: https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-issue-custom-field-options/#api-rest-api-2-field-fieldid-context-contextid-option-post
611+
"""
612+
data = {"options": []}
613+
for i in options:
614+
data["options"].append({"disabled": "false", "value": i})
615+
616+
url = self.resource_url(
617+
"field/{field_id}/context/{context_id}/option".format(field_id=field_id, context_id=context_id),
618+
api_version=2,
619+
)
620+
return self.post(url, data=data)
621+
586622
"""
587623
Dashboards
588624
Reference: https://docs.atlassian.com/software/jira/docs/api/REST/8.5.0/#api/2/dashboard

atlassian/rest_client.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ def resource_url(self, resource, api_root=None, api_version=None):
173173
api_root = self.api_root
174174
if api_version is None:
175175
api_version = self.api_version
176-
return "/".join(s.strip("/") for s in [api_root, api_version, resource] if s is not None)
176+
return "/".join(str(s).strip("/") for s in [api_root, api_version, resource] if s is not None)
177177

178178
@staticmethod
179179
def url_joiner(url, path, trailing=None):

0 commit comments

Comments
 (0)