TeamCity 8, Open API Javadoc, Plugin development pages very out of date

Hi guys

I'm looking at http://javadoc.jetbrains.net/teamcity/openapi/current/index.html and I see that the JavaDoc is very old. At least from TeamCity version 7.x
Also, in the plugin development pages, http://confluence.jetbrains.com/display/TCD8/Custom+Authentication+Module is definitelly incorrect for TeamCity 8.x.

This is causing me a bit of trouble, as I don't know how to configure TeamCity 8 to use mu Custom Authentication Module.
I've done some development For TeamCity 7.x however want to move the plugin to version 8. Not knowing what to do is a showstopper for me.

To get the feeling on the work I've done, have a look at this thread: http://devnet.jetbrains.com/thread/441033?tstart=0.

Could you help with the links to more recent documentation/examples?

Greg


5 comments
Comment actions Permalink

To be more precise with my question, how and where do I configure TeamCity to use my Custom Login Module. main-config.xml doesn't seem to be the place for it anymore.
Greg

0
Comment actions Permalink

By doing some hackery-pokery, I managed to get my presets into the TeamCity admin page.
I also managed to get my Credentials authentication module to show, however, I cannot see my HTTP Authentication Module.

What should I do to see it? My CrowdAuthenticationScheme implements HttpAuthenticationScheme and returns the same name as the CrowdLoginModuleDescriptor:

public class CrowdAuthenticationScheme implements HttpAuthenticationScheme {
...
    @NotNull
    @Override
    public String getName() {
        return "Crowd";
    }
...
}

public class CrowdLoginModuleDescriptor implements LoginModuleDescriptor {

    public CrowdLoginModuleDescriptor(LoginConfiguration loginConfiguration, CrowdIntegrationClient crowdIntegrationClient,
                                       LoggerProvider loggerProvider){
        this.crowdIntegrationClient = crowdIntegrationClient;
        this.loggerProvider = loggerProvider;
        loginConfiguration.registerAuthModuleType(this);
    }
    ...
    @NotNull
    @Override
    public String getName() {
        return "Crowd";
    }
     ...
}


Do I need to register the CrowdAuthenticationScheme somewhere?
Greg

0
Comment actions Permalink

Greg,

> To be more precise with my question, how and where do I configure TeamCity to use my Custom Login Module. main-config.xml doesn't seem to be the place for it anymore.

Since TeamCity 8.0 this is exposed in UI and is available under Administration/Authentication.

Online JavaDoc will be updated, thank you for the reminder. For now you can get the actual version from the devPackage\javadoc\openApi-help.jar (which is actually the same as published online).

> Also, in the plugin development pages, http://confluence.jetbrains.com/display/TCD8/Custom+Authentication+Module is definitelly incorrect for TeamCity 8.x.

The text seems fine, we will check the code.

0
Comment actions Permalink

Hi Yegor
Thanks for that.
Could you comment on my last question as well :)
Greg

0
Comment actions Permalink

Ok, I got it. It seems that I do need to register the

HttpAuthenticationScheme as a normal module. Doing makes it work.

public class CrowdAuthenticationScheme implements HttpAuthenticationScheme {
     ...
    public CrowdAuthenticationScheme(CrowdIntegrationClient crowdIntegrationClient, LoginConfiguration loginConfiguration) {
        this.crowdIntegrationClient = crowdIntegrationClient;
        loginConfiguration.registerAuthModuleType(this);
    }
     ...
}


Previously, the HttpAuthenticationScheme were picked up from the plugin without the need to register.

Greg

0

Please sign in to leave a comment.