Martyn Houghton Posted March 10, 2021 Share Posted March 10, 2021 Related to the forum post below, we are have to call the 'getCatalog' API call in order to obtain the catalog specific BPM Name, however this call fails reporting no access allowed, unless I give the integration user admin/super user roles. Can you confirm the minimum permissions needed for the 'getCatalog' API call to be able to return the details successfully? Cheers Martyn Link to comment Share on other sites More sharing options...
Guest Ehsan Posted March 15, 2021 Share Posted March 15, 2021 Hi @Martyn Houghton, Could you please help me understand why the role 'Hornbill Service Manager Integrations' cannot be used within the integration? Ehsan Link to comment Share on other sites More sharing options...
Guest Ehsan Posted March 15, 2021 Share Posted March 15, 2021 @Martyn Houghton, Could you please share the error that is presented to you in response? I can invoke this API https://api.hornbill.com/apps/com.hornbill.servicemanager/Catalogs?op=getCatalogs with a user who is assigned the "Services Manager" role, withstanding my previous question about the reason behind not using the role that is intended for integrations. Ehsan Link to comment Share on other sites More sharing options...
Martyn Houghton Posted March 15, 2021 Author Share Posted March 15, 2021 @Ehsan I have forgot about the "Hornbill Service Manager Integrations" role, so have assigned this and will retest. We did try with it with the 'Services Manager' role but got the same not allowed result back. Cheers Martyn Link to comment Share on other sites More sharing options...
Guest Ehsan Posted March 15, 2021 Share Posted March 15, 2021 @Martyn Houghton, Great to hear. Let us know if you are still having problems with the API; it would be good to see the API response in full as I couldn't recreate the issue. Ehsan Link to comment Share on other sites More sharing options...
Martyn Houghton Posted March 15, 2021 Author Share Posted March 15, 2021 @Ehsan We have applied the integration role to the user and removed the other super user roles. The permission issue has now returned, with the following message content being returned. <?xml version="1.0" encoding="utf-8" ?> <methodCallResult status="ok"> <params> <catalogData>[]</catalogData> <catalogCount>0.000000</catalogCount> <error>notAllowedToAccess</error> </params> <flowCodeDebugState> <step>54c3f247-2137-45b5-b2c2-98a9d351e5b3</step> <executionId>3905b840-1ef0-4bb5-9d9f-9833aa2d820e</executionId> </flowCodeDebugState> </methodCallResult> User authenticated by API Key has the following permissions Cheers Martyn Link to comment Share on other sites More sharing options...
Guest Ehsan Posted March 15, 2021 Share Posted March 15, 2021 @Martyn Houghton, The error suggests that the user is not subscribed to the service. Would you be able to subscribe the integration user to the service? Ehsan Link to comment Share on other sites More sharing options...
Martyn Houghton Posted March 15, 2021 Author Share Posted March 15, 2021 @Ehsan The integration user is a member of the supporting team for all the services. It is able to log requests without issues as member of the supporting team under the names of external contacts who are subscribers to the service. I will add it as a subscriber to the services as well to see it that works. Cheers Martyn Link to comment Share on other sites More sharing options...
Martyn Houghton Posted March 15, 2021 Author Share Posted March 15, 2021 @Ehsan Still get the same permission error even after adding the integration user as a subscribe explicity. Cheers Martyn Link to comment Share on other sites More sharing options...
Guest Ehsan Posted March 15, 2021 Share Posted March 15, 2021 @Martyn Houghton, I will have a look again, worked OK on my instance against a user with an un-restricted view to the service. I will get back to you on this. Ehsan Link to comment Share on other sites More sharing options...
Martyn Houghton Posted March 16, 2021 Author Share Posted March 16, 2021 @Ehsan Service Access is open, though the Service does have an owner. Cheers Martyn Link to comment Share on other sites More sharing options...
Guest Ehsan Posted March 16, 2021 Share Posted March 16, 2021 @Martyn Houghton, Having looked into it, without diagnosing the set up on your instance, I can't point out any obvious missing steps. The user should have access to the service, provided that they are supporting the service. When invoking the API, have you set the "serviceId" input parameter? Have you tried it again since yesterday, to confirm that there were no caching issue? Alternatively you could use the Integration role to invoke the API below to get the information you need. Please note that the value for h_request_catalog_id should be the Catalog Id and the value for h_service_id is the Service Id. <methodCall service="data" method="entityBrowseRecords2"> <params> <application>com.hornbill.servicemanager</application> <entity>Catalogs</entity> <matchScope>all</matchScope> <searchFilter> <column>h_request_catalog_id</column> <value>769</value> </searchFilter> <searchFilter> <column>h_service_id</column> <value>1</value> </searchFilter> <searchFilter> <column>h_language</column> <value>default</value> </searchFilter> </params> </methodCall> Ehsan Link to comment Share on other sites More sharing options...
Martyn Houghton Posted March 17, 2021 Author Share Posted March 17, 2021 @Ehsan I have removed the super user role, as we had put it back so we could get on with our testing. I have provided an API key via the support incident IN00166612, so that you can replicate against our instance logging in as the same integration user. Cheers Martyn Link to comment Share on other sites More sharing options...
Guest Ehsan Posted March 17, 2021 Share Posted March 17, 2021 Hi @Martyn Houghton, Thank you for generating an API Key to help me investigate the issue you are experiencing with the integration. The user that you provided an API Key for is not assigned to any teams, hence the user is not supporting the service in question. Perhaps you could create an Integration team, assign the user to this team and add to the supporting teams of the service? Ehsan Link to comment Share on other sites More sharing options...
Martyn Houghton Posted March 17, 2021 Author Share Posted March 17, 2021 @Ehsan Thanks, we just testing now after adding the integration user to the team but setting it as not assignable tickets in Service Manager Configuration. I will let you know. Cheers Martyn Link to comment Share on other sites More sharing options...
Martyn Houghton Posted March 17, 2021 Author Share Posted March 17, 2021 @Ehsan The team membership change has resolved the issue. Thanks again. Cheers Martyn Link to comment Share on other sites More sharing options...
Guest Ehsan Posted March 18, 2021 Share Posted March 18, 2021 That's great to hear @Martyn Houghton. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now