Advertisement
Guest User

Untitled

a guest
Dec 30th, 2016
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.75 KB | None | 0 0
  1. import com.sudicode.fb2gh.FB2GHException;
  2. import com.sudicode.fb2gh.fogbugz.FBCase;
  3. import com.sudicode.fb2gh.fogbugz.FBFactory;
  4. import com.sudicode.fb2gh.fogbugz.FogBugz;
  5. import com.sudicode.fb2gh.github.GHFactory;
  6. import com.sudicode.fb2gh.github.GHLabel;
  7. import com.sudicode.fb2gh.github.GHRepo;
  8. import com.sudicode.fb2gh.migrate.FBAttachmentConverter;
  9. import com.sudicode.fb2gh.migrate.FBCaseLabeler;
  10. import com.sudicode.fb2gh.migrate.GHAttachmentUploader;
  11. import com.sudicode.fb2gh.migrate.GHAttachmentUploader.Browser;
  12. import com.sudicode.fb2gh.migrate.Migrator;
  13.  
  14. import java.util.ArrayList;
  15. import java.util.HashMap;
  16. import java.util.List;
  17. import java.util.Map;
  18. import java.util.function.Predicate;
  19.  
  20. public class FB2GHExample {
  21.  
  22. public static void main(String[] args) {
  23. try {
  24. /* ==================================================
  25. * Required configuration
  26. * ================================================== */
  27.  
  28. // FogBugz info
  29. String fogBugzURL = ""; // FogBugz URL goes here.
  30. String fogBugzAPIToken = ""; // FogBugz API key goes here.
  31. String fogBugzCaseQuery = "\"\""; // Enter search query here, or leave as is.
  32.  
  33. // GitHub info
  34. String githubAPIToken = ""; // GitHub API key goes here.
  35. String githubRepoOwner = ""; // GitHub repo owner goes here.
  36. String githubRepoName = ""; // GitHub repo name goes here.
  37.  
  38. // Objects necessary to construct the migrator
  39. FogBugz fogBugz = FBFactory.newFogBugz(fogBugzURL, fogBugzAPIToken);
  40. List<FBCase> caseList = fogBugz.searchCases(fogBugzCaseQuery);
  41. GHRepo ghRepo = GHFactory.newGitHub(githubAPIToken).getRepo(githubRepoOwner, githubRepoName);
  42.  
  43. /* ==================================================
  44. * Optional configuration
  45. * ================================================== */
  46.  
  47. // Map FogBugz names to GitHub usernames
  48. Map<String, String> usernameMap = new HashMap<>();
  49. usernameMap.put("Alice Adams", "aliceadams");
  50. usernameMap.put("Bob Brown", "bobbrown");
  51. usernameMap.put("Carol Cage", "carolcage");
  52.  
  53. // Close cases that are not active
  54. Predicate<FBCase> closeIf = fbCase -> !fbCase.getStatus().equals("Active");
  55.  
  56. // Label issues with their original FogBugz case ID, category, and priority
  57. FBCaseLabeler labeler = fbCase -> {
  58. List<GHLabel> list = new ArrayList<>();
  59. list.add(new GHLabel("F" + fbCase.getId(), "92602c"));
  60. list.add(new GHLabel(fbCase.getCategory()));
  61. list.add(new GHLabel(fbCase.getPriority()));
  62. return list;
  63. };
  64.  
  65. // Upload attachments to GitHub (Experimental)
  66. String githubUser = ""; // GitHub username goes here.
  67. String githubPassword = ""; // GitHub password goes here.
  68. Browser browser = Browser.FIREFOX; // Change browser here, or leave as is.
  69. FBAttachmentConverter converter = new GHAttachmentUploader.Builder(githubUser, githubPassword, ghRepo, browser).build();
  70.  
  71. /* ==================================================
  72. * Perform the migration
  73. * ================================================== */
  74.  
  75. Migrator migrator = new Migrator.Builder(fogBugz, caseList, ghRepo)
  76. .usernameMap(usernameMap)
  77. .closeIf(closeIf)
  78. .fbCaseLabeler(labeler)
  79. .fbAttachmentConverter(converter)
  80. .build();
  81. migrator.migrate();
  82. } catch (FB2GHException e) {
  83. e.printStackTrace();
  84. }
  85. }
  86.  
  87. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement