Python JIRA Non-Mandatory fields being forced on create issue
Jira behaves strange many times.
createmeta call returns you all the possible issuetypes, and their all fields, and which field is mandatory or not.
But even after this, there are certain fields which are mandatory but createmeta wont tell you this. You need to rely on the exception message that you got after filing create_issue().
In the exception message, exception_obj.response.text gives you the json having key/value of exact field required. 
Then, you can search in response of createmeta about its schema type, and may be the allowedValues set.
And, then try again.
Basically, you need to do retry of above mechanism.
When using the jira python library and creating issues, non mandatory fields are being enforced on create_issue call. 
Response on create issue attempt:
text: No issue link type with name 'Automated' found.

Response on create meta call to check mandatory fields:

'hasDefaultValue': False,
                                                               u'key': u'issuelinks',
                                                               u'name': u'Linked Issues',
                                                               u'operations': [u'add'],
                                                               u'required': False,