Mantis Integration into Pivotal Tracker - mantis

Guide me how to integrate the Mantis application into the Pivotal Tracker, as of now we bought the license for Pivotal Tracker and from the beginning we are used Mantis application, so now we planned to integrate the Mantis into Pivotal to mapping the defect against the user story

MantisBT comes with a SOAP API enabled, see MantisBT SOAP API. This is the main entry point for integrating with MantisBT.
It's also possible to query the database directly, but it's not recommended as the SOAP API properly enforces access controls, isolates you from schema changes and represents the data in a consistent manner.

Related

Acumatica report authoring and single sign-on

Our users authenticate to Acumatica using OAuth2-based SSO with Google as the identity provider. They do not have passwords to access the system (we generate very long, strong passwords which are discarded as soon as SSO is set up).
I don't want to go into all the reasons why SSO is important to us. It's critical, and I'll leave it at that. SSO was a policy and business requirement for us to select Acumatica.
The Report Designer doesn't seem to support OAuth2.
Is there a way we can give users the ability to download the RPX files via the browser, edit them outside the browser, and then upload the changes via the browser, using only SSO credentials?
Also, where can I get the source code to Report Designer? I'd love to see if I can add OAuth2 support myself.
There are 2 types of report in Acumatica:
Standard Reports
Analytical Reports
The links above describe how you can customize these reports using Acumatica Cloud ERP.
You can notice that standard reports have the following limited customization possibility using Cloud ERP:
You can adjust the report settings to meet your specific informational
needs. For example, you can specify sorting and filtering options and
select the data by using report-specific settings—such as financial
period, ledger, and account. You can configure additional processing
settings for each report.
Analytical reports have more customization possibilities through Cloud ERP:
The Analytical Report Manager is a web-based tool for creating and
modifying analytical reports. Users can design and run custom
analytical reports using advanced data selection criteria, data
calculation rules, and customizable report layout design features. By
using the Analytical Report Manager, you can: Create the layout and
structure of reports based on your business requirements. Define data
selection criteria for the report with a high level of granularity.
For example, data sources can include a range of accounts,
subaccounts, and financial periods. Use advanced formulas to calculate
values based on the information extracted from the data source. Create
consolidated reports based on the data from multiple data sources or
other analytical reports. Localize data used by a report if
multilingual support of user input is enabled.
Acumatica marketing material shouldn't refer to the standard report editor (Windows Form Desktop Application) as part of the Cloud ERP product. The reason for this is quite simple, a Windows Desktop application is not a cloud product, it can't be accessed with a browser and is not supported on unix/apple OS.
Analytical reports designer support SSO OAuth since the designer is running on the Cloud ERP product.
Standard reports designer doesn't support OAuth. You could fill a feature request for it though. Our marketing material should not refer to standard report customization as part of the Cloud ERP product because the designer requirements are different.
We strive to make every feature available on Cloud ERP platform. At the moment these are the features not available on Cloud ERP to my knowledge:
Standard Report Editor
DeviceHub, this is a Windows program that acts like a device
spooler so you can access windows desktop hardware like printer
and scales from the Cloud ERP.
Login page customization, this can't be achieved through
Customization Project Editor, you have to change files manually on
the server.
From now on, I'll focus on the Standard Report Designer, the Windows Desktop Application.
The designer uses the Web Service API to communicate with Acumatica Database.
Besides loading and saving RPX files the report designer also uses the Web Service API for features in 'File->Build Schema' dialog like 'Load Schema'. If your user are not using the 'Build Schema' features then having only the RPX file locally should be enough to allow them to modify the report using the designer.
Code for loading and saving RPX files is located in PX.Reports.Design.ReportUtils class which is part of PX.Reports.Design.dll assembly. It's using the SOAP API which to my knowledge is not the preferred API to use OAuth, the REST Contract API is recommended for OAuth enabled Web Services. Refactoring the PX.Reports.Design.dll assembly to use REST Contract API instead of SOAP API isn't trivial.
That said I believe it's possible to load and save RPX files using the Rest API and you could write a wrapper for the report designer to handle that task as long as you forgo 'Build Schema' feature. I'll touch on that at the end of my answer.
You can find the documentation for using OAuth with Rest API here
There are two ways you can use Acumatica Web Service, attended or unattended.
Attended use requires a user to enter his credentials in some form of UI before using the web service. The report designer uses this form of authentication.
The alternative for unattended use is to configure and save the authentication credentials before using the web service. That way an automated program can use web service API without requiring a user sitting in front of the computer.
Unattended use typically doesn't involve OAuth because you can't have a user dedicated to the task of authenticating. For example, if you integrate Acumatica with an ecommerce provider, requiring him to use OAuth authorization to push the orders to Acumatica is problematic because that process usually doesn't involve a UI where a user sitting at the computer provide authorization.
You could technically create a OAuth access token that never (rarely) expires for this task but it circumvents the purpose of OAuth which is having temporary access tokens to mitigate man in the middle attacks. Certifications that mandates use of OAuth typically forbid use of tokens that never expire. That's why requesting OAuth for automated process can raise eyebrows and lead programmers to question your security policies.
Now let's get to possible solutions for your problem. You'll have to assess whether your security policies allows use of unattended web service without OAuth authorization. If that's the case then your job will be much easier. If not then you'll likely run into similar problems later on if dealing with third party web service integration for Acumatica is required.
In order to write a wrapper over the report designer you'll have to write a windows desktop application and have the '.RPS' file type associated with your wrapper instead of being associated with Acumatica report designer.
When a user clicks the EDIT REPORT button on the website, a '.RPS' text file is generated in memory on the server and the user browser is redirected to that file in order to download it locally. When the user clicks on the RPS file, windows launches the associated program (Acumatica report designer) and passes the RPS file path by command line parameter. The report designer then presents the authorization dialog where user can enter his credentials and the report RPX file is downloaded by the Web Service API.
Example of the content of an RPS file:
ServiceUrl|http://localhost/AcumaticaInstance/
ReportName|gl633000.rpx
User|admin
The idea is to have your wrapper parse this RPS file, download the associated RPX file using the Web Service API that comply with your security policy and then launch Acumatica report designer for this RPX file using command line parameter:
"c:\...\ReportDesigner.exe" "c:\...'gl633000.rpx"
When you launch the report designer you want to halt your main thread until the user closes the report designer. Framework methods that do this are typically named 'wait for exit'. Before closing the report designer the user would save the RPX file. After the designer is closed your main thread will resume and you can then re-upload that RPX file to Acumatica database using Web Service API.
The easy way would be to create a report designer user to use Web Service API in unattended mode. You could store those credentials locally (in encrypted form) wherever you see fit and never expose them in UI. When making Web Service call you decrypt those credentials on the fly. In such a scenario the asset to protect is the decryption key.
If use of attended web service is required for OAuth support you will need to implement a UI to get those credentials. If you have to use Google login page for entering the credentials you would have to include an embedded browser in your wrapper for that purpose.
As a remainder, note that this solution will enable you to modify the report definition in the RPX file but will not enable you to use report designer features that require web service API like 'Build Schema'.

