Jump to content

Jira Cloud (OnDemand) integration issues.


Murcho

Recommended Posts

I'm having some issues getting our team set up using Plastic SCM with our Jira OnDemand server.

I've followed the set up guides both here : http://blog.plasticscm.com/2013/01/plastic-scm-for-jira.html and here : http://blog.plasticscm.com/2014/03/jira-6-integration-improvement.html

The issue with OnDemand is that there is no way to create the jira-config.properties file mentioned in the second link above.  I've emailed Jira support about this and they said there is no way to do this using OnDemand and that I should get help from the Plastic developers about proper support for the OnDemand instances.

So the behaviour we experience is:

  • Jira tasks are pulled in (not the right ones but I detail that issue below) and can be selected in the "From Task" windows
  • Jira tasks are correctly linked when manually naming branches (e.g. JIRA-TASK-NBMV-57 when the Branch Prefix is "JIRA-TASK-" and the project id is NBMV)
  • When viewing issues in their branch in the Branch Explorer, the "Atlassian Jira Extension" section populates with information from the server correctly.
  • When performing a CheckIn, there is a pause for several seconds, followed by a warning pop up reading : "Unable to log checkin data into issue tracker: The remote server returned an error: (400) Bad Request

We would like to get the checkin warning sorted out and the data logging correctly in Jira.

There is also a massive oversight in not being able to define both a per repository Jira Project Key, and a custom search .  We work on lots of different projects for clients and frequently have to change Project Keys, especially as sometimes we jump between multiple projects in a single day.  The MULTIPLE_PROJECTS key isn't really a solution for this either, as this pulls in way too many issues to dig through, and we also have many historical tasks that are "Closed", not "Done" which all show up in the search as well, as I posted here:

We can currently change the number of issues pulled in with the search, but that isn't customisable enough. We really need the ability to change the issue status types it will return as well as the per repository project key.

Thanks for reading, and any help you can offer!

Link to comment
Share on other sites

Hi,

You are right, the  "jira-config.properties" is only possible to be created in a hosted JIRA server. This is an integration improvement we included some time ago but the basic functionalities should be properly working with JIRA OnDemand.

If you open the JIRA configuration panel, you will be able to configure different settings per repository (by default it's selected all repositories but you can edit all the fields per repository). The "MULTIPLE_PROJECTS" is used when you need to share a Plastic repository between different JIRA projects, but it doesn't prevent you to customize different JIRA parameters per Plastic repository.

Please let me know if it helps to workaround your issue.

If properly understand you, the current issue is to log the information during the checkin with the next error message:

"Unable to log checkin data into issue tracker: The remote server returned an error: (400) Bad Request" --> Have you already created and enabled the custom field in JIRA and also accepted the remote API calls?

https://www.plasticscm.com/documentation/extensions/plastic-scm-version-control-task-and-issue-tracking-guide.shtml#JIRA-Configuration

Best regards,

Carlos.

 

 

Link to comment
Share on other sites

Thanks for the speedy response!

In regards to the different setting per repository, I can now see that working.  It's a little bit confusing mainly due to the fact that it's part of the general settings panel which has app wide settings.  Might be worth considering splitting into a Plastic SCM preferences panel and a Repository preferences panel to make this clearer in the future.

I had already completed that guide, and I've just gone through it again to double check that I had completed it all.  The final part of the Jira Server Configuration section where it says to enable the Accept Remote API Calls setting is now out of date.  That option is no longer available in Jira from version 7.0, as per this bug report https://jira.atlassian.com/browse/JRA-44822?page=com.atlassian.jira.plugin.system.issuetabpanels%3Aall-tabpanel

I've tested that the Rest API route is correct, and I checked the field ID using https://ourserver.net/rest/api/2/field, and received this for my Plastic SCM field:

{
    "id": "customfield_11601",
    "key": "customfield_11601",
    "name": "Plastic SCM",
    "custom": true,
    "orderable": true,
    "navigable": true,
    "searchable": true,
    "clauseNames": [
      "cf[11601]",
      "Plastic SCM"
    ],
    "schema": {
      "type": "string",
      "custom": "com.atlassian.jira.plugin.system.customfieldtypes:textarea",
      "customId": 11601
    }
  }

Which is the custom field ID I've been putting into the setting panel (11601).

Do you have any other ideas on why this might be happening?

Thanks

Link to comment
Share on other sites

Hi,

Thanks for your feedback!

Can you please enable the "plastic.log.conf" file -> https://www.plasticscm.com/documentation/technical-articles/kb-enabling-logging-for-plastic-scm-part-i.html and send us the result log file?

Hopefully we'll be able to see the detailed request the plugin is trying to perform.

Now, you are not using "MULTIPLE_PROJECTS" but custom settings and project key per repository, right? 

Whats is your JIRA and Plastic SCM version?

Best regards,

Carlos.

Link to comment
Share on other sites

Hi,

Turns out I had already turned on the logging when trying to track this down previously.  I've performed one check in with the error message appearing so it should cover the issue.

The reason I assumed I needed the jira-config.properties file on the Jira server is because there is a line in the log file reading :

2017-01-09 09:25:49,674 ERROR jiraextensionrest - Could not get the property plastic.diffchangeset.url from the JIRA server: The remote server returned an error: (404) Not Found.
2017-01-09 09:25:51,744 ERROR jiraextensionrest - Could not get the property plastic.formatdata from the JIRA server: The remote server returned an error: (404) Not Found.

I am now set up with a project key per repository, and I made sure this was the case before making the commit with this log file.

As far as Jira version, we're using the OnDemand service which I think uses a slightly different versioning system.  When I query the about page it reports "JIRA v1000.670.2".

Plastic SCM version : 5.4.16.798 - Nirvana - Come As You Are

Thanks!

plastic20170109-09.log.txt

Link to comment
Share on other sites

Hi,

Have you created the custom field and entered the value in the preferences panel, right? 

https://www.plasticscm.com/documentation/extensions/plastic-scm-version-control-task-and-issue-tracking-guide.shtml#JIRAintegration

If the issue persists, please reach us at support at codicesoftware dot com and we can shecule a gotomeeting session.

Regards,

Carlos.

Link to comment
Share on other sites

  • 3 weeks later...

I added the field to one issue in a project and it seems to be working across issues in that project now, which is pretty odd behaviour.

I did have to enter some text into the field when adding it, otherwise it still didn't work, so there is a rnadom string of text at the start of the first field.

I'll have to keep an eye on exactly what works and get back to you, as I'm unsure whether this needs to be done per project now or whether this first addition has just fixed everything.

Link to comment
Share on other sites

We (well my colleague) put together a small cloud based plugin that now adds the field to all new issues for us.

If you'd like we can make the code available to the Plastic SCM team if you would like to turn it into a more feature complete plugin to release to the community.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...