def env_value(request, action, run_ids, env_value_ids):
    """
    Add or remove env values to the given runs, function is same as
    link_env_value or unlink_env_value

    :param str action: what action to do, ``add`` or ``remove``.
    :param run_ids: give one or more run IDs. It could be an integer, a
        string containing comma separated IDs, or a list of int each of them is
        a run ID.
    :type run_ids: int, str or list
    :param env_value_ids: give one or more environment value IDs. It could be
        an integer, a string containing comma separated IDs, or a list of int
        each of them is a environment value ID.
    :type env_value_ids: int, str or list
    :return: a list which is empty on success or a list of mappings with
        failure codes if a failure occured.
    :rtype: list

    Example::

        # Add env value 20 to run id 8
        TestRun.env_value('add', 8, 20)
    """
    __env_value_operation(request, action, run_ids, env_value_ids)