{"action":"created","comment":{"url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/pulls/comments/77347541","id":77347541,"diff_hunk":"@@ -0,0 +1,789 @@\n+package edu.cornell.kfs.pdp.batch.service.impl;\r\n+\r\n+import java.io.File;\r\n+import java.io.FileInputStream;\r\n+import java.io.FileNotFoundException;\r\n+import java.io.IOException;\r\n+import java.io.InputStream;\r\n+import java.text.MessageFormat;\r\n+import java.util.ArrayList;\r\n+import java.util.HashMap;\r\n+import java.util.Iterator;\r\n+import java.util.LinkedHashMap;\r\n+import java.util.List;\r\n+import java.util.Map;\r\n+import java.util.regex.Matcher;\r\n+import java.util.regex.Pattern;\r\n+\r\n+import javax.mail.MessagingException;\r\n+\r\n+import org.apache.commons.io.IOUtils;\r\n+import org.apache.commons.lang.StringUtils;\r\n+import org.kuali.kfs.pdp.PdpConstants;\r\n+import org.kuali.kfs.pdp.PdpConstants.PayeeIdTypeCodes;\r\n+import org.kuali.kfs.pdp.businessobject.PayeeACHAccount;\r\n+import org.kuali.kfs.pdp.document.PayeeACHAccountMaintainableImpl;\r\n+import org.kuali.kfs.pdp.service.AchBankService;\r\n+import org.kuali.kfs.pdp.service.AchService;\r\n+import org.kuali.kfs.sys.KFSConstants;\r\n+import org.kuali.kfs.sys.batch.BatchInputFileType;\r\n+import org.kuali.kfs.sys.batch.service.BatchInputFileService;\r\n+import org.kuali.kfs.sys.exception.ParseException;\r\n+import org.kuali.kfs.sys.service.impl.KfsParameterConstants;\r\n+import org.kuali.rice.core.api.config.property.ConfigurationService;\r\n+import org.kuali.rice.core.api.mail.MailMessage;\r\n+import org.kuali.rice.core.api.util.type.KualiInteger;\r\n+import org.kuali.rice.coreservice.framework.parameter.ParameterService;\r\n+import org.kuali.rice.kew.api.exception.WorkflowException;\r\n+import org.kuali.rice.kim.api.identity.Person;\r\n+import org.kuali.rice.kim.api.identity.PersonService;\r\n+import org.kuali.rice.krad.bo.DocumentHeader;\r\n+import org.kuali.rice.krad.bo.Note;\r\n+import org.kuali.rice.krad.datadictionary.AttributeDefinition;\r\n+import org.kuali.rice.krad.datadictionary.AttributeSecurity;\r\n+import org.kuali.rice.krad.document.Document;\r\n+import org.kuali.rice.krad.exception.InvalidAddressException;\r\n+import org.kuali.rice.krad.exception.ValidationException;\r\n+import org.kuali.rice.krad.keyvalues.KeyValuesFinder;\r\n+import org.kuali.rice.krad.maintenance.MaintenanceDocument;\r\n+import org.kuali.rice.krad.service.DataDictionaryService;\r\n+import org.kuali.rice.krad.service.DocumentService;\r\n+import org.kuali.rice.krad.service.MailService;\r\n+import org.kuali.rice.krad.service.SequenceAccessorService;\r\n+import org.kuali.rice.krad.uif.util.ObjectPropertyUtils;\r\n+import org.kuali.rice.krad.util.ErrorMessage;\r\n+import org.kuali.rice.krad.util.GlobalVariables;\r\n+import org.kuali.rice.krad.util.KRADPropertyConstants;\r\n+import org.kuali.rice.krad.util.ObjectUtils;\r\n+import org.springframework.transaction.annotation.Transactional;\r\n+\r\n+import edu.cornell.kfs.pdp.CUPdpConstants;\r\n+import edu.cornell.kfs.pdp.CUPdpParameterConstants;\r\n+import edu.cornell.kfs.pdp.batch.PayeeACHAccountExtractStep;\r\n+import edu.cornell.kfs.pdp.batch.service.PayeeACHAccountExtractService;\r\n+import edu.cornell.kfs.pdp.businessobject.PayeeACHAccountExtractDetail;\r\n+\r\n+public class PayeeACHAccountExtractServiceImpl implements PayeeACHAccountExtractService {\r\n+    private static final org.apache.log4j.Logger LOG = org.apache.log4j.Logger.getLogger(PayeeACHAccountExtractServiceImpl.class);\r\n+\r\n+    private BatchInputFileService batchInputFileService;\r\n+    private List<BatchInputFileType> batchInputFileTypes;\r\n+    private ConfigurationService configurationService;\r\n+    private ParameterService parameterService;\r\n+    private MailService mailService;\r\n+    private DocumentService documentService;\r\n+    private DataDictionaryService dataDictionaryService;\r\n+    private PersonService personService;\r\n+    private SequenceAccessorService sequenceAccessorService;\r\n+    private AchService achService;\r\n+    private AchBankService achBankService;\r\n+\r\n+    private Map<String, List<String>> partialProcessingSummary;\r\n+\r\n+    // Portions of this method are based on code and logic from CustomerLoadServiceImpl.\r\n+    @Transactional\r\n+    @Override\r\n+    public boolean processACHBatchDetails() {\r\n+        LOG.info(\"processACHBatchDetails: Beginning processing of ACH input files\");\r\n+        \r\n+        int numSuccess = 0;\r\n+        int numPartial = 0;\r\n+        int numFail = 0;\r\n+        partialProcessingSummary = new HashMap<String, List<String>>();\r\n+        \r\n+        Map<String,BatchInputFileType> fileNamesToLoad = getListOfFilesToProcess();\r\n+        LOG.info(\"processACHBatchDetails: Found \" + fileNamesToLoad.size() + \" file(s) to process.\");\r\n+        \r\n+        List<String> processedFiles = new ArrayList<String>();\r\n+        for (String inputFileName : fileNamesToLoad.keySet()) {\r\n+            \r\n+            LOG.info(\"processACHBatchDetails: Beginning processing of filename: \" + inputFileName);\r\n+            processedFiles.add(inputFileName);\r\n+            \r\n+            try {\r\n+                List<String> errorList = new ArrayList();\r\n+                errorList = loadACHBatchDetailFile(inputFileName, fileNamesToLoad.get(inputFileName));\r\n+                if (errorList.isEmpty()) {\r\n+                    LOG.info(\"processACHBatchDetails: Successfully loaded ACH input file\");\r\n+                    numSuccess++;\r\n+                } else {\r\n+                    LOG.warn(\"processACHBatchDetails: ACH input file contained \"+ errorList.size() + \" rows that could not be processed.\");\r\n+                    partialProcessingSummary.put(inputFileName, errorList);\r\n+                    numPartial++;\r\n+                }\r\n+            } catch (Exception e) {\r\n+                LOG.error(\"processACHBatchDetails: \", e);\r\n+                numFail++;\r\n+            }\r\n+        }\r\n+        \r\n+        removeDoneFiles(processedFiles);\r\n+        \r\n+        LOG.info(\"processACHBatchDetails: ==== Summary of Payee ACH Account Extract ====\");\r\n+        LOG.info(\"processACHBatchDetails: Files loaded successfully: \" + numSuccess);\r\n+        LOG.info(\"processACHBatchDetails: Files loaded with one or more failed rows: \" + numPartial);\r\n+        if (!partialProcessingSummary.isEmpty()) {\r\n+            for (String failingFileName : partialProcessingSummary.keySet()) {\r\n+                ArrayList<String> errorsEncountered = (ArrayList)partialProcessingSummary.get(failingFileName);\r","path":"src/main/java/edu/cornell/kfs/pdp/batch/service/impl/PayeeACHAccountExtractServiceImpl.java","position":127,"original_position":127,"commit_id":"27b0caaa2f6528eb834d77755f6a91948e987ede","original_commit_id":"27b0caaa2f6528eb834d77755f6a91948e987ede","user":{"login":"bhutchinson","id":1806259,"avatar_url":"https://avatars.githubusercontent.com/u/1806259?v=3","gravatar_id":"","url":"https://api.github.com/users/bhutchinson","html_url":"https://github.com/bhutchinson","followers_url":"https://api.github.com/users/bhutchinson/followers","following_url":"https://api.github.com/users/bhutchinson/following{/other_user}","gists_url":"https://api.github.com/users/bhutchinson/gists{/gist_id}","starred_url":"https://api.github.com/users/bhutchinson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bhutchinson/subscriptions","organizations_url":"https://api.github.com/users/bhutchinson/orgs","repos_url":"https://api.github.com/users/bhutchinson/repos","events_url":"https://api.github.com/users/bhutchinson/events{/privacy}","received_events_url":"https://api.github.com/users/bhutchinson/received_events","type":"User","site_admin":false},"body":"The first type declaration could be just List, and then I'm not sure you'd need this cast.","created_at":"2016-09-02T13:41:57Z","updated_at":"2016-09-02T13:41:57Z","html_url":"https://github.com/CU-CommunityApps/cu-kfs/pull/210#discussion_r77347541","pull_request_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/pulls/210","_links":{"self":{"href":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/pulls/comments/77347541"},"html":{"href":"https://github.com/CU-CommunityApps/cu-kfs/pull/210#discussion_r77347541"},"pull_request":{"href":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/pulls/210"}}},"pull_request":{"url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/pulls/210","id":83796309,"html_url":"https://github.com/CU-CommunityApps/cu-kfs/pull/210","diff_url":"https://github.com/CU-CommunityApps/cu-kfs/pull/210.diff","patch_url":"https://github.com/CU-CommunityApps/cu-kfs/pull/210.patch","issue_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/issues/210","number":210,"state":"open","locked":false,"title":"KFSPTS-4095: Added Payee ACH Account Extract batch job to read in ACH data from .csv files delivered from Workday. Add functionality implemented. Update functionality not implemented. Failures by data line summarized at end of log file.","user":{"login":"nkimble","id":6460968,"avatar_url":"https://avatars.githubusercontent.com/u/6460968?v=3","gravatar_id":"","url":"https://api.github.com/users/nkimble","html_url":"https://github.com/nkimble","followers_url":"https://api.github.com/users/nkimble/followers","following_url":"https://api.github.com/users/nkimble/following{/other_user}","gists_url":"https://api.github.com/users/nkimble/gists{/gist_id}","starred_url":"https://api.github.com/users/nkimble/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nkimble/subscriptions","organizations_url":"https://api.github.com/users/nkimble/orgs","repos_url":"https://api.github.com/users/nkimble/repos","events_url":"https://api.github.com/users/nkimble/events{/privacy}","received_events_url":"https://api.github.com/users/nkimble/received_events","type":"User","site_admin":false},"body":"","created_at":"2016-09-02T12:51:11Z","updated_at":"2016-09-02T13:41:57Z","closed_at":null,"merged_at":null,"merge_commit_sha":"f5d13b74a813134400b4d788b6326e56c46a9f4b","assignee":{"login":"bhutchinson","id":1806259,"avatar_url":"https://avatars.githubusercontent.com/u/1806259?v=3","gravatar_id":"","url":"https://api.github.com/users/bhutchinson","html_url":"https://github.com/bhutchinson","followers_url":"https://api.github.com/users/bhutchinson/followers","following_url":"https://api.github.com/users/bhutchinson/following{/other_user}","gists_url":"https://api.github.com/users/bhutchinson/gists{/gist_id}","starred_url":"https://api.github.com/users/bhutchinson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bhutchinson/subscriptions","organizations_url":"https://api.github.com/users/bhutchinson/orgs","repos_url":"https://api.github.com/users/bhutchinson/repos","events_url":"https://api.github.com/users/bhutchinson/events{/privacy}","received_events_url":"https://api.github.com/users/bhutchinson/received_events","type":"User","site_admin":false},"assignees":[{"login":"bhutchinson","id":1806259,"avatar_url":"https://avatars.githubusercontent.com/u/1806259?v=3","gravatar_id":"","url":"https://api.github.com/users/bhutchinson","html_url":"https://github.com/bhutchinson","followers_url":"https://api.github.com/users/bhutchinson/followers","following_url":"https://api.github.com/users/bhutchinson/following{/other_user}","gists_url":"https://api.github.com/users/bhutchinson/gists{/gist_id}","starred_url":"https://api.github.com/users/bhutchinson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bhutchinson/subscriptions","organizations_url":"https://api.github.com/users/bhutchinson/orgs","repos_url":"https://api.github.com/users/bhutchinson/repos","events_url":"https://api.github.com/users/bhutchinson/events{/privacy}","received_events_url":"https://api.github.com/users/bhutchinson/received_events","type":"User","site_admin":false}],"milestone":null,"commits_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/pulls/210/commits","review_comments_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/pulls/210/comments","review_comment_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/pulls/comments{/number}","comments_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/issues/210/comments","statuses_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/statuses/27b0caaa2f6528eb834d77755f6a91948e987ede","head":{"label":"CU-CommunityApps:KFSPTS-4095-nkk4-v4","ref":"KFSPTS-4095-nkk4-v4","sha":"27b0caaa2f6528eb834d77755f6a91948e987ede","user":{"login":"CU-CommunityApps","id":5115848,"avatar_url":"https://avatars.githubusercontent.com/u/5115848?v=3","gravatar_id":"","url":"https://api.github.com/users/CU-CommunityApps","html_url":"https://github.com/CU-CommunityApps","followers_url":"https://api.github.com/users/CU-CommunityApps/followers","following_url":"https://api.github.com/users/CU-CommunityApps/following{/other_user}","gists_url":"https://api.github.com/users/CU-CommunityApps/gists{/gist_id}","starred_url":"https://api.github.com/users/CU-CommunityApps/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CU-CommunityApps/subscriptions","organizations_url":"https://api.github.com/users/CU-CommunityApps/orgs","repos_url":"https://api.github.com/users/CU-CommunityApps/repos","events_url":"https://api.github.com/users/CU-CommunityApps/events{/privacy}","received_events_url":"https://api.github.com/users/CU-CommunityApps/received_events","type":"Organization","site_admin":false},"repo":{"id":12188834,"name":"cu-kfs","full_name":"CU-CommunityApps/cu-kfs","owner":{"login":"CU-CommunityApps","id":5115848,"avatar_url":"https://avatars.githubusercontent.com/u/5115848?v=3","gravatar_id":"","url":"https://api.github.com/users/CU-CommunityApps","html_url":"https://github.com/CU-CommunityApps","followers_url":"https://api.github.com/users/CU-CommunityApps/followers","following_url":"https://api.github.com/users/CU-CommunityApps/following{/other_user}","gists_url":"https://api.github.com/users/CU-CommunityApps/gists{/gist_id}","starred_url":"https://api.github.com/users/CU-CommunityApps/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CU-CommunityApps/subscriptions","organizations_url":"https://api.github.com/users/CU-CommunityApps/orgs","repos_url":"https://api.github.com/users/CU-CommunityApps/repos","events_url":"https://api.github.com/users/CU-CommunityApps/events{/privacy}","received_events_url":"https://api.github.com/users/CU-CommunityApps/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/CU-CommunityApps/cu-kfs","description":"","fork":false,"url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs","forks_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/forks","keys_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/teams","hooks_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/hooks","issue_events_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/issues/events{/number}","events_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/events","assignees_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/assignees{/user}","branches_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/branches{/branch}","tags_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/tags","blobs_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/git/refs{/sha}","trees_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/statuses/{sha}","languages_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/languages","stargazers_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/stargazers","contributors_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/contributors","subscribers_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/subscribers","subscription_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/subscription","commits_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/commits{/sha}","git_commits_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/git/commits{/sha}","comments_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/comments{/number}","issue_comment_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/issues/comments{/number}","contents_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/contents/{+path}","compare_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/merges","archive_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/downloads","issues_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/issues{/number}","pulls_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/pulls{/number}","milestones_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/milestones{/number}","notifications_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/labels{/name}","releases_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/releases{/id}","deployments_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/deployments","created_at":"2013-08-18T01:55:18Z","updated_at":"2016-01-11T17:11:20Z","pushed_at":"2016-09-02T12:51:11Z","git_url":"git://github.com/CU-CommunityApps/cu-kfs.git","ssh_url":"git@github.com:CU-CommunityApps/cu-kfs.git","clone_url":"https://github.com/CU-CommunityApps/cu-kfs.git","svn_url":"https://github.com/CU-CommunityApps/cu-kfs","homepage":null,"size":20882,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2,"mirror_url":null,"open_issues_count":1,"forks":2,"open_issues":1,"watchers":0,"default_branch":"master"}},"base":{"label":"CU-CommunityApps:develop","ref":"develop","sha":"f77a931e45cf055d61666c7f2f281af6651d05b3","user":{"login":"CU-CommunityApps","id":5115848,"avatar_url":"https://avatars.githubusercontent.com/u/5115848?v=3","gravatar_id":"","url":"https://api.github.com/users/CU-CommunityApps","html_url":"https://github.com/CU-CommunityApps","followers_url":"https://api.github.com/users/CU-CommunityApps/followers","following_url":"https://api.github.com/users/CU-CommunityApps/following{/other_user}","gists_url":"https://api.github.com/users/CU-CommunityApps/gists{/gist_id}","starred_url":"https://api.github.com/users/CU-CommunityApps/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CU-CommunityApps/subscriptions","organizations_url":"https://api.github.com/users/CU-CommunityApps/orgs","repos_url":"https://api.github.com/users/CU-CommunityApps/repos","events_url":"https://api.github.com/users/CU-CommunityApps/events{/privacy}","received_events_url":"https://api.github.com/users/CU-CommunityApps/received_events","type":"Organization","site_admin":false},"repo":{"id":12188834,"name":"cu-kfs","full_name":"CU-CommunityApps/cu-kfs","owner":{"login":"CU-CommunityApps","id":5115848,"avatar_url":"https://avatars.githubusercontent.com/u/5115848?v=3","gravatar_id":"","url":"https://api.github.com/users/CU-CommunityApps","html_url":"https://github.com/CU-CommunityApps","followers_url":"https://api.github.com/users/CU-CommunityApps/followers","following_url":"https://api.github.com/users/CU-CommunityApps/following{/other_user}","gists_url":"https://api.github.com/users/CU-CommunityApps/gists{/gist_id}","starred_url":"https://api.github.com/users/CU-CommunityApps/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CU-CommunityApps/subscriptions","organizations_url":"https://api.github.com/users/CU-CommunityApps/orgs","repos_url":"https://api.github.com/users/CU-CommunityApps/repos","events_url":"https://api.github.com/users/CU-CommunityApps/events{/privacy}","received_events_url":"https://api.github.com/users/CU-CommunityApps/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/CU-CommunityApps/cu-kfs","description":"","fork":false,"url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs","forks_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/forks","keys_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/teams","hooks_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/hooks","issue_events_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/issues/events{/number}","events_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/events","assignees_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/assignees{/user}","branches_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/branches{/branch}","tags_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/tags","blobs_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/git/refs{/sha}","trees_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/statuses/{sha}","languages_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/languages","stargazers_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/stargazers","contributors_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/contributors","subscribers_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/subscribers","subscription_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/subscription","commits_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/commits{/sha}","git_commits_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/git/commits{/sha}","comments_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/comments{/number}","issue_comment_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/issues/comments{/number}","contents_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/contents/{+path}","compare_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/merges","archive_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/downloads","issues_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/issues{/number}","pulls_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/pulls{/number}","milestones_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/milestones{/number}","notifications_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/labels{/name}","releases_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/releases{/id}","deployments_url":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/deployments","created_at":"2013-08-18T01:55:18Z","updated_at":"2016-01-11T17:11:20Z","pushed_at":"2016-09-02T12:51:11Z","git_url":"git://github.com/CU-CommunityApps/cu-kfs.git","ssh_url":"git@github.com:CU-CommunityApps/cu-kfs.git","clone_url":"https://github.com/CU-CommunityApps/cu-kfs.git","svn_url":"https://github.com/CU-CommunityApps/cu-kfs","homepage":null,"size":20882,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2,"mirror_url":null,"open_issues_count":1,"forks":2,"open_issues":1,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/pulls/210"},"html":{"href":"https://github.com/CU-CommunityApps/cu-kfs/pull/210"},"issue":{"href":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/issues/210"},"comments":{"href":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/issues/210/comments"},"review_comments":{"href":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/pulls/210/comments"},"review_comment":{"href":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/pulls/210/commits"},"statuses":{"href":"https://api.github.com/repos/CU-CommunityApps/cu-kfs/statuses/27b0caaa2f6528eb834d77755f6a91948e987ede"}}}}
{"actor":{"display_login":"bhutchinson"}}