类hudson.model.TopLevelItemDescriptor源码实例Demo

下面列出了怎么用hudson.model.TopLevelItemDescriptor的API类实例代码及写法,或者点击链接到github查看源代码。

protected @Nonnull TopLevelItem createProject(String name, String descriptorName, Class<? extends TopLevelItemDescriptor> descriptorClass, BlueOrganization organization) throws IOException {
    ModifiableTopLevelItemGroup p = getParent(organization);

    final ACL acl = (p instanceof AccessControlled) ? ((AccessControlled) p).getACL() : Jenkins.getInstance().getACL();
    Authentication a = Jenkins.getAuthentication();
    if(!acl.hasPermission(a, Item.CREATE)){
        throw new ServiceException.ForbiddenException(
                String.format("Failed to create pipeline: %s. User %s doesn't have Job create permission", name, a.getName()));
    }
    TopLevelItemDescriptor descriptor = Items.all().findByName(descriptorName);
    if(descriptor == null || !(descriptorClass.isAssignableFrom(descriptor.getClass()))){
        throw new ServiceException.BadRequestException(String.format("Failed to create pipeline: %s, descriptor %s is not found", name, descriptorName));
    }

    if (!descriptor.isApplicableIn(p)) {
        throw new ServiceException.ForbiddenException(
                String.format("Failed to create pipeline: %s. Pipeline can't be created in Jenkins root folder", name));
    }

    if (!acl.hasCreatePermission(a, p, descriptor)) {
        throw new ServiceException.ForbiddenException("Missing permission: " + Item.CREATE.group.title+"/"+Item.CREATE.name + " " + Item.CREATE + "/" + descriptor.getDisplayName());
    }
    return p.createProject(descriptor, name, true);
}
 
源代码2 项目: blueocean-plugin   文件: UserImplPermissionTest.java
@Override
public TopLevelItem createProject(TopLevelItemDescriptor type, String name, boolean notify) throws IOException {
    return null;
}
 
@Override
public TopLevelItem createProject(TopLevelItemDescriptor type, String name, boolean notify) throws IOException {
    return null;
}
 
源代码4 项目: jenkins-test-harness   文件: MockFolder.java
@Override public TopLevelItem createProject(TopLevelItemDescriptor type, String name, boolean notify) throws IOException {
    return mixin().createProject(type, name, notify);
}
 
源代码5 项目: jenkins-test-harness   文件: MockFolder.java
/** Convenience method to create a {@link FreeStyleProject} or similar. */
public <T extends TopLevelItem> T createProject(Class<T> type, String name) throws IOException {
    return type.cast(createProject((TopLevelItemDescriptor) Jenkins.getInstance().getDescriptor(type), name, true));
}
 
源代码6 项目: jenkins-test-harness   文件: MockFolder.java
@Override public TopLevelItemDescriptor getDescriptor() {
    return Jenkins.getInstance().getDescriptorByType(DescriptorImpl.class);
}
 
源代码7 项目: DotCi   文件: OrganizationContainer.java
@Override
public TopLevelItemDescriptor getDescriptor() {
    return (DescriptorImpl) Hudson.getInstance().getDescriptorOrDie(getClass());
}
 
源代码8 项目: DotCi   文件: OrganizationContainer.java
public DynamicProject createProject(final Class<DynamicProject> type, final String projectName) throws IOException {
    return type.cast(createProject((TopLevelItemDescriptor) Hudson.getInstance().getDescriptor(type), projectName));
}
 
源代码9 项目: DotCi   文件: OrganizationContainer.java
public TopLevelItem createProject(final TopLevelItemDescriptor type, final String name) throws IOException {
    return createProject(type, name, true);
}
 
源代码10 项目: DotCi   文件: OrganizationContainer.java
public TopLevelItem createProject(final TopLevelItemDescriptor type, final String name, final boolean notify) throws IOException {
    return this.mixin.createProject(type, name, notify);
}
 
 类所在包
 类方法
 同包方法