{"action":"closed","number":121,"pull_request":{"url":"https://api.github.com/repos/crashlytics/crashlytics-services/pulls/121","id":56550295,"html_url":"https://github.com/crashlytics/crashlytics-services/pull/121","diff_url":"https://github.com/crashlytics/crashlytics-services/pull/121.diff","patch_url":"https://github.com/crashlytics/crashlytics-services/pull/121.patch","issue_url":"https://api.github.com/repos/crashlytics/crashlytics-services/issues/121","number":121,"state":"closed","locked":false,"title":"Changed issueType to use \"name\" key instead of issue type \"id\" key.","user":{"login":"ivanlesko","id":5688184,"avatar_url":"https://avatars.githubusercontent.com/u/5688184?v=3","gravatar_id":"","url":"https://api.github.com/users/ivanlesko","html_url":"https://github.com/ivanlesko","followers_url":"https://api.github.com/users/ivanlesko/followers","following_url":"https://api.github.com/users/ivanlesko/following{/other_user}","gists_url":"https://api.github.com/users/ivanlesko/gists{/gist_id}","starred_url":"https://api.github.com/users/ivanlesko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ivanlesko/subscriptions","organizations_url":"https://api.github.com/users/ivanlesko/orgs","repos_url":"https://api.github.com/users/ivanlesko/repos","events_url":"https://api.github.com/users/ivanlesko/events{/privacy}","received_events_url":"https://api.github.com/users/ivanlesko/received_events","type":"User","site_admin":false},"body":"After attempting to integrate Crashlytics with our publicly accessibly Jira project, I kept receiving a \"{\"issuetype\"=>\"valid issue type is required\"}\" error.  After a bit of digging, I discovered a user pointed out (https://twittercommunity.com/t/jira-integration-is-not-creating-tasks/56467/10) the post requested is assuming everyone's Bug issue type id is 1.  Our Bug issue type id is 10004, for example.  \r\n\r\nTaking a look at Jira's create issue POST example, they are using the issue type \"name\" key instead of  instead of the \"id\" key.\r\n\r\nsource: https://developer.atlassian.com/jiradev/jira-apis/jira-rest-apis/jira-rest-api-tutorials/jira-rest-api-example-create-issue\r\n\r\nHere's another quote from https://developer.atlassian.com/jiradev/jira-apis/jira-rest-apis: \"Instead of using numeric identifiers for the project and issue type, you could have used the key and name of the type instead. \"\r\n\r\n(note: I haven't tested this.  I'm making an assumption that the example POST json on Jira's website is correct)\r\n\r\n{\r\n    \"fields\": {\r\n       \"project\":\r\n       { \r\n          \"key\": \"TEST\"\r\n       },\r\n       \"summary\": \"REST ye merry gentlemen.\",\r\n       \"description\": \"Creating of an issue using project keys and issue type names using the REST API\",\r\n       \"issuetype\": {\r\n          \"name\": \"Bug\"\r\n       }\r\n   }\r\n}","created_at":"2016-01-20T01:01:06Z","updated_at":"2016-01-21T23:15:19Z","closed_at":"2016-01-21T23:15:19Z","merged_at":null,"merge_commit_sha":"93bc2cac677f0698b195fb9ba3b02c73ba5b2d44","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/crashlytics/crashlytics-services/pulls/121/commits","review_comments_url":"https://api.github.com/repos/crashlytics/crashlytics-services/pulls/121/comments","review_comment_url":"https://api.github.com/repos/crashlytics/crashlytics-services/pulls/comments{/number}","comments_url":"https://api.github.com/repos/crashlytics/crashlytics-services/issues/121/comments","statuses_url":"https://api.github.com/repos/crashlytics/crashlytics-services/statuses/a1f4285d3bfd55c2121c76275cea793af1c734f2","head":{"label":"ivanlesko:JiraBugIssueTypeFix","ref":"JiraBugIssueTypeFix","sha":"a1f4285d3bfd55c2121c76275cea793af1c734f2","user":{"login":"ivanlesko","id":5688184,"avatar_url":"https://avatars.githubusercontent.com/u/5688184?v=3","gravatar_id":"","url":"https://api.github.com/users/ivanlesko","html_url":"https://github.com/ivanlesko","followers_url":"https://api.github.com/users/ivanlesko/followers","following_url":"https://api.github.com/users/ivanlesko/following{/other_user}","gists_url":"https://api.github.com/users/ivanlesko/gists{/gist_id}","starred_url":"https://api.github.com/users/ivanlesko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ivanlesko/subscriptions","organizations_url":"https://api.github.com/users/ivanlesko/orgs","repos_url":"https://api.github.com/users/ivanlesko/repos","events_url":"https://api.github.com/users/ivanlesko/events{/privacy}","received_events_url":"https://api.github.com/users/ivanlesko/received_events","type":"User","site_admin":false},"repo":{"id":49993749,"name":"crashlytics-services","full_name":"ivanlesko/crashlytics-services","owner":{"login":"ivanlesko","id":5688184,"avatar_url":"https://avatars.githubusercontent.com/u/5688184?v=3","gravatar_id":"","url":"https://api.github.com/users/ivanlesko","html_url":"https://github.com/ivanlesko","followers_url":"https://api.github.com/users/ivanlesko/followers","following_url":"https://api.github.com/users/ivanlesko/following{/other_user}","gists_url":"https://api.github.com/users/ivanlesko/gists{/gist_id}","starred_url":"https://api.github.com/users/ivanlesko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ivanlesko/subscriptions","organizations_url":"https://api.github.com/users/ivanlesko/orgs","repos_url":"https://api.github.com/users/ivanlesko/repos","events_url":"https://api.github.com/users/ivanlesko/events{/privacy}","received_events_url":"https://api.github.com/users/ivanlesko/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/ivanlesko/crashlytics-services","description":"Simple, powerful, declarative integrations for popular third-party services.","fork":true,"url":"https://api.github.com/repos/ivanlesko/crashlytics-services","forks_url":"https://api.github.com/repos/ivanlesko/crashlytics-services/forks","keys_url":"https://api.github.com/repos/ivanlesko/crashlytics-services/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ivanlesko/crashlytics-services/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ivanlesko/crashlytics-services/teams","hooks_url":"https://api.github.com/repos/ivanlesko/crashlytics-services/hooks","issue_events_url":"https://api.github.com/repos/ivanlesko/crashlytics-services/issues/events{/number}","events_url":"https://api.github.com/repos/ivanlesko/crashlytics-services/events","assignees_url":"https://api.github.com/repos/ivanlesko/crashlytics-services/assignees{/user}","branches_url":"https://api.github.com/repos/ivanlesko/crashlytics-services/branches{/branch}","tags_url":"https://api.github.com/repos/ivanlesko/crashlytics-services/tags","blobs_url":"https://api.github.com/repos/ivanlesko/crashlytics-services/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ivanlesko/crashlytics-services/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ivanlesko/crashlytics-services/git/refs{/sha}","trees_url":"https://api.github.com/repos/ivanlesko/crashlytics-services/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ivanlesko/crashlytics-services/statuses/{sha}","languages_url":"https://api.github.com/repos/ivanlesko/crashlytics-services/languages","stargazers_url":"https://api.github.com/repos/ivanlesko/crashlytics-services/stargazers","contributors_url":"https://api.github.com/repos/ivanlesko/crashlytics-services/contributors","subscribers_url":"https://api.github.com/repos/ivanlesko/crashlytics-services/subscribers","subscription_url":"https://api.github.com/repos/ivanlesko/crashlytics-services/subscription","commits_url":"https://api.github.com/repos/ivanlesko/crashlytics-services/commits{/sha}","git_commits_url":"https://api.github.com/repos/ivanlesko/crashlytics-services/git/commits{/sha}","comments_url":"https://api.github.com/repos/ivanlesko/crashlytics-services/comments{/number}","issue_comment_url":"https://api.github.com/repos/ivanlesko/crashlytics-services/issues/comments{/number}","contents_url":"https://api.github.com/repos/ivanlesko/crashlytics-services/contents/{+path}","compare_url":"https://api.github.com/repos/ivanlesko/crashlytics-services/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ivanlesko/crashlytics-services/merges","archive_url":"https://api.github.com/repos/ivanlesko/crashlytics-services/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ivanlesko/crashlytics-services/downloads","issues_url":"https://api.github.com/repos/ivanlesko/crashlytics-services/issues{/number}","pulls_url":"https://api.github.com/repos/ivanlesko/crashlytics-services/pulls{/number}","milestones_url":"https://api.github.com/repos/ivanlesko/crashlytics-services/milestones{/number}","notifications_url":"https://api.github.com/repos/ivanlesko/crashlytics-services/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ivanlesko/crashlytics-services/labels{/name}","releases_url":"https://api.github.com/repos/ivanlesko/crashlytics-services/releases{/id}","deployments_url":"https://api.github.com/repos/ivanlesko/crashlytics-services/deployments","created_at":"2016-01-20T00:47:51Z","updated_at":"2016-01-20T00:47:51Z","pushed_at":"2016-01-20T00:53:55Z","git_url":"git://github.com/ivanlesko/crashlytics-services.git","ssh_url":"git@github.com:ivanlesko/crashlytics-services.git","clone_url":"https://github.com/ivanlesko/crashlytics-services.git","svn_url":"https://github.com/ivanlesko/crashlytics-services","homepage":"","size":495,"stargazers_count":0,"watchers_count":0,"language":"Ruby","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"crashlytics:master","ref":"master","sha":"7da423a06a70a7a54a0aaba84a2606a36a212804","user":{"login":"crashlytics","id":902863,"avatar_url":"https://avatars.githubusercontent.com/u/902863?v=3","gravatar_id":"","url":"https://api.github.com/users/crashlytics","html_url":"https://github.com/crashlytics","followers_url":"https://api.github.com/users/crashlytics/followers","following_url":"https://api.github.com/users/crashlytics/following{/other_user}","gists_url":"https://api.github.com/users/crashlytics/gists{/gist_id}","starred_url":"https://api.github.com/users/crashlytics/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/crashlytics/subscriptions","organizations_url":"https://api.github.com/users/crashlytics/orgs","repos_url":"https://api.github.com/users/crashlytics/repos","events_url":"https://api.github.com/users/crashlytics/events{/privacy}","received_events_url":"https://api.github.com/users/crashlytics/received_events","type":"Organization","site_admin":false},"repo":{"id":6034614,"name":"crashlytics-services","full_name":"crashlytics/crashlytics-services","owner":{"login":"crashlytics","id":902863,"avatar_url":"https://avatars.githubusercontent.com/u/902863?v=3","gravatar_id":"","url":"https://api.github.com/users/crashlytics","html_url":"https://github.com/crashlytics","followers_url":"https://api.github.com/users/crashlytics/followers","following_url":"https://api.github.com/users/crashlytics/following{/other_user}","gists_url":"https://api.github.com/users/crashlytics/gists{/gist_id}","starred_url":"https://api.github.com/users/crashlytics/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/crashlytics/subscriptions","organizations_url":"https://api.github.com/users/crashlytics/orgs","repos_url":"https://api.github.com/users/crashlytics/repos","events_url":"https://api.github.com/users/crashlytics/events{/privacy}","received_events_url":"https://api.github.com/users/crashlytics/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/crashlytics/crashlytics-services","description":"Simple, powerful, declarative integrations for popular third-party services.","fork":false,"url":"https://api.github.com/repos/crashlytics/crashlytics-services","forks_url":"https://api.github.com/repos/crashlytics/crashlytics-services/forks","keys_url":"https://api.github.com/repos/crashlytics/crashlytics-services/keys{/key_id}","collaborators_url":"https://api.github.com/repos/crashlytics/crashlytics-services/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/crashlytics/crashlytics-services/teams","hooks_url":"https://api.github.com/repos/crashlytics/crashlytics-services/hooks","issue_events_url":"https://api.github.com/repos/crashlytics/crashlytics-services/issues/events{/number}","events_url":"https://api.github.com/repos/crashlytics/crashlytics-services/events","assignees_url":"https://api.github.com/repos/crashlytics/crashlytics-services/assignees{/user}","branches_url":"https://api.github.com/repos/crashlytics/crashlytics-services/branches{/branch}","tags_url":"https://api.github.com/repos/crashlytics/crashlytics-services/tags","blobs_url":"https://api.github.com/repos/crashlytics/crashlytics-services/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/crashlytics/crashlytics-services/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/crashlytics/crashlytics-services/git/refs{/sha}","trees_url":"https://api.github.com/repos/crashlytics/crashlytics-services/git/trees{/sha}","statuses_url":"https://api.github.com/repos/crashlytics/crashlytics-services/statuses/{sha}","languages_url":"https://api.github.com/repos/crashlytics/crashlytics-services/languages","stargazers_url":"https://api.github.com/repos/crashlytics/crashlytics-services/stargazers","contributors_url":"https://api.github.com/repos/crashlytics/crashlytics-services/contributors","subscribers_url":"https://api.github.com/repos/crashlytics/crashlytics-services/subscribers","subscription_url":"https://api.github.com/repos/crashlytics/crashlytics-services/subscription","commits_url":"https://api.github.com/repos/crashlytics/crashlytics-services/commits{/sha}","git_commits_url":"https://api.github.com/repos/crashlytics/crashlytics-services/git/commits{/sha}","comments_url":"https://api.github.com/repos/crashlytics/crashlytics-services/comments{/number}","issue_comment_url":"https://api.github.com/repos/crashlytics/crashlytics-services/issues/comments{/number}","contents_url":"https://api.github.com/repos/crashlytics/crashlytics-services/contents/{+path}","compare_url":"https://api.github.com/repos/crashlytics/crashlytics-services/compare/{base}...{head}","merges_url":"https://api.github.com/repos/crashlytics/crashlytics-services/merges","archive_url":"https://api.github.com/repos/crashlytics/crashlytics-services/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/crashlytics/crashlytics-services/downloads","issues_url":"https://api.github.com/repos/crashlytics/crashlytics-services/issues{/number}","pulls_url":"https://api.github.com/repos/crashlytics/crashlytics-services/pulls{/number}","milestones_url":"https://api.github.com/repos/crashlytics/crashlytics-services/milestones{/number}","notifications_url":"https://api.github.com/repos/crashlytics/crashlytics-services/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/crashlytics/crashlytics-services/labels{/name}","releases_url":"https://api.github.com/repos/crashlytics/crashlytics-services/releases{/id}","deployments_url":"https://api.github.com/repos/crashlytics/crashlytics-services/deployments","created_at":"2012-10-01T19:02:46Z","updated_at":"2016-01-11T18:04:29Z","pushed_at":"2016-01-21T23:12:11Z","git_url":"git://github.com/crashlytics/crashlytics-services.git","ssh_url":"git@github.com:crashlytics/crashlytics-services.git","clone_url":"https://github.com/crashlytics/crashlytics-services.git","svn_url":"https://github.com/crashlytics/crashlytics-services","homepage":"","size":643,"stargazers_count":145,"watchers_count":145,"language":"Ruby","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":61,"mirror_url":null,"open_issues_count":7,"forks":61,"open_issues":7,"watchers":145,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/crashlytics/crashlytics-services/pulls/121"},"html":{"href":"https://github.com/crashlytics/crashlytics-services/pull/121"},"issue":{"href":"https://api.github.com/repos/crashlytics/crashlytics-services/issues/121"},"comments":{"href":"https://api.github.com/repos/crashlytics/crashlytics-services/issues/121/comments"},"review_comments":{"href":"https://api.github.com/repos/crashlytics/crashlytics-services/pulls/121/comments"},"review_comment":{"href":"https://api.github.com/repos/crashlytics/crashlytics-services/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/crashlytics/crashlytics-services/pulls/121/commits"},"statuses":{"href":"https://api.github.com/repos/crashlytics/crashlytics-services/statuses/a1f4285d3bfd55c2121c76275cea793af1c734f2"}},"merged":false,"mergeable":true,"mergeable_state":"clean","merged_by":null,"comments":4,"review_comments":0,"commits":1,"additions":1,"deletions":1,"changed_files":1}}