{"action":"created","issue":{"url":"https://api.github.com/repos/cyverse-de/terrain/issues/70","repository_url":"https://api.github.com/repos/cyverse-de/terrain","labels_url":"https://api.github.com/repos/cyverse-de/terrain/issues/70/labels{/name}","comments_url":"https://api.github.com/repos/cyverse-de/terrain/issues/70/comments","events_url":"https://api.github.com/repos/cyverse-de/terrain/issues/70/events","html_url":"https://github.com/cyverse-de/terrain/pull/70","id":367984680,"node_id":"MDExOlB1bGxSZXF1ZXN0MjIxMjY3Mzc5","number":70,"title":"CORE-8699 Update /permanent-id-requests endpoints with DataCite client for DOI submissions","user":{"login":"psarando","id":996408,"node_id":"MDQ6VXNlcjk5NjQwOA==","avatar_url":"https://avatars3.githubusercontent.com/u/996408?v=4","gravatar_id":"","url":"https://api.github.com/users/psarando","html_url":"https://github.com/psarando","followers_url":"https://api.github.com/users/psarando/followers","following_url":"https://api.github.com/users/psarando/following{/other_user}","gists_url":"https://api.github.com/users/psarando/gists{/gist_id}","starred_url":"https://api.github.com/users/psarando/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/psarando/subscriptions","organizations_url":"https://api.github.com/users/psarando/orgs","repos_url":"https://api.github.com/users/psarando/repos","events_url":"https://api.github.com/users/psarando/events{/privacy}","received_events_url":"https://api.github.com/users/psarando/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-10-08T23:15:13Z","updated_at":"2018-11-15T00:30:46Z","closed_at":null,"author_association":"MEMBER","pull_request":{"url":"https://api.github.com/repos/cyverse-de/terrain/pulls/70","html_url":"https://github.com/cyverse-de/terrain/pull/70","diff_url":"https://github.com/cyverse-de/terrain/pull/70.diff","patch_url":"https://github.com/cyverse-de/terrain/pull/70.patch"},"body":"This PR will update the `/permanent-id-requests` endpoints with a DataCite client for DOI submissions in order to support duplicated and nested metadata AVUs.\r\n\r\nSince EZID is being discontinued, these endpoints have also been updated for DOI submission requests to [DataCite's EZ API](https://support.datacite.org/docs/datacite-ez-api-guide) (also requires updating the endpoints and credentials in terrain's configs).\r\n\r\nThis PR also adds a `GET /permanent-id-requests/:request-id/preview-submission` endpoint for previewing the DataCite XML, generated from folder metadata, that would be submitted to DataCite for DOIs.\r\n\r\nNote that `terrain.clients.datacite` was written before work was done for https://github.com/cyverse-de/metadata-files.\r\n\r\nThis PR contains the minimal required for generating DataCite XML from nested metadata in the DE and submitting the results to DataCite for creating DOIs, but it does not currently validate the generated XML before submission. During testing, the DataCite submission endpoint simply returned an `Internal server error` for XML that did not validate against their DataCite v4 schema.\r\n\r\nThe `/permanent-id-requests` endpoints should probably be updated with the `metadata-files` library once that can support generating DataCite XML from nested metadata, and these endpoints should validate the submission XML and return informative error messages to admins on XML schema validation failures."},"comment":{"url":"https://api.github.com/repos/cyverse-de/terrain/issues/comments/438870208","html_url":"https://github.com/cyverse-de/terrain/pull/70#issuecomment-438870208","issue_url":"https://api.github.com/repos/cyverse-de/terrain/issues/70","id":438870208,"node_id":"MDEyOklzc3VlQ29tbWVudDQzODg3MDIwOA==","user":{"login":"psarando","id":996408,"node_id":"MDQ6VXNlcjk5NjQwOA==","avatar_url":"https://avatars3.githubusercontent.com/u/996408?v=4","gravatar_id":"","url":"https://api.github.com/users/psarando","html_url":"https://github.com/psarando","followers_url":"https://api.github.com/users/psarando/followers","following_url":"https://api.github.com/users/psarando/following{/other_user}","gists_url":"https://api.github.com/users/psarando/gists{/gist_id}","starred_url":"https://api.github.com/users/psarando/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/psarando/subscriptions","organizations_url":"https://api.github.com/users/psarando/orgs","repos_url":"https://api.github.com/users/psarando/repos","events_url":"https://api.github.com/users/psarando/events{/privacy}","received_events_url":"https://api.github.com/users/psarando/received_events","type":"User","site_admin":false},"created_at":"2018-11-15T00:30:46Z","updated_at":"2018-11-15T00:30:46Z","author_association":"MEMBER","body":"Thanks for the review! 👍 \r\n\r\nI'm going to go ahead and merge this now so Ramona can start testing this in QA, but reviews on that last commit are still welcome!"}}
{"actor":{"display_login":"psarando"}}