Create API Token is non responsive

Issue #1 resolved
Andrew Chadwell created an issue

I click it and nothing happens.

According to the docs I'm expecting to see
Add Label and click Create button
Copy generated API Token

Comments (18)

  1. Roma Bubyakin [Wombats Corp]

    @Andrew Chadwell thank a lot for rising a ticket!

    Unfortunately, I cannot reproduce, but really want to fix it

    It would be great if you can provide any additional information. Most likely it’s JS bug so I need

    Looking forward to your reply, Roman

  2. Derk Geene

    I have tried this is both firefox and chrome, in both cases there is no logging or traffic if I click the button.

    Do you want the log of loading the page?

    When I inspect the button I see a div with id license-error (line 13 below), can this indicate a problem?

    <div id="api-tokens" class="module">
        <div class="mod-header">
            <ul class="ops">
                <li>
                    <a id="api-tokens-help" class="aui-button aui-button-subtle" href="https://confluence.atlassian.com/x/Vo71Nw" target="_blank" title="Help">
                        <span class="aui-icon aui-icon-small aui-iconfont-help">Help</span>
                    </a>
                </li>
            </ul>
            <h3>API tokens</h3>
        </div>
        <div class="mod-content">
    
                <p>A script or other process can use an API token to perform basic authentication with Jira applications. You should treat API tokens as securely as any other password.</p>
                <br>
                <div id="license-error"></div>
                <button id="create-token" class="aui-button aui-button-primary" resolved="">Create API token</button>
                <div class="tokens-container">
                    <br>
                    <table class="aui app-specific-passwords-list has-password">
                        <thead>
                        <tr>
                            <th id="name">Label</th>
                            <th id="accessed">Last accessed</th>
                            <th id="revoke"></th>
                        </tr>
                        </thead>
                        <tbody id="tokens_table">
                        <tr>
                            <td headers="name">dw</td>
                            <td headers="accessed"><span class="never-used-token">Never accessed</span></td>
                            <td class="actions" headers="revoke">
                                <ul class="menu">
                                    <li><a href="#" id="app-specific-passwords-revoke-asp_707E5x8ztS1JPrG4" data-asp-id="asp_707E5x8ztS1JPrG4" data-asp-label="dw">Revoke</a></li>
                                </ul>
                            </td>
                        </tr>
                        </tbody>
                    </table>
                    <br>
                    <div class="app-specific-passwords-footer-buttons-container">
                        <button id="app-specific-passwords-revoke-all" class="aui-button" resolved="">Revoke API tokens</button>
                    </div>
                    <span class="no-password">It seems like you don't have an API token right now.</span>
                </div>
    
        </div>
    
        <section id="create-token-dialog" class="aui-dialog2 aui-dialog2-medium aui-layer" role="dialog" aria-hidden="true">
            <header class="aui-dialog2-header">
                <h2 class="aui-dialog2-header-main">Create your API token</h2>
            </header>
            <div class="aui-dialog2-content">
                <form class="aui">
                    <div class="field-group">
                        <label for="label-input">Label<span class="aui-icon icon-required">required</span></label>
                        <input class="text" type="text" id="label-input" name="label-input" title="Name for new token">
                        <div class="description">Make sure you choose a memorable and concise name</div>
                    </div>
                </form>
            </div>
            <footer class="aui-dialog2-footer">
                <div class="aui-dialog2-footer-actions">
                    <button class="aui-button aui-button-primary create">Create</button>
                    <button class="aui-button aui-button-link close">Close</button>
                </div>
            </footer>
        </section>
    
        <section id="revoke-all-tokens-dialog" class="aui-dialog2 aui-dialog2-small aui-layer" role="dialog" aria-hidden="true">
            <header class="aui-dialog2-header">
                <h2 class="aui-dialog2-header-main">Confirm revocation</h2>
            </header>
            <div class="aui-dialog2-content">
                <p>Are you sure you want to permanently revoke <strong>all</strong> your API tokens?</p>
            </div>
            <footer class="aui-dialog2-footer">
                <div class="aui-dialog2-footer-actions">
                    <button class="aui-button aui-button-primary revoke-all">Confirm</button>
                    <button class="aui-button aui-button-link close">Close</button>
                </div>
            </footer>
        </section>
    
    
        <section id="revoke-token-dialog" class="aui-dialog2 aui-dialog2-small aui-layer" role="dialog" aria-hidden="true">
            <header class="aui-dialog2-header">
                <h2 class="aui-dialog2-header-main">Confirm revocation</h2>
            </header>
            <div class="aui-dialog2-content">
                <p>Are you sure you want to permanently revoke your API token: <strong id="revoking-token-label"></strong></p>
                <input type="hidden" name="revoking-token-id" id="revoking-token-id" value="">
            </div>
            <footer class="aui-dialog2-footer">
                <div class="aui-dialog2-footer-actions">
                    <button class="aui-button aui-button-primary revoke">Confirm</button>
                    <button class="aui-button aui-button-link close">Close</button>
                </div>
            </footer>
        </section>
    
        <section id="show-token-dialog" class="aui-dialog2 aui-dialog2-small aui-layer" role="dialog" aria-hidden="true">
            <header class="aui-dialog2-header">
                <h2 class="aui-dialog2-header-main">Your new API token</h2>
            </header>
            <div class="aui-dialog2-content">
                <p>Copy this API token before closing the dialog (you won't be able to see the token later).</p>
                <div class="app-specific-passwords-container">
                    <input id="plain-token" value="" readonly="" type="password">
                    <button id="view-password" class="aui-button aui-button-subtle" resolved="">View</button>
                </div>
            </div>
            <footer class="aui-dialog2-footer">
                <div class="aui-dialog2-footer-actions">
                    <button class="aui-button aui-button-primary copy-to-clipboard">Copy to clipboard</button>
                    <button class="aui-button aui-button-link close">Close</button>
                </div>
            </footer>
        </section>
    </div>
    

  3. Andrew Chadwell reporter

    hmmm, just seen this, I need to check my spam, not sure why I wasn’t getting updates.

  4. Roma Bubyakin [Wombats Corp]

    @Derk Geene , @Andrew Chadwell

    #license-error just a placeholder for notification banner in case if license is not valid. No it cannot affect the logic.

    Let’s do next:

    • Send me please logs that you can find. All logs from browser console log + loading page log (if it’s not the same)
    • Update version to v1.0.2 I released it last night. It has some JS improvements and with small probability might solve the bug.
    • Please try to run plugin in Safe Mode. Of course it is much better to do on test environment if you have such.

    If non of above will help next thing to do is screen share session.

    P.S. I appreciate your willing to help on it!

  5. Andrew Chadwell reporter

    I stopped JIRA

    Cleared Catalina

    Cleared Plug-in cache

    Cleared indexes

    Started JIRA

    Ran a lock re-index.

    Still didn’t work.

    enabled “safe mode” as you suggested and Enabled API Token plug-in only.

    And had success seeing the next page.

  6. Andrew Chadwell reporter

    I turned off safe mode and it doesn’t work once again. There is less than 15 3rd party plug-ins I could flip those one at a time, hopefully it is not a system plug-in as there are several.

  7. Roma Bubyakin [Wombats Corp]

    Thank you, Andrew

    This is more than enough at the moment!

    I will try to reproduce it and find a workaround for that

  8. Roma Bubyakin [Wombats Corp]

    Hello @Andrew Chadwell

    • I made testing on the same Jira version that you have (v7.11.2)
    • With Jira Capture v.2.9.17.291700032
    • On Chrome, Firefox and IE
    • With Chrome extension for Jira Capture
    • Against all three versions of API Tokens for Jira plugin

    And still cannot reproduce the issue.

    Could we have a screen-share session? If yes, please contact me directly bubyakin.roma@gmail.com

  9. Log in to comment