2017-08-10 4 views
0

が「がn」であり、以下に示すようの数がキー値を発行しJIRAクエリからJSON出力リストを解析さがあります:私は、問題のために取得したいRを使用してJIRAクエリの出力リストからパラメータの値を解析して取得するには?

library(httr) 
library(tibble) 
library(dplyr) 
url <- "https://somesite.atlassian.net/rest/api/latest/search?jql=project = Project" 
res <- GET(url , authenticate("username", "password", "basic")) 
parsed_json <- content(res, "parsed") 

parsed_json$total 
[1] 4 

number_of_issues <- parsed_json$total 

parsed_json$issues[[1]]$key 
[1] "Project-111" 
parsed_json$issues[[2]]$key 
[1] "Project-112" 
parsed_json$issues[[3]]$key 
[1] "Project-113" 
parsed_json$issues[[4]]$key 
[1] "Project-114" 

IssuesList <- paste0("parsed_json$issues[[", 1:number_of_issues,"]]$key") 

IssuesList 
[1] "parsed_json$issues[[1]]$key" "parsed_json$issues[[2]]$key" "parsed_json$issues[[3]]$key" "parsed_json$issues[[4]]$key" 

は、キー値をリストから削除します。私はparsed_json $ issues [[?]] $ keyの値をリストから取得する方法に打撃を受けます。このフォーラムで最も近い質問はR: How to convert the output-list from a FQL-query into a data.frame?でした。しかし、私は個々のパラメータの値を抽出できませんでした。さらに、生成されたリストの引数の長さが同じではないため、このソリューションを使用できませんでした。これを達成するための提案はどうですか?

答えて

0

私は解決策を考え出したとREST APIとR.

library(httr) 
library(tibble) 
library(dplyr) 

url <- "https://somesite.atlassian.net/rest/api/latest/search?jql=project = Project" 
res <- GET(url , authenticate("username", "password", "basic")) 
parsed_json <- content(res, "parsed") 
parsed_json <- enframe(unlist(parsed_json, recursive = TRUE, use.names = TRUE)) 

# Select the parameters which has values for all the issues in the JIRA query output list 
# to avoid "arguments in the generated list are not of same length" error message while unstacking. 

df<- filter(parsed_json, (name == "issues.key" | name == "issues.fields.status.name" | name == "issues.fields.summary" | 
          name == "issues.fields.assignee.displayName" | name == "issues.fields.created" | 
          name == "issues.fields.updated"...)) 
df <- unstack(as.data.frame(df), value ~ name) 
を使用してJIRAを照会することを計画している私のような人々のためにそれを共有します
関連する問題