Windows Forms Application with Microsoft Graph API functionality

I am interested in developing a Windows Forms application that periodically checks if my database has new entrances for a table that abstracts event scheduling.
If new events have been added to the database, my application should get those events and post them to the Office 365 Calendar.
I've been researching for a while and have not found a proper way to call Microsoft Graph API services from within a Windows Forms application.
Is it possible to do so?
There is a Microsoft Graph .Net Client Library available but you will first need to upgrade the version of .NET you're currently targeting to at least v4.5.
Alternatively, you can call into Microsoft Graph using either WebClient or HttpWebRequest. This will require you to construct all your calls and handle serialization/deserialization on your own however. You can find some additional details in this answer as well: HttpClient does not exist in .net 4.0: what can I do?
My guidance would be that unless you're very familiar with HTTP and Serialization, I would focus on upgrading your .NET target and use the SDK. Hand-crafting REST and OAUTH calls is typically not a very enjoyable experience.

Need clarification on QuickBooks Desktop integration with Sync Manager vs Web Connector

From what I understand, Intuit is no longer allowing proprietary integrations with QuickBooks Desktop editions through the Sync Manager and only allowing apps that are put into the marketplace. Is this really the case? If so, is there a timeline for when they will start allowing this? Also, it seems that the supported objects for desktop editions is way behind those supported for the online edition. Will these be available any time soon (I.e. reports such as balance sheet, profit/loss, budget, etc.)?
I ask because we have been using the web connector for a couple of years now and it is not built for the type of use we need. To be specific, we are a franchising company that has a hosted QB solution for each of our franchises. We then pull data and pass jobs to and from our proprietary POS application through the web connector. We run into all sorts of problems with multiple web connectors being open on the same system trying to connect to different files and a host of other issues. Because of this, we are hoping that a more reliable integration can be developed through the Sync Manager.
From what I understand, Intuit is no longer allowing proprietary integrations with QuickBooks Desktop editions through the Sync Manager and only allowing apps that are put into the marketplace. Is this really the case?
Correct. QBD integration with SM and V3/V2 REST endpoints are not supported.
Apps.com is the mainly the SaaS marketplace ( mainly focused on QBO).
No new integration using QBD V3 can be created.
Also, it seems that the supported objects for desktop editions is way behind those supported for the online edition. Will these be available any time soon (i.e. reports such as balance sheet, profit/loss, budget, etc.)?
V3 QBD APIs are already marked as deprecated. There will not be any development on this.
Ref - https://developer.intuit.com/docs/0025_quickbooksapi/0058_faq#Does_QuickBooks_API_support_QuickBooks_Desktop_and_QuickBooks_Online.3F
Please refer the following thread on similar topic.
Integrating with QB Desktop products
Thanks

