[ 
https://issues.apache.org/jira/browse/STORM-321?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14057979#comment-14057979
 ] 

ASF GitHub Bot commented on STORM-321:
--------------------------------------

Github user d2r commented on a diff in the pull request:

    https://github.com/apache/incubator-storm/pull/116#discussion_r14794451
  
    --- Diff: dev-tools/jira-github-join.py ---
    @@ -0,0 +1,74 @@
    +#!/usr/bin/python
    +# -*- coding: utf-8 -*-
    +#  Licensed under the Apache License, Version 2.0 (the "License");
    +#  you may not use this file except in compliance with the License.
    +#  You may obtain a copy of the License at
    +#
    +#    http://www.apache.org/licenses/LICENSE-2.0
    +#
    +#  Unless required by applicable law or agreed to in writing, software
    +#  distributed under the License is distributed on an "AS IS" BASIS,
    +#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +#  See the License for the specific language governing permissions and
    +#  limitations under the License.
    +
    +from jira import JiraRepo
    +from github import GitHub, mstr
    +import re
    +from optparse import OptionParser
    +from datetime import datetime
    +
    +def daydiff(a, b):
    +   return (a - b).days
    +
    +def main():
    +   parser = OptionParser(usage="usage: %prog [options]")
    +   parser.add_option("-g", "--github-user", dest="gituser",
    +                   type="string", help="github user, if not supplied no 
auth is used", metavar="USER")
    +   
    +   (options, args) = parser.parse_args()
    +   
    +   jrepo = JiraRepo("https://issues.apache.org/jira/rest/api/2";)
    +   github = GitHub(options)
    +   
    +   openPullRequests = github.openPulls("apache","incubator-storm")
    +   stormJiraNumber = re.compile("STORM-[0-9]+")
    +   openJiras = jrepo.openJiras("STORM")
    +   
    +   jira2Pulls = {}
    +   pullWithoutJira = []
    +   pullWithBadJira = []
    +   
    +   for pull in openPullRequests:
    +           found = stormJiraNumber.search(pull.title())
    +           if found:
    +                   jiraNum = found.group(0)
    +                   if not (jiraNum in openJiras):
    +                           pullWithBadJira.append(pull)
    +                   else:
    +                           if jira2Pulls.get(jiraNum) == None:
    +                                   jira2Pulls[jiraNum] = []
    +                           jira2Pulls[jiraNum].append(pull)
    +           else:
    +                   pullWithoutJira.append(pull);
    +   
    +   now = datetime.utcnow()
    +   print "Pull requests that need a JIRA:"
    +   for pull in pullWithoutJira:
    +           print ("%s\t%s\t%s\t%s"%(pull.html_url(), pull.title(), 
daydiff(now, pull.created_at()), daydiff(now, 
pull.updated_at()))).encode("UTF-8")
    +   
    +   print "\nPull with bad JIRA:"
    +   for pull in pullWithBadJira:
    +           print ("%s\t%s\t%s\t%s"%(pull.html_url(), pull.title(), 
daydiff(now, pull.created_at()), daydiff(now, 
pull.updated_at()))).encode("UTF-8")
    +   
    +   print "\nOpen JIRA to Pull Requests and Votes:"
    +   for key, value in jira2Pulls.items():
    +           print ("%s\t%s\t%s\t%s\t%s"%(key, 
mstr(value),openJiras[key].getSummary(), daydiff(now, 
openJiras[key].getCreated()), daydiff(now, 
value[0].created_at()))).encode("UTF-8")
    --- End diff --
    
    On second thought, it would be nice to use `updated_at` instead of or in 
addition to `created_at` for the last column here.  This way we can sort by 
staleness.


> No easy way to see JIRA ready for review
> ----------------------------------------
>
>                 Key: STORM-321
>                 URL: https://issues.apache.org/jira/browse/STORM-321
>             Project: Apache Storm (Incubating)
>          Issue Type: Improvement
>            Reporter: Robert Joseph Evans
>            Assignee: Robert Joseph Evans
>
> For many other projects the state of the JIRA is used to indicate that it is 
> ready for review, for storm it really is if it has a pull request open 
> against it or not.  Also knowing which pull requests need to be reviewed can 
> also be a pain.
> I propose a script that allows us to see these things using both github and 
> JIRA rest APIs.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to