def get_milestones(repo_name=None,
                   profile='github',
                   state='open',
                   sort='due_on',
                   direction='asc',
                   output='min',
                   per_page=None):
    '''
    Return information about milestones for a given repository.
    .. versionadded:: 2016.11.0
    repo_name
        The name of the repository for which to list issues. This argument is
        required, either passed via the CLI, or defined in the configured
        profile. A ``repo_name`` passed as a CLI argument will override the
        repo_name defined in the configured profile, if provided.
    profile
        The name of the profile configuration to use. Defaults to ``github``.
    state
        The state of the milestone. Either ``open``, ``closed``, or ``all``.
        Default is ``open``.
    sort
        What to sort results by. Either ``due_on`` or ``completeness``. Default
        is ``due_on``.
    direction
        The direction of the sort. Either ``asc`` or ``desc``. Default is ``asc``.
    output
        The amount of data returned by each issue. Defaults to ``min``. Change
        to ``full`` to see all issue output.
    per_page
        GitHub paginates data in their API calls. Use this value to increase or
        decrease the number of issues gathered from GitHub, per page. If not set,
        GitHub defaults are used.
    CLI Example:
    .. code-block:: bash
        salt myminion github.get_milestones
    '''
    org_name = _get_config_value(profile, 'org_name')
    if repo_name is None:
        repo_name = _get_config_value(profile, 'repo_name')
    action = '/'.join(['repos', org_name, repo_name])
    args = {}
    if per_page:
        args['per_page'] = per_page
    if state and state != 'open':
        args['state'] = state
    if sort and sort != 'due_on':
        args['sort'] = sort
    if direction and direction != 'asc':
        args['direction'] = direction
    ret = {}
    milestones = _query(profile, action=action, command='milestones', args=args)
    for milestone in milestones:
        milestone_id = milestone.get('id')
        if output == 'full':
            ret[milestone_id] = milestone
        else:
            milestone.pop('creator')
            milestone.pop('html_url')
            milestone.pop('labels_url')
            ret[milestone_id] = milestone
    return ret