*M.N.F. Dilhasha*
Software Engineering Intern | *WSO2 Lanka*

email   :
*[email protected] <[email protected]>*mobile : +94 77 8449321

---------- Forwarded message ----------
From: Fathima Dilhasha <[email protected]>
Date: Mon, Mar 2, 2015 at 10:36 AM
Subject: Re: Fwd: [Architecture] [AppFactory] Integrating JIRA for projects
on WSO2 Cloud
To: Dimuthu Leelarathne <[email protected]>


Hi,

I searched on how a project can be created on JIRA when app creation is
triggered in App Factory.(More accurately, if a user chooses to create a
JIRA project for his Application )

These are the available approaches for creating a new project in JIRA
remotely.

 (REST API [1]  for JIRA does not support project creation as of now)

1. Using JIRA Soap Remote API [2]
2. Creating a REST Service plugin [3]

I went through the documentation for both approaches and I decide to select
2nd Approach, due to following reasons.

   - SOAP API is deprecated from JIRA 6.0.0,
   - REST Service plugin would allow exposing a REST service for project
   creation which can be replaced from a REST API call once JIRA supports it.

I highly appreciate your views on the above approaches or any other
approach I might have missed out.

[1] https://docs.atlassian.com/jira/REST/ondemand/#d2e2331
[2]
https://developer.atlassian.com/jiradev/api-reference/deprecated-jira-rpc-services/creating-a-jira-soap-client
[3]
https://developer.atlassian.com/docs/atlassian-platform-common-components/rest-api-development/developing-a-rest-service-plugin

Thanks,
Dilhasha

*M.N.F. Dilhasha*
Software Engineering Intern | *WSO2 Lanka*

email   :
*[email protected] <[email protected]>*mobile : +94 77 8449321

On Sun, Mar 1, 2015 at 11:33 AM, Fathima Dilhasha <[email protected]> wrote:

