• 
      

    Add a comprehensive guide on the actions framework.

    Review Request #15060 — Created May 15, 2026 and submitted

    Information

    Review Board
    release-8.x

    Reviewers

    This adds a new page that covers how to customize the UI using the
    actions framework and action hooks. It walks through building a basic
    action, customizing it for different needs, introducing JavaScript
    support, custom rendering, and then how to use actions in the main
    places in which they're supported.

    This replaces the old action documentation, which was out of date with
    the new changes in 8.0 and were constrained to the ActionHook page.

    This will give us something that we can reference in the release notes,
    give developers a solid starting point for writing actions, and give AI
    agents enough information and links to assist others with that process.

    Checked for spelling, link, and build errors.

    Ran through Claude Code to check for any noticeable issues, including
    inconsistency issues with the sample code or descriptions of attributes
    and methods.

    Summary ID
    Add a comprehensive guide on the actions framework.
    This adds a new page that covers how to customize the UI using the actions framework and action hooks. It walks through building a basic action, customizing it for different needs, introducing JavaScript support, custom rendering, and then how to use actions in the main places in which they're supported. This replaces the old action documentation, which was out of date with the new changes in 8.0 and were constrained to the `ActionHook` page. This will give us something that we can reference in the release notes, give developers a solid starting point for writing actions, and give AI agents enough information and links to assist others with that process.
    ea81668f11d65770adfcf0782a469fbe3113b498
    Description From Last Updated

    Let's add a const myExtraState = this.get('myExtraState'); in here and the Spina example for good measure.

    maubin maubin

    Let's add "This will place a menu in the header area (where your account menu lives)." here too. Even though …

    maubin maubin

    We could say something like "This needs to be done to actually allow actions to be used"? Just something to …

    maubin maubin

    This should say "Adding to built-in header menus".

    maubin maubin

    This should say "Adding to built-in review request menus".

    maubin maubin

    I think "review request action bar" is probably better here.

    maubin maubin

    I like the writing in the header menu section better, I like how we say: "... by including the menu's …

    maubin maubin

    Can we say here that if this is not specified, it will render on all pages that contain the attachment …

    david david

    This is missing required items like action_id. Could either add those or use ... like you do in some of …

    david david

    This reads a little bit weird, especially since the example is down lower. Can we move the example above the …

    david david

    Should we also mention REVIEW_REQUEST_LEFT?

    david david

    Most other places that you're listing action IDs they use double quotes.

    david david

    Shouldn't this just be "actions"? (alternatively, move the file into the extensions directory).

    david david
    chipx86
    maubin
    1. Nice, very informative.

    2. docs/manual/extending/actions.rst (Diff revision 2)
       
       
       
       
      Show all issues

      Let's add a const myExtraState = this.get('myExtraState'); in here and the Spina example for good measure.

    3. docs/manual/extending/actions.rst (Diff revision 2)
       
       
      Show all issues

      Let's add "This will place a menu in the header area (where your account menu lives)." here too. Even though we already say that in the general action docs above, it'd be useful here if someone just skips to this section without reading the other stuff.

    4. docs/manual/extending/actions.rst (Diff revision 2)
       
       
      Show all issues

      We could say something like "This needs to be done to actually allow actions to be used"? Just something to stress that this needs to be done, for people who aren't familiar with registering and what it means I guess.

    5. docs/manual/extending/actions.rst (Diff revision 2)
       
       
      Show all issues

      This should say "Adding to built-in header menus".

    6. docs/manual/extending/actions.rst (Diff revision 2)
       
       
      Show all issues

      This should say "Adding to built-in review request menus".

    7. docs/manual/extending/actions.rst (Diff revision 2)
       
       
      Show all issues

      I think "review request action bar" is probably better here.

    8. docs/manual/extending/actions.rst (Diff revision 2)
       
       
       
       
       
       
      Show all issues

      I like the writing in the header menu section better, I like how we say:

      "... by including the menu's
      action ID as the placement's parent_id.

      The following action IDs are available:"

    9. 
        
    chipx86
    maubin
    1. Ship It!
    2. 
        
    david
    1. 
        
    2. docs/manual/extending/actions.rst (Diff revision 3)
       
       
       
       
       
       
       
       
      Show all issues

      Can we say here that if this is not specified, it will render on all pages that contain the attachment point?

    3. docs/manual/extending/actions.rst (Diff revision 3)
       
       
       
      Show all issues

      This is missing required items like action_id. Could either add those or use ... like you do in some of the other examples.

    4. docs/manual/extending/actions.rst (Diff revision 3)
       
       
       
      Show all issues

      This reads a little bit weird, especially since the example is down lower.

      Can we move the example above the variable list?

      1. I was jumping around too much writing this.

    5. docs/manual/extending/actions.rst (Diff revision 3)
       
       
       
      Show all issues

      Should we also mention REVIEW_REQUEST_LEFT?

    6. docs/manual/extending/actions.rst (Diff revision 3)
       
       
       
      Show all issues

      Most other places that you're listing action IDs they use double quotes.

    7. docs/manual/extending/index.rst (Diff revision 3)
       
       
      Show all issues

      Shouldn't this just be "actions"? (alternatively, move the file into the extensions directory).

      1. Huh, extensions/actions is where I thought I had it. Fixing.

    8. 
        
    chipx86
    david
    1. Ship It!
    2. 
        
    chipx86
    Review request changed
    Status:
    Completed
    Change Summary:
    Pushed to release-8.x (47acafb)