Forum Discussion
sonarQube API dynamic data
Hi,
I want to access Sonar data via the API with the following request :
let
BaseUrl = "https://sonar.xxxx.xxx",
RelPath = "api/projects/search",
EntitiesPerPage = 500,
GetJson = (Url) =>
let options = [RelativePath=RelPath, Headers =[#"Content-type"="application/json"]],
RawData = Web.Contents(Url, options),
Json = Json.Document(RawData)
in Json,
Url = BaseUrl,
Json = GetJson(Url),
components = Json[components],
#"Converti en table" = Table.FromList(components, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
#"Column1 développé" = Table.ExpandRecordColumn(#"Converti en table", "Column1", {"organization", "key", "name", "qualifier", "visibility", "lastAnalysisDate", "revision"}, {"Column1.organization", "Column1.key", "Column1.name", "Column1.qualifier", "Column1.visibility", "Column1.lastAnalysisDate", "Column1.revision"}),
#"Colonnes supprimées" = Table.RemoveColumns(#"Column1 développé",{"Column1.organization", "Column1.qualifier", "Column1.visibility", "Column1.lastAnalysisDate", "Column1.revision"}),
#"Colonnes renommées" = Table.RenameColumns(#"Colonnes supprimées",{{"Column1.key", "key"}, {"Column1.name", "name"}}),
#"Lignes triées" = Table.Sort(#"Colonnes renommées",{{"key", Order.Ascending}})
in
#"Lignes triées"
The Data Source is used with Basic Auth and the Sonar Token in User name.
Everything works perfectly on Desktop, but when I deploy to the server and want to add the automatic refresh, I have following error :
You can't schedule refresh for this dataset because the following data sources currently don't support refresh:
- Data source for Query1
I have a similar solution with Jira API without problems.
The Qery has no dynamic paramters. Where is the problem ?
Thanks
- Anonymous5 years ago
HI Anonymous,
I mean unpackage your custom functions, you can take a look at the following codes:
let BaseUrl = "https://sonar.xxx.xxx", RelPath = "api/projects/search", EntitiesPerPage = 500, Json = Web.Contents( BaseUrl, [ RelativePath = RelPath, Headers = [ #"Content-type" = "application/json" ] ] ), components = Json.Document(Json)[components], #"TableConvert" = Table.FromList( components, Splitter.SplitByNothing(), null, null, ExtraValues.Error ) in #"TableConvert"Regards,
Xiaoxin Sheng
5 Replies
- AnonymousNot applicable
Hi Anonymous,
If you convert custom function steps to common query table steps, did this issue appears again? If it appears again, can you please share some more detailed info to help us clarify your scenario?
How to Get Your Question Answered Quickly
Regards,Xiaoxin Sheng
- AnonymousNot applicable
Hi,
I don't know if I understood your request correctly with "convert custom function steps to common query table steps", but I have transformed my request like this :
let BaseUrl = "https://sonar.xxx.xxx", RelPath = "api/projects/search", EntitiesPerPage = 500, GetJson = (Url) => let options = [RelativePath=RelPath, Headers =[#"Content-type"="application/json"]], // pour la Basic en Base64 : token + ":" RawData = Web.Contents(Url, options), Json = Json.Document(RawData) in Json, Url = BaseUrl, Json = GetJson(Url), components = Json[components], #"TableConvert" = Table.FromList(components, Splitter.SplitByNothing(), null, null, ExtraValues.Error) in #"TableConvert"The problem is always the same with referesh.
I suspect the problem is with the SonarQube API. Has anyone used it in PowerBI before? Does the automatic refresh work?
Thanks
Yves
- AnonymousNot applicable
HI Anonymous,
I mean unpackage your custom functions, you can take a look at the following codes:
let BaseUrl = "https://sonar.xxx.xxx", RelPath = "api/projects/search", EntitiesPerPage = 500, Json = Web.Contents( BaseUrl, [ RelativePath = RelPath, Headers = [ #"Content-type" = "application/json" ] ] ), components = Json.Document(Json)[components], #"TableConvert" = Table.FromList( components, Splitter.SplitByNothing(), null, null, ExtraValues.Error ) in #"TableConvert"Regards,
Xiaoxin Sheng