Add the issues in ``issue_keys`` to the ``epic_id``.

        :param epic_id: The ID for the epic where issues should be added.
        :type epic_id: int
        :param issue_keys: The issues to add to the epic
        :type issue_keys: str
        :param ignore_epics: ignore any issues listed in ``issue_keys`` that are epics. (Default: True)
        :type ignore_epics: bool

def add_issues_to_epic(self, epic_id, issue_keys, ignore_epics=True):
        """Add the issues in ``issue_keys`` to the ``epic_id``.

        :param epic_id: The ID for the epic where issues should be added.
        :type epic_id: int
        :param issue_keys: The issues to add to the epic
        :type issue_keys: str
        :param ignore_epics: ignore any issues listed in ``issue_keys`` that are epics. (Default: True)
        :type ignore_epics: bool

        """
        if self._options['agile_rest_path'] != GreenHopperResource.GREENHOPPER_REST_PATH:
            # TODO(ssbarnea): simulate functionality using issue.update()?
            raise NotImplementedError('JIRA Agile Public API does not support this request')

        data = {}
        data['issueKeys'] = issue_keys
        data['ignoreEpics'] = ignore_epics
        url = self._get_url('epics/%s/add' %
                            epic_id, base=self.AGILE_BASE_URL)
        return self._session.put(
            url, data=json.dumps(data))