func()

in pkg/controller/jenkins_authorizationrolemapping/controller.go [107:132]


func (r *Reconcile) tryToReconcile(
	ctx context.Context,
	instance *jenkinsApi.JenkinsAuthorizationRoleMapping,
	jenkinsClient jenkins.ClientInterface,
) error {
	for _, rl := range instance.Spec.Roles {
		if err := jenkinsClient.AssignRole(instance.Spec.RoleType, rl, instance.Spec.Group); err != nil {
			return fmt.Errorf("failed to assign role: %w", err)
		}
	}

	updateNeeded, err := helper.TryToDelete(instance, finalizerName, makeDeletionFunc(instance, jenkinsClient))
	if err != nil {
		return fmt.Errorf("failed to delete instance: %w", err)
	}

	if !updateNeeded {
		return nil
	}

	if err := r.client.Update(ctx, instance); err != nil {
		return fmt.Errorf("failed to update instance: %w", err)
	}

	return nil
}