[Plugin Adoption] I would like to adopt Crowd2 Plugin

94 views
Skip to first unread message

DuMaM

unread,
Apr 1, 2022, 3:55:22 PM4/1/22
to Jenkins Developers
Hello Jenkins Developers,

I would like to take care of Crowd2 plugin. I'm working with Jenkins for about 5 years and I'm quite familiar with all policies and work-flow here.
In company I work currently, we are using both Jenkins and Crowd plugin on daily basis.
Even though we would like to migrate to java 11, current plugin problems are locking us.
My manager decided that we have to upgrade this plugin by ourself for our purposes, but i think it's good opportunity to payback and help here for Jenkins community.
He agreed on it, so If i'm be able to get an access as a Jenkins plugin maintainer I will be able to share my work here.

For now we are aware of at least three problems with this integration:
-> performance -> each user get request is taking at least 5-10sek to determine if he get correct access rights. we got about 2k active users.
-> java 11 compatibility 
-> emails are not exported from crowd to user email field

Those are issues i would like to focus at first.
What do you think? :D

Link to a plugin you want to adopt: https://plugins.jenkins.io/crowd2/
The status of the plugin: 'for adoption"
Link(s) to pull requests you want to deliver, if applicable:
https://github.com/jenkinsci/crowd2-plugin/pull/41
https://github.com/jenkinsci/crowd2-plugin/pull/40

Your GitHub username/id: https://github.com/DuMaM
Your Jenkins infrastructure account id: 'dumam'
The link to the "Repository Permission Updater" PR: https://github.com/jenkins-infra/repository-permissions-updater/pull/2477

Thanks,
Dumam

Mark Waite

unread,
Apr 1, 2022, 4:03:02 PM4/1/22
to Jenkins Developers
+1 from me.

There is a guide for some plugin modernization steps in the "Contributing to Open Source" document.  It also includes links to a five part video series that discusses many of the steps.

Thanks for adopting a plugin!
Mark Waite

Arnaud Héritier

unread,
Apr 1, 2022, 4:26:57 PM4/1/22
to jenkin...@googlegroups.com
+1. I stopped to maintain it several years ago but it makes sense for crowd users to have a good support. 

--
You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/debdca07-e44c-4fd4-85be-982889732d28n%40googlegroups.com.
--
Arnaud Héritier
Twitter/GitHub/... : aheritier

DuMaM

unread,
Apr 1, 2022, 5:09:08 PM4/1/22
to Jenkins Developers
Thanks. I hope I will be able to help users in need.
Do I have to do anything else to get an org access?

Gavin Mogan

unread,
Apr 1, 2022, 5:40:19 PM4/1/22
to Jenkins Developers
I see tim gave you access like two hours ago. Make sure you accept the
invite at github.com/jenkinsci/
> To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/386b6a0f-de41-42d9-bc15-972bde9a191dn%40googlegroups.com.

DuMaM

unread,
Apr 4, 2022, 4:37:17 PM4/4/22
to Jenkins Developers
Yes I got one. 

My plan for upcoming release (2.1.0) is to:
-> make it more modern according to Mark guide
-> apply current java fixes

For next one (2.2.0) it would be:
-> adding more tests
-> improve performance

Then I will follow suggestion of some users to bump base crowd rest client, but it could be potential breaking change.
Before i will follow with that step I would like to clean up/wrap with tests this plugin as much as i can. 

After that I will bump other dependencies (2.3.0).
As a last one there will be crowd rest client upgrade to 3.7.1 (3.0.0).

That's my plan.
I'm only wondering if I would be allowed to change plugin id or name in such case?

Mark Waite

unread,
Apr 4, 2022, 5:07:29 PM4/4/22
to Jenkins Developers
On Monday, April 4, 2022 at 2:37:17 PM UTC-6 nowak wrote:

I'm only wondering if I would be allowed to change plugin id or name in such case?

Description is easy to update by changing the contents of the src/resources/main/index.jelly file.  Can be done at any time.

I believe that name change is allowed and relatively low impact by changing the <name></name> in the pom.xml.  Others may be able to give more guidance on name changing.

Changing the plugin ID is strongly discouraged.  The plugin ID is used to identify upgrades.  When you change the plugin ID, you disconnect from your existing users.  They won't be notified of new releases of the new plugin ID because they haven't installed it yet.  They will need to remove the previous plugin with the original plugin ID and install the plugin with the new plugin ID.  It is rarely valuable enough to users to change the plugin id.

There are several examples of poorly chosen plugin IDs that are kept unchanged so that users are not disrupted.  The TestNG plugin (as one example) uses the id 'testng-plugin-plugin'.  Yes, that's redundant.  No, we won't change it because that will disrupt users.

