in pkg/controller/jenkins_folder/jenkins_folder_controller.go [161:195]
func (r *ReconcileJenkinsFolder) tryToDeleteJenkinsFolder(
ctx context.Context,
jc jenkinsClient.JenkinsClient,
jenkinsFolder *jenkinsApi.JenkinsFolder,
) (*reconcile.Result, error) {
if jenkinsFolder.GetDeletionTimestamp().IsZero() {
if !finalizer.ContainsString(jenkinsFolder.ObjectMeta.Finalizers, jenkinsFolderJenkinsFinalizerName) {
jenkinsFolder.ObjectMeta.Finalizers = append(jenkinsFolder.ObjectMeta.Finalizers, jenkinsFolderJenkinsFinalizerName)
if err := r.client.Update(ctx, jenkinsFolder); err != nil {
return &reconcile.Result{}, fmt.Errorf("failed to update JenkinsFolder: %w", err)
}
}
return nil, nil
}
jenkinsFolderName := r.getJenkinsFolderName(jenkinsFolder)
if _, err := jc.GoJenkins.DeleteJob(jenkinsFolderName); err != nil {
if helper.JenkinsIsNotFoundErr(err) {
return &reconcile.Result{}, fmt.Errorf("failed to delete JenkinsFolder: %w", err)
}
r.log.V(2).Info("404 code error when Jenkins job was deleted earlier during reconciliation", "jenkins folder", jenkinsFolder.Name)
}
jenkinsFolder.ObjectMeta.Finalizers = finalizer.RemoveString(jenkinsFolder.ObjectMeta.Finalizers, jenkinsFolderJenkinsFinalizerName)
if err := r.client.Update(ctx, jenkinsFolder); err != nil {
return &reconcile.Result{}, fmt.Errorf("failed to update JenkinsFolder: %w", err)
}
return &reconcile.Result{}, nil
}