Forum Discussion

dude95's avatar
dude95
Resolver I
4 years ago
Solved

Jira API - Authorization using Key not working

Trying to pull information off of Jira for the web.  Looks like Atlasian no longer does user id/password authentication - all of the answers I found seem to be either older and using that method or incomplete.

 

What I understand - a token must be generated in base64 that combines user email and api token from Jira.  I do that with this code

 

 

let
    Source = User&":"&Token,
    Bytes = Text.ToBinary(Source),
    TextForm = Binary.ToText(Bytes, BinaryEncoding.Base64 )
in
    TextForm

 

 

Then I execute the API with this (that I just pulled from another thread)

 

let 
    BaseUrl = "https://titanpm.atlassian.net/rest/api/3/search?jql=project in ('Titan Solutions')",
    JiraIDPerPage = 1000,
 
    GetJson = (Url) =>
        let 
            RawData = Web.Contents(Url,[Headers=[Authorization="Basic " & Credentials ]]),
            Json    = Json.Document(RawData)
        in  Json,
 
    GetJiraIDCount = () =>
        let Url   = BaseUrl & "&maxResults=0",
            Json  = GetJson(Url),
            Count = Json[#"total"]
        in  Count,
 
    GetPage = (Index) =>
        let Skip  = "&startAt=" & Text.From(Index * JiraIDPerPage),
            Top   = "&maxResults=" & Text.From(JiraIDPerPage),
            Url   = BaseUrl & Skip & Top,
            Json  = GetJson(Url),
            Value = Json[#"issues"]
        in  Value,
 
    JiraIDCount = List.Max({ JiraIDPerPage, GetJiraIDCount() }),
    PageCount   = Number.RoundUp(JiraIDCount / JiraIDPerPage),
    PageIndices = { 0 .. PageCount - 1 },
    Pages       = List.Transform(PageIndices, each GetPage(_)),
    JiraID    = List.Union(Pages),
    Table       = Table.FromList(JiraID, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    #"Expanded Column1" = Table.ExpandRecordColumn(Table, "Column1", {"id", "key", "fields"}, {"Column1.id", "Column1.key", "Column1.fields"})
in
    #"Expanded Column1"

 

The problem is credentials on the data source itself.  Power BI gives an error for anonymous access (with the key in the code)

 

I know I can't use user ID and password anymore?  What should I be using to get through here???

 

1 Reply