> Hi Dimuthu,
>
> Thanks for pointing what I've missed out. I'll keep those in mind.
>
> Thanks,
> Regards,
> Dilhasha
>
> *M.N.F. Dilhasha*
> Software Engineering Intern | *WSO2 Lanka*
>
> email   :
> *[email protected] <[email protected]>*mobile : +94 77 8449321
>
> On Sat, Feb 28, 2015 at 9:11 PM, Dimuthu Leelarathne <[email protected]>
> wrote:
>
>> Hi Fathima,
>>
>> Some points that you have missed from f2f discussion about a week ago are
>> thatt is not tenant specific rather it is app-specific. And as Dmitry also
>> highlighted project could be there. Actually project should NOT be created
>> at app creation time as from our wireframes.
>>
>>
>> thanks,
>> dimuthu
>>
>> On Sat, Feb 28, 2015 at 7:35 AM, Anuruddha Premalal <[email protected]>
>> wrote:
>>
>>> Hi Dmitry,
>>>
>>> Agree with your point. We need a more extensible,configurable way of
>>> adding resources(addons) to a project, which allows users to configure
>>> particular resource(Jira,Version control, Database..) at any stage of
>>> development. This was discussed in the pre-prodcut council as the addon
>>> concept.
>>>
>>> IMO we should have that concept integrated with AF-platform to support
>>> this level of flexibility.
>>>
>>> On Fri, Feb 27, 2015 at 11:55 PM, Dmitry Sotnikov <[email protected]>
>>> wrote:
>>>
>>>> What happens if they already have a JIRA project? E.g. they have an
>>>> existing project and are using JIRA, and then decide to start using AF.
>>>> They can import the source code - e.g. from Github - but for JIRA they
>>>> would have to start from scratch?
>>>>
>>>> This might be a bit of an edge case that we can address later. I am not
>>>> sure how many users will want that. But for sure something to keep in mind
>>>> and implement at some point in the future.
>>>>
>>>> Dmitry
>>>>
>>>> On Fri, Feb 27, 2015 at 4:18 AM, Fathima Dilhasha <[email protected]>
>>>> wrote:
>>>>
>>>>> I had a meeting with Anuruddha regarding $subject and following were
>>>>> discussed.
>>>>>
>>>>> 1. Create a project on JIRA when user creates a project on appfactory.
>>>>> (Evaluate the best way to do it either via Soap or by writing a REST API
>>>>> plugin)
>>>>>
>>>>> 2. Create a class diagram for the component dealing with issue
>>>>> tracking (org.wso2.carbon.appfactory.issuetracking) and extend it to add
>>>>> JIRA issue connector as well
>>>>>
>>>>> 3. "IssueTrackerConnector" class needs to be replaced with an
>>>>> interface, which decides on the implementation depending on particular
>>>>> issue tracker type (default, jira, ..etc) selected by the user
>>>>>
>>>>> 4. Currently, the issue tracker connector configurations are loaded
>>>>> from appfactory.xml. But this is not suitable for the cloud since this
>>>>> restricts all the tenants to same set of issue trackers, repositories etc.
>>>>> This needs to be changed to allow storing tenant specific preferences
>>>>> to a database and load configurations from database in future.
>>>>>
>>>>> Please give your opinions regarding above suggestions.
>>>>>
>>>>> Thanks.
>>>>>
>>>>> Regards,
>>>>> Dilhasha
>>>>>
>>>>>
>>>>>
>>>>> *M.N.F. Dilhasha*
>>>>> Software Engineering Intern | *WSO2 Lanka*
>>>>>
>>>>> email   :
>>>>> *[email protected] <[email protected]>*mobile : +94 77 8449321
>>>>>
>>>>> On Wed, Feb 18, 2015 at 10:08 AM, Fathima Dilhasha <[email protected]>
>>>>> wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> Thanks Dimuthu. I'll have a look.
>>>>>>
>>>>>> Regards,
>>>>>> Dilhasha
>>>>>>
>>>>>> *M.N.F. Dilhasha*
>>>>>> Software Engineering Intern | *WSO2 Lanka*
>>>>>>
>>>>>> email   :
>>>>>> *[email protected] <[email protected]>*mobile : +94 77 8449321
>>>>>>
>>>>>> On Wed, Feb 18, 2015 at 9:02 AM, Dimuthu Leelarathne <
>>>>>> [email protected]> wrote:
>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> I suggested to shift focus to self service mode for configuring JIRA
>>>>>>> because I believe that is more Cloud friendly. But architecturally we
>>>>>>> should have proper class structure to make it reusable.
>>>>>>>
>>>>>>> Please take a look at OSLC spec as well.
>>>>>>>
>>>>>>> Thanks,
>>>>>>> Dimuthu
>>>>>>> On Feb 18, 2015 7:26 AM, "Fathima Dilhasha" <[email protected]>
>>>>>>> wrote:
>>>>>>>
>>>>>>>>
>>>>>>>> *M.N.F. Dilhasha*
>>>>>>>> Software Engineering Intern | *WSO2 Lanka*
>>>>>>>>
>>>>>>>> email   :
>>>>>>>> *[email protected] <[email protected]>*mobile : +94 77 8449321
>>>>>>>>
>>>>>>>> ---------- Forwarded message ----------
>>>>>>>> From: Fathima Dilhasha <[email protected]>
>>>>>>>> Date: Wed, Feb 18, 2015 at 7:25 AM
>>>>>>>> Subject: Re: [Architecture] [AppFactory] Integrating JIRA for
>>>>>>>> projects on WSO2 Cloud
>>>>>>>> To: Dmitry Sotnikov <[email protected]>
>>>>>>>>
>>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> Thanks for the feedback Dmitry.
>>>>>>>>
>>>>>>>> Yeah we would need to synchronize version numbers and branch
>>>>>>>> labels. The existing issue tracker gives that option when user creates 
>>>>>>>> an
>>>>>>>> issue. We can allow the same feature for JIRA issues.
>>>>>>>>
>>>>>>>> Dimuthu also pointed that we should give user the option to
>>>>>>>> configure JIRA or use the existing issue tracker. When he configures he
>>>>>>>> would be able to pull in data from an existing JIRA project or we can
>>>>>>>> create a new JIRA project for him.
>>>>>>>>
>>>>>>>> AFAIK, JIRA  supports access via OAuth. So, we should be able to
>>>>>>>> pull data.
>>>>>>>>
>>>>>>>> Thanks.
>>>>>>>>
>>>>>>>> Dilhasha
>>>>>>>>
>>>>>>>> *M.N.F. Dilhasha*
>>>>>>>> Software Engineering Intern | *WSO2 Lanka*
>>>>>>>>
>>>>>>>> email   :
>>>>>>>> *[email protected] <[email protected]>*mobile : +94 77 8449321
>>>>>>>>
>>>>>>>> On Wed, Feb 18, 2015 at 5:40 AM, Dmitry Sotnikov <[email protected]>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> Would also need to synchronize version numbers in JIRA with Branch
>>>>>>>>> labels in AF, right?
>>>>>>>>>
>>>>>>>>> Plus, pull in stats on the number of issues, and either pull in
>>>>>>>>> data on JIRAs and render inside AF or find another way to "embed" 
>>>>>>>>> JIRA. Not
>>>>>>>>> sure if it possible to do any sort of federation/SSO.
>>>>>>>>>
>>>>>>>>> Dmitry
>>>>>>>>>
>>>>>>>>> On Mon, Feb 16, 2015 at 11:09 PM, Fathima Dilhasha <
>>>>>>>>> [email protected]> wrote:
>>>>>>>>>
>>>>>>>>>> Hi everyone,
>>>>>>>>>>
>>>>>>>>>> Please give your opinions on the following features for the first
>>>>>>>>>> cut.
>>>>>>>>>>
>>>>>>>>>> *Basic requirements :*
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>    - When a project is created on cloud, a project is created on
>>>>>>>>>>    the JIRA instance.
>>>>>>>>>>    - Anyone who has access to the project gets access to above
>>>>>>>>>>    project on JIRA
>>>>>>>>>>    - Owner of the application can restrict selected users from
>>>>>>>>>>    accessing the JIRA issues related to the project
>>>>>>>>>>    - When the project is deleted from cloud, the related project
>>>>>>>>>>    on JIRA needs to be deleted
>>>>>>>>>>
>>>>>>>>>> Regards,
>>>>>>>>>> Dilhasha
>>>>>>>>>>
>>>>>>>>>> *M.N.F. Dilhasha*
>>>>>>>>>> Software Engineering Intern | *WSO2 Lanka*
>>>>>>>>>>
>>>>>>>>>> email   :
>>>>>>>>>> *[email protected] <[email protected]>*mobile : +94 77 8449321
>>>>>>>>>>
>>>>>>>>>> On Tue, Feb 17, 2015 at 12:34 PM, Fathima Dilhasha <
>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>
>>>>>>>>>>> Hi Rajeevan,
>>>>>>>>>>>
>>>>>>>>>>> Thanks for the valuable feedback. I'll go through the code and
>>>>>>>>>>> see.
>>>>>>>>>>>
>>>>>>>>>>> Regards,
>>>>>>>>>>> Dilhasha
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> *M.N.F. Dilhasha*
>>>>>>>>>>> Software Engineering Intern | *WSO2 Lanka*
>>>>>>>>>>>
>>>>>>>>>>> email   :
>>>>>>>>>>> *[email protected] <[email protected]>*mobile : +94 77 8449321
>>>>>>>>>>>
>>>>>>>>>>> On Tue, Feb 17, 2015 at 11:48 AM, Aiyadurai Rajeevan <
>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Hi Dilasha,
>>>>>>>>>>>>
>>>>>>>>>>>> +1 for the proposal.
>>>>>>>>>>>>
>>>>>>>>>>>> IMO, Addition to the above architecture you might have to think
>>>>>>>>>>>> about how you are going to give access to the team for a created 
>>>>>>>>>>>> project in
>>>>>>>>>>>> Jira. As you aware the app owner/admin can invite team members. So,
>>>>>>>>>>>> Eventually those team members should get the access to that 
>>>>>>>>>>>> application.
>>>>>>>>>>>>
>>>>>>>>>>>> And you shall obviously think about below tasks.
>>>>>>>>>>>>     1. Deleting an application from Jira
>>>>>>>>>>>>     2. Removing the team members from Jira for an App
>>>>>>>>>>>>
>>>>>>>>>>>> Below [1] code would help for app creation.
>>>>>>>>>>>>
>>>>>>>>>>>> https://bitbucket.org/doklovic_atlassian/atlassian-beer-supply/src/master/src/main/java/com/example/beersupply/components/BeerSupplyProjectCreator.java?at=master
>>>>>>>>>>>>
>>>>>>>>>>>> Thanks & Regards,
>>>>>>>>>>>> S.A.Rajeevan
>>>>>>>>>>>> Software Engineer WSO2 Inc
>>>>>>>>>>>> E-Mail: [email protected] | Mobile : +94776411636
>>>>>>>>>>>>
>>>>>>>>>>>> On Tue, Feb 17, 2015 at 7:47 AM, Fathima Dilhasha <
>>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Hi,
>>>>>>>>>>>>>
>>>>>>>>>>>>> Following is what I have figured out so far regarding $Subject.
>>>>>>>>>>>>>
>>>>>>>>>>>>> REST API for JIRA [1] can be used to get any data related to a
>>>>>>>>>>>>> JIRA instance. I tried creating a JIRA account on cloud and 
>>>>>>>>>>>>> accessed it via
>>>>>>>>>>>>> REST API call using Curl from terminal. I tried for a local 
>>>>>>>>>>>>> instance of
>>>>>>>>>>>>> JIRA as well.
>>>>>>>>>>>>>
>>>>>>>>>>>>> These API calls successfully returned results in JSON format,
>>>>>>>>>>>>> which can be used to render the relevant data.
>>>>>>>>>>>>>
>>>>>>>>>>>>> *For example:*
>>>>>>>>>>>>>
>>>>>>>>>>>>> API call to get all the dashboards available in my JIRA
>>>>>>>>>>>>> instance, returned a JSON object which included URLs of each 
>>>>>>>>>>>>> dashboard.
>>>>>>>>>>>>>
>>>>>>>>>>>>> So the dashboards can be rendered using the URL.
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> *Next Steps:*
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>    - Figure out how to create a project in JIRA, when user
>>>>>>>>>>>>>    creates a project on the cloud. (I think I can use a similar 
>>>>>>>>>>>>> aproach as
>>>>>>>>>>>>>    creation of git repository)
>>>>>>>>>>>>>    - Access REST API via java or JavaScript to get relevant
>>>>>>>>>>>>>    details
>>>>>>>>>>>>>    - Test all the functionality against a test jaggery app
>>>>>>>>>>>>>    (or a java project)
>>>>>>>>>>>>>    - Port that functionality into appmgt
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> I highly appreciate your feedback on this approach or
>>>>>>>>>>>>> suggestions on a better approach.
>>>>>>>>>>>>>
>>>>>>>>>>>>> [1]  https://docs.atlassian.com/jira/REST/latest/#d2e86
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Thanks.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Dilhasha
>>>>>>>>>>>>>
>>>>>>>>>>>>> *M.N.F. Dilhasha*
>>>>>>>>>>>>> Software Engineering Intern | *WSO2 Lanka*
>>>>>>>>>>>>>
>>>>>>>>>>>>> email   :
>>>>>>>>>>>>> *[email protected] <[email protected]>*mobile : +94 77 8449321
>>>>>>>>>>>>>
>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>> Architecture mailing list
>>>>>>>>>>>>> [email protected]
>>>>>>>>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>> Architecture mailing list
>>>>>>>>>>>> [email protected]
>>>>>>>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Dmitry Sotnikov
>>>>>>>>> VP of Cloud; WSO2, Inc.;  http://wso2.com/
>>>>>>>>> email: [email protected]; cell: +1.949.303.9653; Skype: DSotnikov
>>>>>>>>> Lean . Enterprise . Middleware
>>>>>>>>>
>>>>>>>>> <http://wso2.com/events/>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Dmitry Sotnikov
>>>> VP of Cloud; WSO2, Inc.;  http://wso2.com/
>>>> email: [email protected]; cell: +1.949.303.9653; Skype: DSotnikov
>>>> Lean . Enterprise . Middleware
>>>>
>>>> <http://wso2.com/events/>
>>>>
>>>
>>>
>>>
>>> --
>>> *Anuruddha Premalal*
>>> Software Eng. | WSO2 Inc.
>>> Mobile : +94710461070
>>> Web site : www.regilandvalley.com
>>>
>>>
>>
>>
>> --
>> Dimuthu Leelarathne
>> Architect & Product Lead of App Factory
>>
>> WSO2, Inc. (http://wso2.com)
>> email: [email protected]
>> Mobile : 0773661935
>>
>> Lean . Enterprise . Middleware
>>
>
>
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to