Mark Waite
  

DuMaM

unread,
Apr 4, 2022, 7:46:44 PM4/4/22
to Jenkins Developers
Thanks Mark for fast response.
I was expecting such answer, but It's never hurts to ask. :) 

Right now I'm working on preparing some testing environment for this plugin.
mvn hpi:run is good tool, but for this plugin we need also an crowd instance.
My target for now is to deliver easy setup for myself and feature devs.

I'm wondering if there is any option to acquire testing licence. 
I also need a place where we can store such data. Does jenkins devs have any shared vault?

Thanks,
Bartosz

Gavin Mogan

unread,
Apr 4, 2022, 7:52:31 PM4/4/22
to Jenkins Developers
Atlantis is pretty liberal giving away accounts for open source, so I
don't know for crowd specifically, but you can probably just ask for
one.

> I also need a place where we can store such data. Does jenkins devs have any shared vault?

In general plugin authors have managed their own test environments.
Jenkins project does have a sponsored 1password account, but we
(board? infra?) never really decided on how things should be managed.
We have a jenkins governance meeting this week, so it might be worth
discussing it.

Gavin
> --
> You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-de...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/aa834bcb-51b9-44f8-9b3a-442ed6a58fa9n%40googlegroups.com.

DuMaM

unread,
Apr 4, 2022, 8:06:00 PM4/4/22
to Jenkins Developers
That's great news. 
I think the best place it would be a Jenkins Instance used in Jenkins Plugins CI.
I will try to play with `mvn hpi:run` if there is any possibility to lunch other services alongside.
Otherwise git-secrets?

Thanks,
Bartosz 

Gavin Mogan

unread,
Apr 5, 2022, 1:32:40 AM4/5/22
to Jenkins Developers
Again, purely generally speaking, ci.jenkins.io doesn't really do
integration tests. I think the general assumption is that if it is on
the public install, it is compromised (just to be safe), so we don't
put any real secrets or anything else there.

Not saying it can't be done, but generally speaking not done.
> To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/4150dee5-9d98-4eed-b7d7-c9b34fbf938dn%40googlegroups.com.
Message has been deleted

DuMaM

unread,
Apr 6, 2022, 6:50:00 PM4/6/22
to Jenkins Developers
I was planning on creation some integration tests outside ci.jenkins.io.
Config should be stored inside terraform/docker-compose, i didn't decided yet. 
Based on this config it would allow me to check if everything is working fine.

Anyway I think I solved my license problems.
https://developer.atlassian.com/platform/marketplace/timebomb-licenses-for-testing-server-apps/

`If you're running Jira Software, Jira Core or Jira Service Desk and need to license any of them, you can do so by using the following license key on the Versions & licenses page:
3 hour expiration for all Atlassian host products*`
This one is valid :)

DuMaM

unread,
Apr 10, 2022, 10:59:22 AM4/10/22
to Jenkins Developers
Hi,
I'm almost ready to make a first release since a while.
https://github.com/jenkinsci/crowd2-plugin/releases/tag/untagged-50d332108f2de8e78388
This a draft of it and I would be grateful for any suggestions.

Mark Waite

unread,
Apr 10, 2022, 11:07:56 AM4/10/22
to Jenkins Developers
On Sunday, April 10, 2022 at 8:59:22 AM UTC-6 you wrote:
Hi,
I'm almost ready to make a first release since a while.
https://github.com/jenkinsci/crowd2-plugin/releases/tag/untagged-50d332108f2de8e78388
This a draft of it and I would be grateful for any suggestions.

Thanks for doing that.  Unfortunately, only plugin maintainers can see the unreleased changelog.  You may want to merge https://github.com/jenkinsci/crowd2-plugin/pull/46 because it is a low risk test dependency that has passed CI testing.

You could send a picture of the page or save as PDF and send the PDF of the page 

 

DuMaM

unread,
Apr 10, 2022, 11:33:42 AM4/10/22
to Jenkins Developers
I included release notes in attachment.

Regarding this question:

> You may want to merge https://github.com/jenkinsci/crowd2-plugin/pull/46 because it is a low risk test dependency that has passed CI testing.
Tests coverage is quite low in this plugin so I would rather release most important things first.
Most of them was already tested locally by others contributors.
To be sure I prepared myself temp casc test env to duble-check integration with crowd.
I would like to delay any dependency changes which are not needed now until I increase code coverage.
This help me with:
-> understanding plugin and it's dependencies
-> adding more documentation
-> making my work less stresful in release day :D
 
jenkinsci_crowd2-plugin.pdf
Reply all
Reply to author
Forward
0 new messages