Common api to develope for Quick books online and offile integration

some of our customers have Quick book online and some of our customers have quick book offline. i want to develop Quick book integration for both in common way. is there any api there to develop integration for both in common
Already answered your question over here:
Intuit Developer Forums
Use IPP (Intuit Partner Platform)/IDS (Intuit Data Services).
The APIs for each are very, very similar, but not identical. It basically involves HTTP POSTing data to Intuit's servers. The data is then either relayed directly into QuickBooks Online, or held for later syncing against QuickBooks desktop versions (by default, Intuit handles the sync against QuickBooks desktop every 5 minutes).
Authentication against Intuit's servers is via OAuth, or via SAML (OAuth is easy, and the encouraged method of integration).
Documentation for that is here:
Intuit Partner Platform documentation
Note that as of April 2012, the Intuit Partner Platform APIs are only available to SaaS applications (i.e. if you're developing a one-off/custom application that you're not going to resell, then you can't use this set of APIs- in that case look at the Web Connector/SDK instead).
If you're using PHP, grab a nightly build of the PHP DevKit here for example code and libraries:
QuickBooks PHP DevKit
Additional info:
Intuit Data Services v2 has two separate but similar services one for QuickBooks Online and One for QuickBooks for Windows.
Intuit has released 2 SDKs one in Java and one in .Net which make programming against both easier. There is a common model for data that exists in both, and then you can extend to use data in Online or Desktop if needed.
.Net SDK for Intuit Data Services 2.0
Java SDK for Intuit Data Services 2.0
Next: Intuit Data Services v3 (One service to rule them all)
v3 brings QuicKBooks Online and QB for Windows under one service.
As with v2 Intuit will also provide java and .Net SDK support for the Service.

Synchronize Issues in Mantis and in JIRA

We are moving from Mantis to JIRA and wish to keep Mantis alive for some time until the migration is complete and all the users are migrated.
All users (esp. the dev team) that have been migrated to JIRA shouldn't continue with Mantis (maybe deactivate accounts) and concentrate on JIRA alone.
Thus if a Mantis issue that was migrated to JIRA gets fixed/commented (in JIRA) the new status should be synchronized to the still existing Mantis issue.
And (if possible) new issues that are created in Mantis should be automatically be added to JIRA (if this is not possible then thats OK too)
Does anybody know of a tool or plugin that can do this?
I do not know any tool that does it, but in our company we have successfully implemented sync tool for Jira<->Footprints and Jira<->CRM. It would use Jira SOAP API (or REST starting from 5.0) and Mantis SOAP API. This tool can regularly check issues in both systems and update them accordingly.
Jira SOAP API - http://docs.atlassian.com/software/jira/docs/api/rpc-jira-plugin/latest/index.html?com/atlassian/jira/rpc/soap/JiraSoapService.html
Jira REST API - https://developer.atlassian.com/display/JIRADEV/JIRA+REST+APIs
you can implement your own sync using Jira's REST API as #Daria replied above, or you can use Task Adapter for manual data synchronization between Jira and Mantis.
Sorry I have no immediate answer, but we are developing an internal tool for exactly this purpose:
migrate existing issues from Mantis -> JIRA
ability to enter new issues in Mantis and have them synced to JIRA
activity in JIRA issues replicated back to Mantis
workflow disabled in Mantis (issues are slaved to JIRA state)
keep Mantis alive for N months while users are trained and migrated
It is using their SOAP and REST APis respectively.
If there is interest and it works well (looking really good at this stage) I will seek permission to open source it.

Resources