├── .github └── FUNDING.yml ├── .gitignore ├── README.md ├── license.txt ├── nb-configuration.xml ├── pom.xml └── src ├── main ├── java │ └── com │ │ └── junichi11 │ │ └── netbeans │ │ └── modules │ │ └── github │ │ └── issues │ │ ├── GitHubCache.java │ │ ├── GitHubIcons.java │ │ ├── GitHubIssueState.java │ │ ├── GitHubIssues.java │ │ ├── GitHubIssuesConfig.java │ │ ├── GitHubIssuesConnector.java │ │ ├── egit │ │ ├── SearchIssues.java │ │ ├── SearchIssuesParams.java │ │ └── SearchService.java │ │ ├── issue │ │ ├── CreateIssueParams.java │ │ ├── GetIssuesParams.java │ │ ├── GitHubIssue.java │ │ ├── GitHubIssueController.java │ │ ├── GitHubIssueFinder.java │ │ ├── GitHubIssueNode.java │ │ ├── GitHubIssuePriorityProvider.java │ │ ├── GitHubIssueProvider.java │ │ ├── GitHubIssueScheduleProvider.java │ │ ├── GitHubIssueStatusProvider.java │ │ ├── GitHubIssueSupport.java │ │ └── ui │ │ │ ├── AttributesViewPanel.form │ │ │ ├── AttributesViewPanel.java │ │ │ ├── CommentPanel.form │ │ │ ├── CommentPanel.java │ │ │ ├── CommentTabbedPanel.form │ │ │ ├── CommentTabbedPanel.java │ │ │ ├── CommentsPanel.form │ │ │ ├── CommentsPanel.java │ │ │ ├── CommitPanel.form │ │ │ ├── CommitPanel.java │ │ │ ├── CommitsPanel.form │ │ │ ├── CommitsPanel.java │ │ │ ├── CreatePullRequestPanel.form │ │ │ ├── CreatePullRequestPanel.java │ │ │ ├── DiffTopComponent.java │ │ │ ├── FileChangedPanel.form │ │ │ ├── FileChangedPanel.java │ │ │ ├── FilesChangedPanel.form │ │ │ ├── FilesChangedPanel.java │ │ │ ├── GitHubIssuePanel.form │ │ │ ├── GitHubIssuePanel.java │ │ │ ├── InsertTemplatePanel.form │ │ │ ├── InsertTemplatePanel.java │ │ │ ├── LabelPanel.form │ │ │ ├── LabelPanel.java │ │ │ ├── ManageTemplatesPanel.form │ │ │ ├── ManageTemplatesPanel.java │ │ │ ├── MergePanel.form │ │ │ ├── MergePanel.java │ │ │ ├── MilestonePanel.form │ │ │ ├── MilestonePanel.java │ │ │ ├── TemplatePanel.form │ │ │ └── TemplatePanel.java │ │ ├── options │ │ ├── GitHubIssuesOptions.java │ │ ├── GitHubIssuesOptionsPanel.form │ │ ├── GitHubIssuesOptionsPanel.java │ │ └── GitHubIssuesOptionsPanelController.java │ │ ├── query │ │ ├── GitHubAssignedToMeQuery.java │ │ ├── GitHubCreatedByMeQuery.java │ │ ├── GitHubDefaultQueries.java │ │ ├── GitHubDefaultQuery.java │ │ ├── GitHubOpenQuery.java │ │ ├── GitHubQuery.java │ │ ├── GitHubQueryController.java │ │ ├── GitHubQueryProvider.java │ │ └── ui │ │ │ ├── GitHubQueryListCellRenderer.java │ │ │ ├── GitHubQueryPanel.form │ │ │ └── GitHubQueryPanel.java │ │ ├── repository │ │ ├── GitHubRepository.java │ │ ├── GitHubRepositoryController.java │ │ ├── GitHubRepositoryInfo.java │ │ ├── GitHubRepositoryManager.java │ │ ├── GitHubRepositoryProvider.java │ │ └── ui │ │ │ ├── GitHubRepositoryListPanel.form │ │ │ ├── GitHubRepositoryListPanel.java │ │ │ ├── GitHubRepositoryPanel.form │ │ │ └── GitHubRepositoryPanel.java │ │ ├── ui │ │ ├── AttributesListCellRenderer.java │ │ ├── ColorIcon.java │ │ └── IssueTableCellRenderer.java │ │ └── utils │ │ ├── DateUtils.java │ │ ├── GitHubIssuesUtils.java │ │ ├── StringUtils.java │ │ ├── UiUtils.java │ │ └── ValidateUtils.java ├── nbm │ └── manifest.mf └── resources │ └── com │ └── junichi11 │ └── netbeans │ └── modules │ └── github │ └── issues │ ├── Bundle.properties │ ├── issue │ └── ui │ │ └── Bundle.properties │ ├── options │ └── Bundle.properties │ ├── query │ └── ui │ │ └── Bundle.properties │ ├── repository │ └── ui │ │ └── Bundle.properties │ └── resources │ ├── Bundle.properties │ ├── closed_issue_16.png │ ├── closed_pull_request_16.png │ ├── error_16.png │ ├── git_merge_16.png │ ├── git_pull_request_16.png │ ├── icon_16.png │ ├── icon_32.png │ ├── issue_closed_16.png │ ├── issue_opened_16.png │ ├── layer.xml │ ├── merged_pull_request_16.png │ ├── open_issue_16.png │ ├── open_pull_request_16.png │ ├── template_16.png │ └── template_settings_16.png └── test └── java └── com └── junichi11 └── netbeans └── modules └── github └── issues └── utils ├── StringUtilsTest.java └── ValidateUtilsTest.java /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | github: junichi11 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | target/ 2 | nbproject/private/ 3 | nbactions-netbeans-ide.xml 4 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # NetBeans GitHub Issues Plugin 2 | 3 | This plugin provides support for GitHub Issue Tracker. 4 | 5 | ## Requirements 6 | 7 | - NetBeans 8.2+ 8 | 9 | ## Features 10 | 11 | - Create a new issue 12 | - Edit an issue 13 | - Create queries 14 | - Edit an issue comment 15 | - Delete an issue comment 16 | - Create a new pull request 17 | - Change an existing issue to a pull request 18 | - Search issues with issue number or keywords 19 | - Create a new label 20 | - Create a new milestone 21 | - Add issues to schedule categories 22 | - Insert and manage templates 23 | 24 | ## Usage 25 | 26 | ### Add a repository 27 | 28 | 1. Open a task window (Windows > Task) 29 | 2. Click add repository icon 30 | 3. Select the GitHub Issues Connector 31 | 4. Input display name, your user name, OAuth token and repository information 32 | 5. Click Connect button (If you can't connect a repository, please try to check input values) 33 | 6. Click OK button 34 | 35 | ### Schedules 36 | 37 | If an issue has a milestone and it has a due date, the issue is added to schedule category. 38 | 39 | ### Insert and manage templates 40 | 41 | You can insert a template and manage templates using buttons below the description. 42 | All templates are used globally. (i.e. It isn't templates per repository.) 43 | 44 | **NOTE:**You cannot remove the default template. If you remove it, it will be initilized. 45 | You cannot edit a template name. So, if you want to change it, just remove it, then add a new template. 46 | 47 | ## Default queries 48 | 49 | 1. Open 50 | 2. Assigned to me 51 | 3. Created by me 52 | 53 | If you want to enable/disable these queries, Please change them on the Options panel.(Tools > Options > Team > GitHub Issues) 54 | 55 | ## .github file 56 | 57 | .github file can be set login name and oauth token. They are used as default values when we create a new repository. 58 | It must be put in the user home directory. 59 | The format is the following: 60 | 61 | ``` 62 | login=junichi11 63 | oauth=***************************** 64 | ``` 65 | 66 | ## GitHub OAuth Token 67 | 68 | You can get a your OAuth token from the following: Settings > Developer settings > Personal access tokens > Generate new token 69 | 70 | - Check `repo` 71 | - Input token description 72 | - Click generate token 73 | 74 | ## GitHub Enterprise 75 | 76 | `api.github.com` is used as the default hostname. If you are using GitHub Enterprise, please set your hostname (e.g. github.example.com). 77 | 78 | ## Resources 79 | 80 | - [egit-github](https://github.com/eclipse/egit-github) 81 | - [octicons](https://octicons.github.com/) 82 | 83 | ## Donation 84 | 85 | - https://github.com/sponsors/junichi11 86 | 87 | ## License 88 | 89 | [Common Development and Distribution License (CDDL) v1.0 and GNU General Public License (GPL) v2](http://netbeans.org/cddl-gplv2.html) 90 | -------------------------------------------------------------------------------- /nb-configuration.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 10 | 16 | cddl-netbeans-sun 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/main/java/com/junichi11/netbeans/modules/github/issues/GitHubIssueState.java: -------------------------------------------------------------------------------- 1 | /* 2 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 3 | * 4 | * Copyright 2014 Oracle and/or its affiliates. All rights reserved. 5 | * 6 | * Oracle and Java are registered trademarks of Oracle and/or its affiliates. 7 | * Other names may be trademarks of their respective owners. 8 | * 9 | * The contents of this file are subject to the terms of either the GNU 10 | * General Public License Version 2 only ("GPL") or the Common 11 | * Development and Distribution License("CDDL") (collectively, the 12 | * "License"). You may not use this file except in compliance with the 13 | * License. You can obtain a copy of the License at 14 | * http://www.netbeans.org/cddl-gplv2.html 15 | * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the 16 | * specific language governing permissions and limitations under the 17 | * License. When distributing the software, include this License Header 18 | * Notice in each file and include the License file at 19 | * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this 20 | * particular file as subject to the "Classpath" exception as provided 21 | * by Oracle in the GPL Version 2 section of the License file that 22 | * accompanied this code. If applicable, add the following below the 23 | * License Header, with the fields enclosed by brackets [] replaced by 24 | * your own identifying information: 25 | * "Portions Copyrighted [year] [name of copyright owner]" 26 | * 27 | * If you wish your version of this file to be governed by only the CDDL 28 | * or only the GPL Version 2, indicate your decision by adding 29 | * "[Contributor] elects to include this software in this distribution 30 | * under the [CDDL or GPL Version 2] license." If you do not indicate a 31 | * single choice of license, a recipient has the option to distribute 32 | * your version of this file under either the CDDL, the GPL Version 2 or 33 | * to extend the choice of license to its licensees as provided above. 34 | * However, if you add GPL Version 2 code and therefore, elected the GPL 35 | * Version 2 license, then the option applies only if the new code is 36 | * made subject to such option by the copyright holder. 37 | * 38 | * Contributor(s): 39 | * 40 | * Portions Copyrighted 2014 Sun Microsystems, Inc. 41 | */ 42 | package com.junichi11.netbeans.modules.github.issues; 43 | 44 | import java.util.HashMap; 45 | import java.util.Map; 46 | 47 | /** 48 | * 49 | * @author junichi11 50 | */ 51 | public enum GitHubIssueState { 52 | 53 | NEW("new"), // NOI18N 54 | OPEN("open"), // NOI18N 55 | CLOSED("closed"); // NOI18N 56 | 57 | private final String state; 58 | private static final Map states = new HashMap<>(); 59 | 60 | static { 61 | for (GitHubIssueState s : GitHubIssueState.values()) { 62 | states.put(s.toString(), s); 63 | } 64 | } 65 | 66 | private GitHubIssueState(String state) { 67 | this.state = state; 68 | } 69 | 70 | public static GitHubIssueState toEnum(String name) { 71 | if (name == null || name.isEmpty()) { 72 | return NEW; 73 | } 74 | return states.get(name); 75 | } 76 | 77 | @Override 78 | public String toString() { 79 | return state; 80 | } 81 | 82 | } 83 | -------------------------------------------------------------------------------- /src/main/java/com/junichi11/netbeans/modules/github/issues/GitHubIssuesConnector.java: -------------------------------------------------------------------------------- 1 | /* 2 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 3 | * 4 | * Copyright 2014 Oracle and/or its affiliates. All rights reserved. 5 | * 6 | * Oracle and Java are registered trademarks of Oracle and/or its affiliates. 7 | * Other names may be trademarks of their respective owners. 8 | * 9 | * The contents of this file are subject to the terms of either the GNU 10 | * General Public License Version 2 only ("GPL") or the Common 11 | * Development and Distribution License("CDDL") (collectively, the 12 | * "License"). You may not use this file except in compliance with the 13 | * License. You can obtain a copy of the License at 14 | * http://www.netbeans.org/cddl-gplv2.html 15 | * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the 16 | * specific language governing permissions and limitations under the 17 | * License. When distributing the software, include this License Header 18 | * Notice in each file and include the License file at 19 | * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this 20 | * particular file as subject to the "Classpath" exception as provided 21 | * by Oracle in the GPL Version 2 section of the License file that 22 | * accompanied this code. If applicable, add the following below the 23 | * License Header, with the fields enclosed by brackets [] replaced by 24 | * your own identifying information: 25 | * "Portions Copyrighted [year] [name of copyright owner]" 26 | * 27 | * If you wish your version of this file to be governed by only the CDDL 28 | * or only the GPL Version 2, indicate your decision by adding 29 | * "[Contributor] elects to include this software in this distribution 30 | * under the [CDDL or GPL Version 2] license." If you do not indicate a 31 | * single choice of license, a recipient has the option to distribute 32 | * your version of this file under either the CDDL, the GPL Version 2 or 33 | * to extend the choice of license to its licensees as provided above. 34 | * However, if you add GPL Version 2 code and therefore, elected the GPL 35 | * Version 2 license, then the option applies only if the new code is 36 | * made subject to such option by the copyright holder. 37 | * 38 | * Contributor(s): 39 | * 40 | * Portions Copyrighted 2014 Sun Microsystems, Inc. 41 | */ 42 | package com.junichi11.netbeans.modules.github.issues; 43 | 44 | import com.junichi11.netbeans.modules.github.issues.issue.GitHubIssue; 45 | import com.junichi11.netbeans.modules.github.issues.query.GitHubQuery; 46 | import com.junichi11.netbeans.modules.github.issues.repository.GitHubRepository; 47 | import com.junichi11.netbeans.modules.github.issues.repository.GitHubRepositoryManager; 48 | import org.netbeans.modules.bugtracking.api.Repository; 49 | import org.netbeans.modules.bugtracking.spi.BugtrackingConnector; 50 | import org.netbeans.modules.bugtracking.spi.BugtrackingSupport; 51 | import org.netbeans.modules.bugtracking.spi.RepositoryInfo; 52 | import org.openide.util.NbBundle; 53 | 54 | /** 55 | * 56 | * @author junichi11 57 | */ 58 | @BugtrackingConnector.Registration( 59 | id = GitHubIssuesConnector.ID, 60 | displayName = "#LBL_DisplayName", 61 | tooltip = "#LBL_Tooltip", 62 | iconPath = "com/junichi11/netbeans/modules/github/issues/resources/icon_16.png" 63 | ) 64 | @NbBundle.Messages({ 65 | "LBL_DisplayName=GitHub Issues", 66 | "LBL_Tooltip=GitHub Issues" 67 | }) 68 | public class GitHubIssuesConnector implements BugtrackingConnector { 69 | 70 | public static final String ID = "com.junichi11.netbeans.modules.github.issues"; // NOI18N 71 | 72 | @Override 73 | public Repository createRepository() { 74 | GitHubRepository repository = new GitHubRepository(); 75 | return createRepository(repository); 76 | } 77 | 78 | @Override 79 | public Repository createRepository(RepositoryInfo info) { 80 | GitHubRepository repository = new GitHubRepository(info); 81 | GitHubRepositoryManager.getInstance().add(repository); 82 | return createRepository(repository); 83 | } 84 | 85 | private Repository createRepository(GitHubRepository repository) { 86 | GitHubIssues githubIssues = GitHubIssues.getInstance(); 87 | BugtrackingSupport bugtrackingSupport = githubIssues.getBugtrackingSupport(); 88 | return bugtrackingSupport.createRepository( 89 | repository, 90 | githubIssues.getIssueStatusProvider(), 91 | githubIssues.getIssueScheduleProvider(), 92 | githubIssues.getIssuePriorityProvider(), 93 | githubIssues.getIssueFinder() 94 | ); 95 | } 96 | 97 | } 98 | -------------------------------------------------------------------------------- /src/main/java/com/junichi11/netbeans/modules/github/issues/egit/SearchIssues.java: -------------------------------------------------------------------------------- 1 | /* 2 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 3 | * 4 | * Copyright 2014 Oracle and/or its affiliates. All rights reserved. 5 | * 6 | * Oracle and Java are registered trademarks of Oracle and/or its affiliates. 7 | * Other names may be trademarks of their respective owners. 8 | * 9 | * The contents of this file are subject to the terms of either the GNU 10 | * General Public License Version 2 only ("GPL") or the Common 11 | * Development and Distribution License("CDDL") (collectively, the 12 | * "License"). You may not use this file except in compliance with the 13 | * License. You can obtain a copy of the License at 14 | * http://www.netbeans.org/cddl-gplv2.html 15 | * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the 16 | * specific language governing permissions and limitations under the 17 | * License. When distributing the software, include this License Header 18 | * Notice in each file and include the License file at 19 | * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this 20 | * particular file as subject to the "Classpath" exception as provided 21 | * by Oracle in the GPL Version 2 section of the License file that 22 | * accompanied this code. If applicable, add the following below the 23 | * License Header, with the fields enclosed by brackets [] replaced by 24 | * your own identifying information: 25 | * "Portions Copyrighted [year] [name of copyright owner]" 26 | * 27 | * If you wish your version of this file to be governed by only the CDDL 28 | * or only the GPL Version 2, indicate your decision by adding 29 | * "[Contributor] elects to include this software in this distribution 30 | * under the [CDDL or GPL Version 2] license." If you do not indicate a 31 | * single choice of license, a recipient has the option to distribute 32 | * your version of this file under either the CDDL, the GPL Version 2 or 33 | * to extend the choice of license to its licensees as provided above. 34 | * However, if you add GPL Version 2 code and therefore, elected the GPL 35 | * Version 2 license, then the option applies only if the new code is 36 | * made subject to such option by the copyright holder. 37 | * 38 | * Contributor(s): 39 | * 40 | * Portions Copyrighted 2014 Sun Microsystems, Inc. 41 | */ 42 | package com.junichi11.netbeans.modules.github.issues.egit; 43 | 44 | import java.util.List; 45 | import org.eclipse.egit.github.core.Issue; 46 | 47 | /** 48 | * 49 | * @author junichi11 50 | */ 51 | public class SearchIssues { 52 | 53 | private long totalCount; 54 | private boolean incompleteResults; 55 | private List items; 56 | 57 | public long getTotalCount() { 58 | return totalCount; 59 | } 60 | 61 | public boolean isIncompleteResults() { 62 | return incompleteResults; 63 | } 64 | 65 | public List getItems() { 66 | return items; 67 | } 68 | 69 | } 70 | -------------------------------------------------------------------------------- /src/main/java/com/junichi11/netbeans/modules/github/issues/egit/SearchService.java: -------------------------------------------------------------------------------- 1 | /* 2 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 3 | * 4 | * Copyright 2014 Oracle and/or its affiliates. All rights reserved. 5 | * 6 | * Oracle and Java are registered trademarks of Oracle and/or its affiliates. 7 | * Other names may be trademarks of their respective owners. 8 | * 9 | * The contents of this file are subject to the terms of either the GNU 10 | * General Public License Version 2 only ("GPL") or the Common 11 | * Development and Distribution License("CDDL") (collectively, the 12 | * "License"). You may not use this file except in compliance with the 13 | * License. You can obtain a copy of the License at 14 | * http://www.netbeans.org/cddl-gplv2.html 15 | * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the 16 | * specific language governing permissions and limitations under the 17 | * License. When distributing the software, include this License Header 18 | * Notice in each file and include the License file at 19 | * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this 20 | * particular file as subject to the "Classpath" exception as provided 21 | * by Oracle in the GPL Version 2 section of the License file that 22 | * accompanied this code. If applicable, add the following below the 23 | * License Header, with the fields enclosed by brackets [] replaced by 24 | * your own identifying information: 25 | * "Portions Copyrighted [year] [name of copyright owner]" 26 | * 27 | * If you wish your version of this file to be governed by only the CDDL 28 | * or only the GPL Version 2, indicate your decision by adding 29 | * "[Contributor] elects to include this software in this distribution 30 | * under the [CDDL or GPL Version 2] license." If you do not indicate a 31 | * single choice of license, a recipient has the option to distribute 32 | * your version of this file under either the CDDL, the GPL Version 2 or 33 | * to extend the choice of license to its licensees as provided above. 34 | * However, if you add GPL Version 2 code and therefore, elected the GPL 35 | * Version 2 license, then the option applies only if the new code is 36 | * made subject to such option by the copyright holder. 37 | * 38 | * Contributor(s): 39 | * 40 | * Portions Copyrighted 2014 Sun Microsystems, Inc. 41 | */ 42 | package com.junichi11.netbeans.modules.github.issues.egit; 43 | 44 | import java.io.IOException; 45 | import java.util.Collections; 46 | import java.util.List; 47 | import org.eclipse.egit.github.core.Issue; 48 | import org.eclipse.egit.github.core.client.GitHubClient; 49 | import static org.eclipse.egit.github.core.client.IGitHubConstants.SEGMENT_ISSUES; 50 | import static org.eclipse.egit.github.core.client.IGitHubConstants.SEGMENT_SEARCH; 51 | import org.eclipse.egit.github.core.client.PagedRequest; 52 | import org.eclipse.egit.github.core.service.GitHubService; 53 | 54 | /** 55 | * 56 | * @author junichi11 57 | */ 58 | public class SearchService extends GitHubService { 59 | 60 | public SearchService() { 61 | super(); 62 | } 63 | 64 | public SearchService(GitHubClient client) { 65 | super(client); 66 | } 67 | 68 | public List searchIssues(SearchIssuesParams params) throws IOException { 69 | StringBuilder uri = new StringBuilder(SEGMENT_SEARCH + SEGMENT_ISSUES); 70 | String query = params.getParameters(true); 71 | uri.append(query); 72 | 73 | PagedRequest request = createPagedRequest(); 74 | request.setUri(uri); 75 | request.setType(SearchIssues.class); 76 | List searchIssues = getAll(request); 77 | for (SearchIssues searchIssue : searchIssues) { 78 | return searchIssue.getItems(); 79 | } 80 | return Collections.emptyList(); 81 | } 82 | } 83 | -------------------------------------------------------------------------------- /src/main/java/com/junichi11/netbeans/modules/github/issues/issue/CreateIssueParams.java: -------------------------------------------------------------------------------- 1 | /* 2 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 3 | * 4 | * Copyright 2014 Oracle and/or its affiliates. All rights reserved. 5 | * 6 | * Oracle and Java are registered trademarks of Oracle and/or its affiliates. 7 | * Other names may be trademarks of their respective owners. 8 | * 9 | * The contents of this file are subject to the terms of either the GNU 10 | * General Public License Version 2 only ("GPL") or the Common 11 | * Development and Distribution License("CDDL") (collectively, the 12 | * "License"). You may not use this file except in compliance with the 13 | * License. You can obtain a copy of the License at 14 | * http://www.netbeans.org/cddl-gplv2.html 15 | * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the 16 | * specific language governing permissions and limitations under the 17 | * License. When distributing the software, include this License Header 18 | * Notice in each file and include the License file at 19 | * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this 20 | * particular file as subject to the "Classpath" exception as provided 21 | * by Oracle in the GPL Version 2 section of the License file that 22 | * accompanied this code. If applicable, add the following below the 23 | * License Header, with the fields enclosed by brackets [] replaced by 24 | * your own identifying information: 25 | * "Portions Copyrighted [year] [name of copyright owner]" 26 | * 27 | * If you wish your version of this file to be governed by only the CDDL 28 | * or only the GPL Version 2, indicate your decision by adding 29 | * "[Contributor] elects to include this software in this distribution 30 | * under the [CDDL or GPL Version 2] license." If you do not indicate a 31 | * single choice of license, a recipient has the option to distribute 32 | * your version of this file under either the CDDL, the GPL Version 2 or 33 | * to extend the choice of license to its licensees as provided above. 34 | * However, if you add GPL Version 2 code and therefore, elected the GPL 35 | * Version 2 license, then the option applies only if the new code is 36 | * made subject to such option by the copyright holder. 37 | * 38 | * Contributor(s): 39 | * 40 | * Portions Copyrighted 2014 Sun Microsystems, Inc. 41 | */ 42 | package com.junichi11.netbeans.modules.github.issues.issue; 43 | 44 | import java.util.Collections; 45 | import java.util.List; 46 | import org.eclipse.egit.github.core.Label; 47 | import org.eclipse.egit.github.core.Milestone; 48 | import org.eclipse.egit.github.core.User; 49 | 50 | /** 51 | * 52 | * @author junichi11 53 | */ 54 | public final class CreateIssueParams { 55 | 56 | private final String title; 57 | private String body; 58 | private User assignee; 59 | private Milestone milestone; 60 | private List