code: def set_feature_state(self, feature, feature_id, user_scope, reason=None, reason_code=None):
          
          route_values = {}
          if feature_id is not None:
              route_values['featureId'] = self._serialize.url('feature_id', feature_id, 'str')
          if user_scope is not None:
              route_values['userScope'] = self._serialize.url('user_scope', user_scope, 'str')
          query_parameters = {}
          if reason is not None:
              query_parameters['reason'] = self._serialize.query('reason', reason, 'str')
          if reason_code is not None:
              query_parameters['reasonCode'] = self._serialize.query('reason_code', reason_code, 'str')
          content = self._serialize.body(feature, 'ContributedFeatureState')
          response = self._send(http_method='PATCH',
                                location_id='98911314-3f9b-4eaf-80e8-83900d8e85d9',
                                version='5.0-preview.1',
                                route_values=route_values,
                                query_parameters=query_parameters,
                                content=content)
          return self._deserialize('ContributedFeatureState', response)
docs: SetFeatureState.
          [Preview API] Set the state of a feature
          :param :class:`<ContributedFeatureState> <azure.devops.v5_0.feature_management.models.ContributedFeatureState>` feature: Posted feature state object. Should specify the effective value.
          :param str feature_id: Contribution id of the feature
          :param str user_scope: User-Scope at which to set the value. Should be "me" for the current user or "host" for all users.
          :param str reason: Reason for changing the state
          :param str reason_code: Short reason code
          :rtype: :class:`<ContributedFeatureState> <azure.devops.v5_0.feature_management.models.ContributedFeatureState>`