Integrating PhpStorm and the Drupal.org Issue Queue

    PhpStorm 6.0 came out yesterday, and it's very very nice. One of the cool new features is that it can connect to what it calls a "Generic" task server. This is for services that Jetbrains has not built service-specific integration for yet. Drupal.org definitely falls into this category. So without further adieu, I present the holy grail of IDE integration:

    Task list

    Now, this isn't perfect. It will have to be configured on a per-project basis, and it's essentially just string-parsing the output of the issue queue search on Drupal.org. This is what I get for not wanting to write a Java extension!

    Configuration instructions:

    1. Open a project in PhpStorm
    2. Open the PhpStorm settings and navigate to Tasks -> Servers.
    3. Add a new Generic task server
    4. Make each of the configuration tabs look as follows:

    General settings

    Commit message settings

    Additional settings

    For copy pasting, here's the task list URL (note that you should copy/paste the {serverUrl} part - it is included in that textbox):

    {serverUrl}/project/issues/search/[PROJECT SHORTNAME]?assigned=[YOUR DRUPAL.ORG USERNAME]&status%5B%5D=1&status%5B%5D=13&status%5B%5D=8&status%5B%5D=14

    and here's the regex:

    <td class="views-field views-field-title">\s*<a href="/node/({id}.+?)">({summary}.+?)</a>

    Note that you'll have to add an additional task server for each project that you want to display issues for (for instance, if you wanted to display tasks for Drupal core and for Views, you'd have to have two task servers). The reason for this is that the global issues advanced search (/project/issues/search) is only available to authenticated users on Drupal.org. We don't have a way to authenticate through PhpStorm, so we're kind of limited to resources available to anonymous users.

    Note that the above configuration will only display issues that are assigned to you. If you want more issues than that, you can set up the issue queue search on Drupal.org how you like it and paste the URL into the task list URL field in PhpStorm.

    Comments

    Vitaly's picture
     

    Vitaly (not verified) says:

    You should repost this on one of the drupal.org's handbooks!

    cweagans's picture
     

    cweagans says:

    Good call! I've added a link to this page: http://drupal.org/node/147789 (It's right above the "SQL & Database tools" header)

    greg.1.anderson's picture
     

    greg.1.anderson (not verified) says:

    Cool integration. If PhpStorm allows you to define custom commands, and if those commands have access to the current task title, then you could use the Drush issue queue command (http://drupal.org/project/drush_iq) to add an "apply patch from current issue" button to your IDE. Now wouldn't that be nifty?

    cweagans's picture
     

    cweagans says:

    That's a pretty awesome idea. I've been toying with the idea of writing a custom integration module for PhpStorm for a while, and that'd be a great feature to include.

    nod_'s picture
     

    nod_ (not verified) says:

    Brilliant.

    fndtn357's picture
     

    fndtn357 (not verified) says:

    thank you in a big way.

    Chris Weber's picture
     

    Chris Weber (not verified) says:

    How do you open the task viewer? that first prompt you have open?

    cweagans's picture
     

    cweagans says:

    http://take.ms/RTwJ2

    Tools -> Tasks & Contexts -> Open Task

    rbayliss's picture
     

    rbayliss (not verified) says:

    This is amazing. Thanks!

    screencloud.net's picture
     

    screencloud.net (not verified) says:

    screencloud.net looks down, so i can't see the images :-(

    donquixote's picture
     

    donquixote (not verified) says:

    me too.. no images.

    pcambra's picture
     

    pcambra (not verified) says:

    Amazing, you could use:
    {serverUrl}/project/issues/search?assigned=[YOUR DRUPAL.ORG USERNAME]&status[]=1&status[]=13&status[]=8&status[]=14

    For all projects.

    cweagans's picture
     

    cweagans says:

    Sadly, you can't. /project/issues/search is locked down to authenticated users only on Drupal.org.

    Anonymous Coward's picture
     

    Anonymous Coward (not verified) says:

    "This is what I get for not wanting to write a Java extension!" - lazy you))
    Do you need help in writing a Java extension?
    _________________
    William - CARiD

    cweagans's picture
     

    cweagans says:

    Haha. Not so much laziness...I just don't like writing Java. I despise that language. As such, I probably would not be interested in writing the Java extension myself, but I'd be happy to provide direction or testing if you want to write it and open source it :)

    Add new comment

    Filtered HTML

    • Web page addresses and e-mail addresses turn into links automatically.
    • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
    • Lines and paragraphs break automatically.

    Plain text

    • No HTML tags allowed.
    • Web page addresses and e-mail addresses turn into links automatically.
    • Lines and paragraphs break automatically.
    By submitting this form, you accept the Mollom privacy policy.